Restoring and tuning a database
Download
Report
Transcript Restoring and tuning a database
Backup and
recovery
Basics of Backup and restoration
Types of recovery
Defining strategy
Starting up and shutting down
80/20 rule
SLA’s
Database backup restoration and
recovery
Physical files that make up db need to
be backed up
RMAN or user managed
Copy files to correct location and let db
recover itself
Recovery process is starting the
database and making it consistent with
the backed up files
Restoring and Recovering a
Database
Types of failure
Non media or media/disk failure
Media failures are most critical.
To recover:
–
–
–
–
–
–
Determine what files need recovery
What type of media recovery is required
Restore backups
Apply offline redo logs (archive)
Restore db to desired point
Test process often!
Defining backup and recovery
strategy
Has the following requirements /
considerations
– Amount of data that can be lost in event of failure
– Length of time business can run without the DB
– Can DB be offline to perform backup and how long
for?
– Types of resources available to perform backup/
recovery
– Procedures for undoing changes to DB
– Cost of buying and maintaining HW and additional
backups V cost of replacing or recreating data
Losing data in DB failure
The amount of data that can be lost in a failure
helps determine the backup and recovery
strategy that is implemented
Cold backups with no archive of redo logs
– Updates since the last backup will be lost. The
frequency of cold backup dictates the amount of
data lost.
Hot or cold backup with archiving of redo logs
– No updates lost as long as all redo logs are kept
since the last backup.
Surviving without the DB in a
DB failure
The amount of time a business can survive
without the DB is dependent on the type of
business.
Mean time to recover (MTTR) is obtained
during testing of failure scenarios.
If MTTR > business survival time then backup
and recovery time should be re-addressed.
Online backup
There are two types of backup: offline and
online. They are referred to as cold and hot.
Offline (cold) are done when the database is
closed. The downtime is related to database
size and normally runs for several hours.
Online (hot) are done when the DB is open
but can affect performance.
Archiving must be turned on for the hot
backup.
Undoing changes to DB
There are 3 primary ways of undoing changes to the
DB which do not involve backups
Manual
– Re executing code to rebuild data, dependent on the
sophistication of the code releases and the configuration of
the management control of the application (used in
warehousing systems).
Oracle log miner – querying the redo logs to recover
the changed/dropped data.
Flash back query – query undo segments to recover
the changed/dropped data.
Log miner
Oracle utility allows you to generate
the insert, delete and update
statements from the change vectors
in redo logs
Logminer packages
– Sys.dbms_logmnr_d.build – builds
DD externally
– Dbms_logmnr.add_logfile – access
to desired redo log
– Dbms_logmnr.start_logmnr – starts
logminer session
DD access
To fully translate the contents of the redo
logs, logminer requires access to data
dictionary.
Dbms_logmnr_d.build extracts DD
information to a flat file or the redo logs in 9i
More data can be found in oracle
documentation e.g. Oracle9i Database
Administrator's Guide – Chapter 9
Flash back
Works of the undo data and lets the user see
a read consistent view of the database in the
past. It is easier than logminer.
Only transactions committed can be viewed.
User can specify the read only view based on
system time or a system change number
(SCN).
Enables at session level.
Max of 5 days back.
Cont ..
DBA must set the under retention interval
long enough to be able to reconstruct the
snapshot.
Alter system set undo_retention =
<seconds>;
Max is 5 days
Requires execute permission on
DBMS_flashback
Execute dbms_flashback.enable_at_time(sysdate1/24);
Just remember to disable afterwards
Setting archive mode
Alter database archivelog (or
noarchivelog)
Sends files to location in init.ora file
for log_archive_dest
Default is off
Select name, logmode from
v$database;
Cont ..
1.
2.
3.
4.
Change or add init.ora parameter
Log_archive_start = true
Startup mount
Alter database archivelog
Alter database open
Archive log list to check its logging
Starting up a database
Startup [option]
Options available will determine state of
database
– Open
– Mount
– Nomount
– Exclusive
enables users to access db
mounts DB for certain DBA
activities
starts BG processes but does not
allow access
permits only current instance to
access the DB
Start up errors
ORA-12547: TNS:
lost contact
Or
ORA-09352:windows 32-bit two task
driver unable to spawn new oracle task
These are common errors and mean that
the oracle services in the control panel
have not started.
Shutdown
Shutdown [option]
Options
– Normal default –waits for current
sessions & transactions to
end forces a check point and
closes files
– Transactional – waits for current transaction to
finish before closing.
– Immediate – forces check point and closes files
– Abort – shuts down no save or close
80/20 rule
Rule conceived by Vilfredo Pareto
Minority of causes produce the majority of
results
Achieved by doing as much work as possible
up front – in the design phase
Set realistic expectations
– Reasonable response times
– Majority of efforts in tuning improves response
time
– Response time = work time + wait time
Improving response time
Improve either work time or wait time
Improvement is driven by need to have
transactions finish faster
Tune component with the longest time
– E.g.: if 20% of the time is spent with the CPU
processing data and 80% due to delay in
processing then improving CPU time will have less
effect than reducing processing time
Governed by an SLA (service level
agreement)
SLA’s
How many transactions should be completed per min?
How many users should be connected at peak times?
How many concurrent transactions are expected at
peak time?
What times of the day are considered for online use
only?
What is that batch processing window?
What is the expected response time for online
processes?
How much system resource should be available during
peak time? – define margin of error