run { backup database }

Download Report

Transcript run { backup database }

Oracle’s Backup and Recovery Tool
Recovery MANager
Oracle’s Backup and Recovery Tool
Recovery MANager
Presented by Paul Hebert/ITEC
RMAN creates backups and restores Oracle database files to tape or disk
•Datafiles
•Controlfiles
•Parameter files
•Archive logs
RMAN will perform consistent and inconsistent database backups
•Consistent backups must be performed with the target database shut down
•Inconsistent (hot) backups require the target database is in archivelog mode
•Inconsistent backups require logical recovery using archivelogs
RMAN manages information about generated backup media files
•Backup information is stored in control files
•Backup information optionally stored in an RMAN repository catalog
•RMAN can perform point-in-time restoration
3
RMAN uses disk or tape channels to read and write to disk or tape media
RMAN tape devices rely on 3rd party Media Manager software
RMAN permits restartable backups if you have a specific time window within
which backups are permitted
RMAN can create image copies usable by user-scripted restore procedures
•Exact copies of target database files
RMAN can create backup sets instead of traditional image copies
RMAN has a command-line interface (rman) and is also integrated with Grid Control
4
Backup Sets are logical groupings of backed-up database files
•Backup sets have a unique ID and may have a ‘TAG’ for RMAN identification
•Backup sets consist of one or more individual files called backup pieces.
•Backup piece files contain the data blocks from a backup
Backup Sets
RMAN recovery using Backup Sets
•The recovery process identifies the target SCN or date to which to recover
•Needed blocks are retrieved from the appropriate backup set pieces
•Data files are reconstructed from the needed blocks
Backup set media options
•Backup sets can be written to disk or tape
•Backup sets can be compressed by omitting unchanged blocks
•Tape backup sets can be encrypted (via Oracle Secure Backup)
•Tape backups must use backup sets
5
6
•A stream of data to a device using one server session
•Server session performs the backup, restore and recovery
•Channels can be configured with device-specific settings
•Channels are automatically allocated, or manually allocated
Channels
RUN { BACKUP DATAFILE 3;
ALLOCATERESTORE
CHANNEL
c1 DEVICE users;
TYPE sbt;
TABLESPACE
BACKUP DATABASE PLUS ARCHIVELOG;
}
7
RMAN> CONFIGURE DEVICE TYPE sbt PARALLELISM 1;
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO sbt;
types of device
type – disk
and sbt
RMAN>•Two
CONFIGURE
CHANNEL
DEVICE
TYPE sbt PARMS
•Mediahas
Manager
vendors
specific
•RMAN
an open
API forhave
communicating
'ENV=(NSR_SERVER=bksvr1)';
installation
instructions
thatmanager
vary by vendor
with
Tape and
other media
RMAN>•Refer
BACKUP
DATABASE;
to vendors
for detailed installation
software
and usesends
instructions
•RMAN
labeled streams of bytes to the
media manager during backup
•The labeled streams are returned by the
media manager during RMAN restore
operations
8
Backup Set
•RMAN-proprietary storage of backed-up data blocks
•Consist of a Backup Set identifier plus associated backup set files or pieces
•Can only be restored using RMAN
Image Copy
•Equivalent to file copies of original database files
•RMAN considers user-managed backups as Image Copies
•Contain ALL data blocks – no compression
9
Backup sets or image copies can be labeled with a text TAG
RMAN commands can select backup sets or copies using the TAG
TAGs are visible in RMAN list or report output
BACKUP AS COPY DATABASE TAG=full_cold_copy;
BACKUP AS COPY COPY OF DATABASE FROM
TAG=full_cold_copy TAG=new_full_cold_copy;
10
Full backup
•Backup of all specified database file blocks
•Independent of when database files were last backed up
•Not used in incremental backup strategies
Incremental backup
•Backup of blocks changed since last incremental backup
Full backup is
• SCN used to identify changed blocks
equivalent to
•Level 0 incremental backup
incremental level 0
•Level 1 incremental backup
11
Level 0 incremental backups
•Backup of all blocks in specified database files
•Independent of when files were last backed up
•Base for subsequent Level 1 backups
12
Level 1 incremental backups
Differential backup
Contain all blocks changed after the most
recent incremental backup at level 1 or 0
•Differential backups remain smaller and quicker to perform
•Differential backups are slower to restore requiring changes
in multiple earlier incremental backups
Cumulative backup
Contain all blocks changed after the most
recent incremental backup at level 0
•Cumulative backups become much larger over time
•Cumulative backups are quicker to restore
13
RMAN can report, validate, remove or protect backup files
RMAN performance controls
•RMAN can throttle disk I/O rate during backup and restore
•RMAN can limit the number and size of backup set files
RMAN can use a Block Change Tracking file to identify changed blocks
•Bitmap file created automatically by Level 0 backup if configured
•RMAN can now avoid rescanning database files for changed blocks
(blocks with newer SCN than in previous backup sets)
•Loss of change tracking file is harmless – recreated by next Level 0
Change Tracking file can introduce database overhead
you need to evaluate if it is worth the extra performance hit
RMAN and missing Level 0 backups
•RMAN will create a missing Level 0 backup automatically when
asked to perform a Level 1 backup
14
RMAN actions can be scripted and scheduled using cron or dbms_job
RMAN can backup and restore your Flash Recovery Area
RMAN can clone (duplicate) databases using the AUXILIARY connection
RMAN can use and manage ASM files
RMAN can switch an instance to use a copy of a database or datafiles
15
RMAN does not automatically enforce your retention policies
RMAN does not automatically delete expired backup files
RMAN does not automatically detect missing backup files
RMAN does not backup any other types of files
• Oracle code tree
• Other operating system files
• Alert logs and traces
• Oracle Wallet files
RMAN is not upward or downward version compatible
• You must backup 10g databases with 10g RMAN!
•You can only backup 9i databases with 9i RMAN!
•10g and 9i can’t share a repository!
16
Increasing backup set size and backup duration
Faster recovery
Level 0 Cumulative
Incremental (Full) - Day 1
Level 1 Cumulative
Incremental - Day
2
Level 1 Cumulative
Incremental - Day 3
All blocks backed up
Restorable to Day 1
Contains only blocks changed since
Level 0 on Day 1
Restorable to Day 2 using Level 0 Day
1 and Level 1 Day 2
Contains only blocks changed since
Level 0 on Day 1
Restorable to Day 3 using Level 0 Day
1 and Level 1 Day 3
17
Consistent backup set size and backup duration
Slower recovery using more backup sets
Level 0 Differential
Incremental (Full) - Day 1
Level 1 Differential
Incremental - Day 2
Level 1 Differential
Incremental - Day 3
All blocks backed up
Restorable to Day 1
Contains only blocks changed since
Level 0 on Day 1
Restorable to Day 2 using Level 0 Day
1 and Level 1 Day 2
Contains only blocks changed since
Level 1 on Day 2
Restorable to Day 3 using Level 0 Day
1 and Level 1 Day2 and Level 1 Day 3
18
A. Monthly Full Level 0 Incremental backup
B. Weekly Level 1 Cumulative Incremental backup
C. Daily Level 1 Differential Incremental backup
Advantages
• RMAN doesn’t have to apply more than a few days worth of
differential backups to the latest cumulative backup and the original
level 0 backup
• No more than 1 day of redo logs need to be applied during recovery
Disadvantages
• May not meet with your MTTR target (Mean-Time-to-Recovery)
Rule of Thumb:
You should perform a new Level 0 backup
once >50% of blocks have changed
19
Allocating multiple channels for a device type allows parallel completion of
RMAN tasks
Manual channel allocation has to happen inside a RUN { } block
Device types can be configured for automatic allocation of parallel channels
CONFIGURE DEVICE TYPE DISK PARALLELISM 2;
Multiple channels can be used to write to multiple devices simultaneously
If a channel fails, surviving channels will attempt to complete the restore job
RUN
{
ALLOCATE CHANNEL c1 DEVICE TYPE sbt;
ALLOCATE CHANNEL c2 DEVICE TYPE sbt;
ALLOCATE CHANNEL c3 DEVICE TYPE sbt;
BACKUP DATAFILE 5,6,7;
}
20
21
Two Steps:
RESTORE
•Missing files are restored from the blocks in backup sets OR
•Image copies are copied to the original (or new) file locations
•Unmodified files not modified can be skipped by RMAN automatically
•RMAN uses the record of available backups in the RMAN repository to select
the best available backups for use in the restore operation.
•The most recent backup available, or the most recent backup satisfying any
UNTIL clause specified in the RESTORE command, is always the preferred choice
•If two backups are from the same point in time, RMAN prefers image copies
over backup sets because RMAN image copy restores are faster
RECOVER
•Recovery must be performed for incomplete backups
•Archive logs are applied to the database
22
23
•Reusable lists of RMAN commands
•Stored on the file system or in the RMAN respository
•Not the Control file!
•LOCAL scripts used by a single database instance
script
•GLOBAL scripts shared by database instances in repository
## create
createsrecovery
recoverycatalog
catalogscript
scripttotoback
backup
updatabase
databaseand
andarchived
archivedlogs
logs
CREATE
CREATE SCRIPT
GLOBALbackup_whole
SCRIPT global_backup_db
COMMENT
"backup
database
andthe
logs"
COMMENT "backup whole
any database
from
recovery catalog, with logs"
{{
BACKUPDATABASE
INCREMENTAL
0 TAG b_whole_l0
BACKUP
PLUSLEVEL
ARCHIVELOG;
} DATABASE PLUS ARCHIVELOG;
}
24
Execute a command on the local host from within RMAN
host
host “dd if=/orabak/tools.dbf of=/oradata/tools.dbf”
25
Execute a SQL command on the Target database within RMAN
sql
sql ‘alter system archive log current’;
Select statements not supported
26
list / report
crosscheck
validate
delete
27
List all backup sets and pieces known by RMAN
May not represent actual files available on disk
list / report
LIST BACKUP OF DATABASE ARCHIVELOG ALL; # lists known backups of db files and logs
LIST COPY;
# lists only image copies
LIST BACKUP;
# lists all RMAN backup media
REPORT NEED BACKUP;
# report which database files need backup
28
Verifies existence of known backup file sets and pieces in
the RMAN repository
Marks backup file sets and pieces as expired if they
exceed retention policies
crosscheck
CROSSCHECK doesn’t physically delete anything!
CROSSCHECK BACKUPSET;
CROSSCHECK BACKUP;
# crosschecks backup sets on disk and SBT
# crosscheck all RMAN backup media
RMAN backup files have four possible states in the repository
AVAILABLE
UNAVAILABLE
EXPIRED
OBSOLETE
29
Verifies existence and availability of database file media
Checks for corrupted blocks and reports them in
V$DATABASE_BLOCK_CORRUPTION
validate
Damaged backup file media may be repaired using Block
Media Recovery
BACKUP VALIDATE DATABASE ARCHIVELOG ALL;
RESTORE CONTROLFILE VALIDATE;
RESTORE ARCHIVELOG ALL VALIDATE;
RESTORE DATAFILE 4,5,6 VALIDATE;
30
Remove any or all database backup file media from disk/tape
and RMAN repository
Can remove obsolete media no longer needed to recover
under retention policies
delete
DELETE BACKUP TAG='before_upgrade';
DELETE NOPROMPT ARCHIVELOG ALL;
DELETE EXPIRED BACKUP;
DELETE BACKUP;
# delete backup based on tag
# delete all archivelogs
# delete expired after crosscheck
# delete ALL backups
31
32
It is easier to show RMAN (and not just talk about it endlessly …)
rman target system/pswd@sid1
rman
rman>> connect target system/pswd@sid1
rman target system/pswd@sid1 catalog rman/pswd@rmansid
rman target system/pswd@sid1 catalog rman/pswd@rmansid auxiliary system/pswd@sid2
33
•Uses defaultbackup
device typedatabase;
setting (SBT or Disk)
•Creates device channels according to parallelism setting
•Creates image copies or backup sets
•Might not backup controlfile automatically!
•Doesn’t backup archivelogs
Inconsistent database backup including
archive logs
show controlfile autobackup
configure controlfile autobackup on
show {parameter|ALL}
configure {parameter} clear
configure {parameter} {newsetting}
restore and recover
•Parallel backup of ‘regions’ of BIG datafiles
•New encryption
algorithm
RMAN
11g Features
•Data Recovery Advisor 11g
•Online backup of standby databases
•Virtual, secure and mergeable RMAN catalogs
•Encrypted disk backup sets
40
 Oracle® Database Backup and Recovery Basics
10g Release 2 (10.2)
http://download.oracle.com/docs/cd/B19306_01/backup.102/b14192/bkup004.htm#sthref385
 Oracle® Database Backup and Recovery Advanced User's
Guide 10g Release 2 (10.2)
http://download-east.oracle.com/docs/cd/B14117_01/server.101/b10734/toc.htm
 Oracle® Database Backup and Recovery Reference
10g Release 2 (10.2)
http://download-west.oracle.com/docs/cd/B19306_01/backup.102/b14194/toc.htm
 Freeman & Hart, Oracle9i RMAN Backup & Recovery,
Oracle Press
(useful 3rd party media manager chapters)
http://www.mhprofessional.com/product.php?cat=7&isbn=0072226625
41