Download Introduction of Week 2

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

SQL wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Concurrency control wikipedia , lookup

Oracle Database wikipedia , lookup

Entity–attribute–value model wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Database wikipedia , lookup

Functional Database Model wikipedia , lookup

Relational model wikipedia , lookup

Extensible Storage Engine wikipedia , lookup

Clusterpoint wikipedia , lookup

Database model wikipedia , lookup

Transcript
QUESTIONS ON BACKUP AND RECOVERY
3.
4.
ITEC 450
2.
What is the value of cold backup?
What's the difference between startup
and startup mount? When we do "alter
database open“, what does it mean?
What's the archive log function?
When I did 'alter database open', I still
get an error. But once I issued 'recover
database' and then 'alter database open‘,
everything works just fine. What
happens between these steps?
Fall 2012
1.
1
Fall 2012
ITEC 450
MODULE 4
DATABASE TUNING
2
Section 5 Optimization of Physical Design
TECHNIQUES FOR OPTIMIZING DATABASE
Fall 2012
Partitioning – breaking a single large table into
sections (partitions) stored in multiple files
 Raw versus file systems – OS-controlled file or
not
 Clustering – enforcing the physical sequence of
data on disk
 Free space and compression – storage
management
 File placement and allocation
 Page size (block size in Oracle) – using the proper
page size for efficient data storage and I/O

ITEC 450
3
PARTITIONING

Partitioning supports very large tables and indexes by decomposing
them into smaller and more manageable pieces called partitions.
SQL queries and
DML statements do
not need to be
modified in order to
access partitioned
tables
After partitions are
defined, DDL
statement can
access and
manipulate
individual partitions
if they choose to,
rather than entire
tables or indexes
ITEC 450

Fall 2012

4
RAW DEVICE VS. FILE SYSTEM


Raw device is a UNIX feature to bypass operating
system cache mechanism.
ITEC 450

Fall 2012

File system is a common way to manage storage.
Raw device might provide a slight performance
benefit, but the database storage management is
a nightmare.
Unless it is required by DBMS features, you
should avoid to implementing Raw Device.
5
CLUSTERING
Fall 2012
ITEC 450
Clustering is used to store one or more tables
physically together with the share common
columns and are often used together.
 Because related rows are physically stored
together, disk access time improves.
 Clustering usually is enforced by the DBMS with
a cluster index.
 Like indexes, clusters do not affect application
design. Data stored in a clustered table is
accessed by SQL in the same way as data stored
in a non-clustered table.
6
CLUSTERING EXAMPLE
Fall 2012
ITEC 450
7
FREE SPACE AND COMPRESSION
Fall 2012
 Free
ITEC 450
space – pre-allocate storage of
tablespace, tables and indexes to store newly
added data
In DDL statements, a parameter is PCTFREE
 Benefits and disadvantages are listed in the textbook

 Compression
– shrink the size of a database
Tables or indexes can be algorithmically compressed.
 The DMBS will handle the reading and writing
automatically.

8
FILE PLACEMENT AND ALLOCATION
Fall 2012
ITEC 450
A database is very I/O intensive, the location of the files can
be critical to database performance and recovery.
 Separate the indexes from the data – traditional approach
 Analyze the access patterns of your applications and
separate the files for tables/indexes that are frequently
accessed together
 Place transaction logs on a separate disk device from the
actual data, and spread out log members (redo01.log,
redo02.log, redo03.log) to different physical disk devices
 Place control files (control01.ctl, control02.ctl, control03.ctl)
like transaction logs to different physical disk devices. It’s
common to have control01.ctl shares the same device with
redo01.log, etc.
 Place archive logs on a complete separate disk device from
any database files
9
BLOCK SIZE
Fall 2012
ITEC 450
The block or page size is the smallest unit of I/O,
and used to store data records.
 The size selection is depending on record lengths
– small block size is good for small record length;
large block size is good for long record length
 Typical page size are 2K, 4K, 8K, 16K, and 32K.
 Common used sizes are 2K and 4K
 Data Warehouse or Data Mart applications use
8K, 16K or 32K.
 Oracle allows to specify block size on tablespace
level – tablespace for small row-size tables uses
2K, tablespace for large row-size tables uses 8K.
10
Fall 2012
ITEC 450
MODULE 4
DATABASE TUNING
11
Section 6 Storage Management
SPACE MANAGEMENT
Fall 2012
ITEC 450
As a DBA, you should track the following:
 Objects approaching an “out of space” condition
 Free space available – physical and logical
perspective
 Segment or partition size – understand large or
small tables
 Number of extents – less than hundreds
 Fragment usage information – performance
concern
 Amount of reserved space that is currently
unused – any waste situation
12
DATA PAGE LAYOUTS
ITEC 450
Row header – general row information, such as row length,
information on variable-length data
 Offset tables – pointers to manage and control for variablelength fields
 Row data – actual data for the row
Fall 2012
Three basic components exist in a data page (block
in Oracle term)
 Page header – general page information, such as
a page identifier, an identifier indicating to which
table the page belongs, free space pointers
 Offset table – pointers to each data row on the
