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
•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

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


•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 .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.

6 .

} 7 . TABLESPACE TYPE sbt. BACKUP DATABASE PLUS ARCHIVELOG.•A stream of data to a device using one server session •Server session performs the backup. ALLOCATERESTORE CHANNEL c1 DEVICE users. or manually allocated Channels RUN { BACKUP DATAFILE 3. restore and recovery •Channels can be configured with device-specific settings •Channels are automatically allocated.

to vendors for detailed installation software •and RMANusesends instructions labeled streams of bytes to the media manager during backup •The labeled streams are returned by the media manager during RMAN restore operations 8 .RMAN> CONFIGURE DEVICE TYPE sbt PARALLELISM 1. API forhave specific communicating installation with Tape andinstructions thatmanager other media vary by vendor RMAN>•Refer BACKUP DATABASE. RMAN>•TwoCONFIGURE CHANNEL types of device DEVICE type – disk TYPE sbt PARMS and sbt ••RMAN MediahasManager vendors an open 'ENV=(NSR_SERVER=bksvr1)'. RMAN> CONFIGURE DEFAULT DEVICE TYPE TO sbt.

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 AS COPY COPY OF DATABASE FROM TAG=full_cold_copy TAG=new_full_cold_copy. 10 .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.

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 17 .

Consistent backup set size and backup duration Slower recovery using more backup sets 18 .

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 .A. Monthly Full Level 0 Incremental backup B. Weekly Level 1 Cumulative Incremental backup C.

BACKUP DATAFILE 5.6. ALLOCATE CHANNEL c2 DEVICE TYPE sbt.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.7. surviving channels will attempt to complete the restore job RUN { ALLOCATE CHANNEL c1 DEVICE TYPE sbt. Multiple channels can be used to write to multiple devices simultaneously If a channel fails. ALLOCATE CHANNEL c3 DEVICE TYPE sbt. } 20 .

21 .

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 . •The most recent backup available. is always the preferred choice •If two backups are from the same point in time. or the most recent backup satisfying any UNTIL clause specified in the RESTORE command.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.

23 .

} 24 . } DATABASE PLUS ARCHIVELOG. with logs" {{ BACKUPDATABASE BACKUP INCREMENTAL PLUSLEVEL 0 TAG b_whole_l0 ARCHIVELOG. •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 backupupdatabase databaseand andarchived archivedlogs logs CREATE CREATE SCRIPT GLOBALbackup_whole SCRIPT global_backup_db COMMENT COMMENT "backup "backup whole database any database andthe from logs" recovery catalog.

dbf of=/oradata/tools.dbf” 25 .Execute a command on the local host from within RMAN host host “dd if=/orabak/tools.

Select statements not supported 26 .Execute a SQL command on the Target database within RMAN sql sql ‘alter system archive log current’.

list / report crosscheck validate delete 27 .

# report which database files need backup 28 . # lists only image copies LIST BACKUP. # lists all RMAN backup media REPORT NEED BACKUP. 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.

# crosschecks backup sets on disk and SBT CROSSCHECK BACKUP. 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 all RMAN backup media RMAN backup files have four possible states in the repository AVAILABLE UNAVAILABLE EXPIRED OBSOLETE 29 .

5. RESTORE CONTROLFILE VALIDATE. RESTORE DATAFILE 4. 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 ARCHIVELOG ALL VALIDATE. 30 .6 VALIDATE.

# delete ALL backups 31 . 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 expired after crosscheck DELETE BACKUP. # delete all archivelogs DELETE EXPIRED BACKUP. # delete backup based on tag DELETE NOPROMPT ARCHIVELOG ALL.

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 .

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 .•Uses defaultbackup device typedatabase.

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 RMAN •New encryption 11g Features algorithm •Data Recovery Advisor 11g •Online backup of standby databases •Virtual. secure and mergeable RMAN catalogs •Encrypted disk backup sets .

40 .

2) http://download.htm  Freeman & Hart. Oracle® Database Backup and Recovery Basics 10g Release 2 (10.102/b14194/toc. Oracle9i RMAN Backup & Recovery.htm  Oracle® Database Backup and Recovery Reference 10g Release 2 (10.2) http://download-east.101/b10734/ Oracle Press (useful 3rd party media manager chapters)  Oracle® Database Backup and Recovery Advanced User's Guide 10g Release 2 (10.mhprofessional.102/b14192/bkup004.php?cat=7&isbn=0072226625 41 .oracle.2)