data page
 Data rows – actual rows of user data (table or
index)

13
RAID TECHNOLOGY (WEEK 6)
Fall 2012
ITEC 450
RAID is an acronym for Redundant Arrays of
Inexpensive Disks. Please refer
http://www.acnc.com/04_01_00.html
 RAID-0 – data striping: striped disk array
without fault tolerance.
 RAID-1 – data mirroring: all data is written to
two or more drives.
 RAID-5 – data stripping with distributed parity
blocks, and it requires a minimum of 3 drives to
implement (commonly 5 drives)
 RAID-10 – mirrored data stripping: very high
reliability with high performance.
14
MODERN STORAGE TECHNOLOGY





Shared storage between multiple hosts
High I/O performance
Server and storage consolidation
Used for database files, I/O intensive/high
performance
ITEC 450
Storage Area Networks (SAN) – interconnected
network of storage devices (dedicate connections
between host and storage)
Fall 2012

Network-Attached Storage (NAS) – storage that can
be accessed directly from the network




Shared storage between multiple hosts
Simpler management due to reducing duplicate storage
Application based storage access at file level
Good for shared folders, program files
15
Fall 2012
ITEC 450
MODULE 4
DATABASE TUNING
16
Section 7 Data Movement and Distribution in
Oracle
THE LOAD UTILITY
ITEC 450
Prepare the data file – contains data in certain formats,
field terminators
 Create a control file – defines how to map the data fields to
a table and specifies if the data needs to be transformed
Fall 2012
Oracle has SQL*Loader utility to perform bulk
inserts of data into database tables.
 You can transform data before loading
 You can selectively load from the input file based
on conditions
 You can load all or part of a table
 You can perform simultaneous data loads
 Two main steps to use SQL*Loader

17
DATA PUMP EXPORT AND IMPORT
Fall 2012
ITEC 450
Oracle offers the Data Pump technology for fast
data movement between Oracle databases.
 Migrating databases from development to test or
production
 Copying data between dev/test and production
databases
 Transferring data between Oracle databases on
different operating system platforms
 Backing up important tables or databases
 Reorganizing fragmented table data
 Extracting the DDL for tables and other objects
18
DATA PUMP EXPORT EXAMPLES
ITEC 450

Create a directory in Operating System for the dump
directory
C:\app\Administrator\admin\orcl450\dpdir1
Within Oracle, define and verify the directory for
Data Pump
Fall 2012

SQL> create directory dpdir1 as
‘C:\app\Administrator\admin\orcl450\dpdir1’;
SQL> select * from dba_directories where directory_name like 'DP%';

Export a table from command line (Run-> cmd)
C:\> expdp system/password TABLES=hr.employees
DIRECTORY=dpdir1 dumpfile=output01.dmp

Export a schema
C:\> expdp system/password SCHEMAS=hr DIRECTORY=dpdir1
dumpfile=output02.dmp

You can also export a tablespace or full database
19
DATA PUMP IMPORT EXAMPLES
Fall 2012
ITEC 450
You can import the information from the dump file
generated from Export.
 Import to extract the DDL from the export dump
file
C:\> impdp system/password DIRECTORY=dpdir1
dumpfile=output01.dmp SQLFILE=emp01.sql

Import a table to another schema
C:\> impdp system/password DIRECTORY=dpdir1
dumpfile=output01.dmp REMAP_SCHEMA=hr:scott

You can also import a schema, tablespace or full
database
20
DATABASE REFRESHING OPTIONS
Backup and restore

ITEC 450
Backup the source database, and restore to the target
location
 Commonly used for full database refresh
 Bath databases have similar physical structures

Fall 2012

Data pump
Export the source database/schema/table, and then import
to the target database
 Can be used for full, schema, or table level database
refresh


SQL*Loader
Dump the source database tables to files in certain format,
and then use SQL*Loader to upload the table data
 Often used for table refresh, different DMBS, or user adhoc files

21
LOCK CONFLICTS
Fall 2012
ITEC 450
A share lock partially locks data where there is
still partial access allowed to data by other
sessions
 An exclusive lock completely prohibits changes to
data, but still allows read access
 Locking of transactions and tables (using
transactional control commands or LOCK
TABLE) create locking situations manually

22
HOW TO DETECT LOCK CONFLICTS
Fall 2012
ITEC 450
23
HOW TO DETECT LOCK CONFLICTS
Fall 2012
ITEC 450
24
HOW TO DETECT LOCK CONFLICTS
Fall 2012
ITEC 450
25
WHAT IS A DEADLOCK?
Deadlock: one thing is waiting for another, but
that other thing is also waiting for something
ITEC 450
A pending lock request cannot be serviced, because
the lock required will never be released
 Can cause serious performance issues

Fall 2012

Most common cause is manual locking of data
using LOCK TABLE or the FOR UPDATE clause
 Usually deadlocked sessions must be rolled back
manually


Ways of resolving a deadlock manually are:
 Rollback one of the deadlocked transactions
 Kill one of the sessions executing one of the
deadlocked transactions
26