RMAN backups in a RAC Environment
Edward Whalen Performance Tuning Corporation
Speaker Qualifications
Edward Whalen, CTO and Founder of Performance Tuning Corporation Author for Oracle Press and Microsoft Press Teaches classes on Oracle and RAC implementation and performance tuning Field consultant working with this technology on a daily basis
RMAN Backups for RAC
Objectives
At the end of this module the student will understand the following tasks and concepts. Understand the basic functionality of the Oracle Recovery Manager. Understand how to perform basic backup and recovery operations using RMAN.
RMAN Backups for RAC 3
RAC Review
Real Application Clusters (RAC)
One database Multiple Instances accessing this database All datafiles, controlfiles, redo log files and unto files are shared
Clustered Filesystem ASM
RMAN Backups for RAC
ASM Review
Automatic Storage Management
Small Oracle instance Diskgroups made up of multiple disks Managed via SQL*Plus, Grid Control or DB Control Looks like raw devices to the OS
RMAN Backups for RAC
Intro to RMAN
Oracle Recovery Manager
Used to back up Oracle databases Used to back up Archive Log files Used to delete Archive Log files Used to back up Control files Can back up spfiles Necessary for backing up ASM
RMAN Backups for RAC
RMAN Features
Backup and Restore Client Complete or Partial Backups Full or Incremental Backups Automatically tracks new tablespaces and data files
RMAN Backups for RAC
RMAN Features
Detects corrupted blocks and reports them
Does unused block compression Employs binary compression for disk backups Can test backups without restoring them
RMAN Backups for RAC
RMAN Features
Can backup to tape (media manager) Can backup to disk
Can compress backup Two compression types
RMAN Backups for RAC
RMAN Backups sbt vs. disk
Backup to tape Backup to disk
RMAN Backups for RAC
10
RMAN Backup to Tape
Pros
Backup goes directly from database to media manager Uses third party media manager Efficient Automated
Cons
DBA loses some control Backup is not immediately available
RMAN Backups for RAC 11
RMAN Backup to Disk
Pros
Backup is immediately available Restore is fast DBA is responsible for backup
Cons
Takes a lot of disk space
RMAN Backups for RAC
12
Backup Recommendations
DBA is responsible for doing backups to disk
Compressed disk backup
Sys Administrators take disk backups and back them up to tape on a scheduled basis Both are tested on a regular basis
RMAN Backups for RAC 13
RMAN 11g New Features
Data Recovery Advisor Improved integration with Data Guard Improved handling of long-term backups Backup failover for archived redo logs in the flash recovery area Archived log deletion policy enhancements
RMAN Backups for RAC
14
RMAN 11g New Features
Network-enabled database duplication without backups Recovery catalog enhancements Multisection backups Undo optimization Improved block media recovery performance Improved block corruption detection
RMAN Backups for RAC 15
RMAN 11g New Features
Faster backup compression Block change tracking support for standby databases Improved scripting with RMAN substitution variables Integration with VSS-enabled applications Lost write detection
RMAN Backups for RAC 16
RMAN 11g New Features
Backup of read-only transportable tablespaces Backup and recovery enhancements in OEM Oracle Flashback Transaction Flashback data archive Improved media recovery performance for databases on SMP systems
RMAN Backups for RAC 17
RMAN Metadata
Stores Backup Metadata
Stored scripts Backup settings History
Metadata can be stored in
RMAN Recovery Catalog Control files
RMAN Backups for RAC 18
RMAN Metadata
Recovery Catalog Control files
RMAN Backups for RAC
19
The RMAN Recovery Catalog
Recovery Catalog
Can be stored in its own tablespace on a separate server Amount of metadata is only limited by disk space Your entire enterprise can share the same RMAN recovery catalog
RMAN Backups for RAC
20
Recovery Catalog Options
RMAN defaults to the NOCATALOG connect option
Uses the target database controlfile for storing recovery metadata Useful for simple backup and recovery options for a single database
With the CATALOG connect option, a Recovery Catalog may be used
A Recover Catalog is a centralized recovery metadata repository Useful for simple to complex backup and recovery options for multiple databases on multiple servers
RMAN Backups for RAC 21
RMAN Using Controlfiles
MAN records will eventually age out of the control file and the records will be reused
Use the CONTROLFILE_RECORD_KEEP_TIME [Link] parameter to control the retention period (default is 7 days)
Rebuilding the control file will result in RMAN record loss
The command alter database backup controlfile to trace; does not backup RMAN records Use alter database backup controlfile to <location>; instead to create a binary controlfile copy that maintains RMAN records
RMAN Backups for RAC 22
Why Use a Recovery Catalog?
Offers a single enterprise-wide repository for maximum flexibility
Allows the use of stored RMAN scripts
Allows you to restore a database from a previous incarnation (period before RESETLOGS) Easier to handle the loss of a control file Allows creation of reports on the target database at previous points in time Maintains consistent RMAN channel configuration default values
RMAN Backups for RAC 23
Accessing RMAN
Must be invoked by an account with SYSDBA privileges Beware!
Linux has two RMANs
rman (default path) is reverse man $ORACLE_HOME/bin/rman is the recovery manager
RMAN Backups for RAC
24
Invoking RMAN
With a recovery catalog
$ORACLE_HOME/bin/rman TARGET / CATALOG user/passwd@service
Example
$ORACLE_HOME/bin/rman TARGET / CATALOG sys/ora123@cat $ORACLE_HOME/bin/rman TARGET sys/pwd@rac1 CATALOG sys/ora123@cat
Using the controlfile
$ORACLE_HOME/bin/rman TARGET SYS/passwd@service
Example
$ORACLE_HOME/bin/rman TARGET SYS/ora123@orcl
RMAN Backups for RAC 25
Creating a Recovery Catalog
Create a Recovery Catalog Tablespace
CREATE TABLESPACE "RECOV_CAT" LOGGING DATAFILE '/opt/oracle/product/10.1.0/oradata/orcl/ RECOV_CAT.dbf' SIZE 100M
RMAN Backups for RAC
26
Creating a Recovery Catalog
Create the rman schema
CREATE USER rman IDENTIFIED BY cat TEMPORARY TABLESPACE temp DEFAULT TABLESPACE recov_cat QUOTA UNLIMITED ON recov_cat;
Grant RECOVERY_CATALOG to the rman schema rman
GRANT RECOVERY_CATALOG_OWNER TO rman;
RMAN Backups for RAC
27
Creating a Recovery Catalog
Connect to Oracle with either SQLPlus or RMAN
sqlplus rman/cat@orcl $ORACLE_HOME/bin/rman TARGET / CATALOG rman/cat@orcl
Run the CREATE CATALOG script to create the recovery catalog
RMAN> CREATE CATALOG
RMAN Backups for RAC
28
Validating the Recovery Catalog
Connect into the Oracle database as rman and select from user_tables
sqlplus rman/cat@orcl SELECT table_name from user_tables
Connect into RMAN
$ORACLE_HOME/bin/rman TARGET / CATALOG rman/cat@orcl Note connected to recovery catalog database
RMAN Backups for RAC
29
Connecting with RMAN
Connect into the target database using SYS Connect into the recovery catalog using rman Connect into both the target database and recovery catalog using both
$ORACLE_HOME/bin/rman TARGET sys/ora123@orcl CATALOG rman/cat@orcl
RMAN Backups for RAC 30
Registering a Target Database in the Recovery Catalog
Connect into RMAN Run register database Validate with report schema Once registered
Configuration settings are associated with this database Scripts are associated with this database
RMAN Backups for RAC 31
RMAN Information
The show command displays information about the RMAN configuration
show all displays everything
The list command displays information about previous backups
list backup displays a list of backups
The report commands creates RMAN reports on operations
RMAN Backups for RAC 32
RMAN Configuration
Configure Devices
sbt device is the media manager
Veritas Legato Tivoli
Local disk can be used
Configure Channels
Used to perform the backups
33
RMAN Backups for RAC
Configuring Devices
Setup default devices
Configure media manager
CONFIGURE DEFAULT DEVICE TYPE TO sbt;
Configure disk backup
CONFIGURE DEFAULT DEVICE TYPE TO DISK; It can also be setup to use compressed savesets CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET;
RMAN Backups for RAC
34
Configuring Backup Compression
Turn on Compression
CONFIGURE DEVICE TYPE disk BACKUP TYPE to COMPRESSED BACKUPSET;
Choose Compression Algorythm
CONFIGURE COMPRESSION ALGORITHM TO 'alg_name';
BZIP2 (default) ZLIB
RMAN Backups for RAC 35
Configuring Backup Compression
BZIP2 (default)
Weve experienced a 100GB database backup in 15GB of space Excellent Compression High CPU
ZLIB (new in Oracle 11g)
Less compression Less CPU used
RMAN Backups for RAC 36
Configuring Channels
Channel is the device path to the backup media With a disk device, this is the path
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT /u03/oracle/backup/ora_df%U'; Many options available
RMAN Backups for RAC
37
Configuring Parallel Backup
Backup using a compressed disk backup with parallelism 2
CONFIGURE DEFAULT DEVICE TYPE TO disk; CONFIGURE DEVICE TYPE disk PARALLELISM 2; CONFIGURE DEVICE TYPE disk BACKUP TYPE TO COMPRESSED BACKUPSET; CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2G; CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT = /tmp/%U; BACKUP DATABASE;
RMAN Backups for RAC
38
Configuring Parallel Backup to Separate Disk Drives
Backup using a compressed disk backup with parallelism 2 to two different disks
CONFIGURE DEFAULT DEVICE TYPE TO disk; CONFIGURE DEVICE TYPE disk PARALLELISM 2; CONFIGURE DEVICE TYPE disk BACKUP TYPE TO COMPRESSED BACKUPSET; CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2G; CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT = /u01/%U; CONFIGURE CHANNEL 2 DEVICE TYPE DISK FORMAT = /u02/%U; BACKUP DATABASE;
RMAN Backups for RAC
39
Configuring Channels on Multiple Nodes
Backup using a compressed disk backup with parallelism 2 to two different disks
CONFIGURE DEFAULT DEVICE TYPE TO disk; CONFIGURE DEVICE TYPE disk PARALLELISM 2; CONFIGURE DEVICE TYPE disk BACKUP TYPE TO COMPRESSED BACKUPSET; CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2G; CONFIGURE CHANNEL 1 DEVICE TYPE DISK connect sys/pwd@node1 FORMAT = /u01/%U; CONFIGURE CHANNEL 2 DEVICE TYPE DISK connect sys/pwd@node2 FORMAT = /u01/%U; BACKUP DATABASE;
RMAN Backups for RAC 40
Configuring Controlfile Backups
Controlfiles can be set to auto backup whenever a backup occurs by setting autobackup on.
CONFIGURE CONTROLFILE AUTOBACKUP on;
RMAN Backups for RAC
41
Performing Backups
There are a number of different ways to do backups
BACKUP DATABASE BACKUP TABLESPACE USERS; BACKUP INCREMENTAL LEVEL 0 DATABASE; BACKUP CURRENT CONTROLFILE; BACKUP SPFILE
RMAN Backups for RAC
42
SPFILE Backups
RMAN backups are great Create pfiles as a backup for the spfile
CREATE PFILE=/u01/[Link] FROM SPFILE=+DATADG/; Useful for resetting parameters The ASM instance must be up
RMAN Backups for RAC
43
RAC Database Backups
RAC backups from one node RAC backups from multiple nodes
RMAN Backups for RAC
44
RAC Backups From One Node
RMAN Backups for RAC
45
RAC Backups From Multiple Nodes
RMAN Backups for RAC
46
RAC Backups from one Node
RAC database backups are essentially the same as single instance backups, if you setup all database files on shared disk Backup from one node
Exception: you must back up all threads of archive log files (all nodes)
Should backup Cluster files at the same time
RMAN Backups for RAC
47
RAC Backups from Multiple Nodes
Pros
More CPU available for compression More parallelism
Cons
I/Os are all going to the same storage More load on the system(s)
RMAN Backups for RAC
48
Restore Backup
Restore to one node
Apply archive logs from all nodes as requested
RMAN Backups for RAC
49
Crosscheck Backup
Crosscheck synchronizes backup pieces on disk with information in the RMAN metadata It is a good idea to crosscheck backups and copies before deleting them
CROSSCHECK BACKUP; CROSSCHECK COPY;
50
RMAN Backups for RAC
Managing Archive Logs with RMAN
Archive logs stored within ASM can be difficult to manage The recommended option for backing up and removing archivelog files is via RMAN
BACKUP ARCHIVELOG; DELETE ARCHIVELOG;
RMAN Backups for RAC
51
Advanced Archivelog Management
Backup
BACKUP ARCHIVELOG ALL NOT BACKED UP SINCE TIME='SYSDATE-1' FORMAT /u01/backup/arch/arch_%U' ;
Backups up archivelogs that have not been backed up in the last day.
RMAN Backups for RAC
52
Advanced Archivelog Management
Delete Archivelogs
DELETE ARCHIVELOG UNTIL TIME 'SYSDATE-1' BACKED UP 2 TIMES TO DISK; Deletes archivelogs over 1 day old that have been backed up at least once.
Note: In Oracle 11g an archive log needed for Data Guard will not be deleted.
RMAN Backups for RAC 53
Example RMAN Online Backup Script
Here is an example for a disk-based online backup:
run { allocate channel c1 device type disk connect sys/passwd@node1 format /u04/mydb/backup/mydb _%d_%U; allocate channel c2 device type disk connect sys/passwd@node2 format /u05/mydb/backup/mydb _%d_%U; configure controlfile autobackup on; backup database plus archivelog; release channel c1; release channel c2; }
RMAN Backups for RAC
54
Performing Restores
First preview the restore
RESTORE DATABASE PREVIEW; RESTORE TABLESPACE users PREVIEW; RESTORE DATAFILE 3 PREVIEW;
Preview allows you to see a report before the restore takes place
RMAN Backups for RAC
55
Performing Restores
Performing the Restore
RESTORE DATABASE; RESTORE TABLESPACE users; RESTORE DATAFILE 3;
RMAN Backups for RAC
56
Validating Backups
Backups can be validated with restore validate
RESTORE DATABASE VALIDATE; RESTORE CONTROLFILE VALIDATE; RESTORE TABLESPACE users VALIDATE; RESTORE ARCHIVELOG ALL VALIDATE;
RMAN Backups for RAC
57
Example of Complete Recovery Using an RMAN Online Backup
Here is an example recovery from an online backup (followed by an immediate backup):
ORACLE_SID=mydb export ORACLE_SID $ORACLE_HOME/bin/rman target mydb/password Rman> startup nomount; Rman> set DBID = <enter your DBID>; Rman> restore spfile from autobackup; Rman> restore controlfile from autobackup; Rman> alter database mount; Rman> restore database; Rman> recover database; Rman> alter database open resetlogs; Rman> shutdown immediate; Rman> startup mount; Rman> backup database; Rman> quit RMAN Backups for RAC
58
Using OEM to Perform RMAN Backup and Recovery
The Job Scheduler in OEM can also be used to backup and recover Oracle using RMAN In the Backup/ Recovery section of the Maintenance page, click Schedule Backup. There are many options for full and incremental backups
RMAN Backups for RAC 59
Duplicating or Cloning Databases
Data Guard
Use Duplicate Database for Standby Creates database with same DBID
Duplicate Database
Creates a database with a New DBID
Duplicate does not reset the catalog!
RMAN Backups for RAC
60
Duplicate Database (10g)
1. 2.
3.
Backup Primary Connect to Primary and Auxiliary (standby) Duplicate Database for Standby
RMAN Backups for RAC
61
Duplicate Database (10g)
Connect to the TARGET (primary) Connect to the CATALOG $ORACLE_HOME/bin/rman TARGET sys/pwd@prim CATALOG rman/cat@orcl
RMAN> BACKUP DATABASE PLUS ARCHIVELOG;
RMAN Backups for RAC
62
Duplicate Database (10g)
Connect to the TARGET (primary) Connect to the AUXILIARY (standby) Connect to the CATALOG
$ORACLE_HOME/bin/rman TARGET sys/pwd@prim AUXILIARY sys/pwd@stdby CATALOG rman/cat@orcl
Duplicate the database
RMAN> DUPLICATE DATABASE FOR STANDBY;
RMAN Backups for RAC
63
Duplicate Database (11g)
1.
2.
Connect to Primary and Auxiliary (standby) Duplicate Database for Standby
RMAN Backups for RAC
64
Duplicate Database (11g)
Connect to the TARGET (primary) Connect to the AUXILIARY (standby) Connect to the CATALOG
$ORACLE_HOME/bin/rman TARGET sys/pwd@prim AUXILIARY sys/pwd@stdby CATALOG rman/cat@orcl
Duplicate the database
RMAN> DUPLICATE DATABASE FOR STANDBY FROM ACTIVE DATABASE;
RMAN Backups for RAC 65
Best Practices and Tips
Use ASM If feasible use smallfile tablespaces Use backup paralellism Backup to disk, then to tape
RMAN Backups for RAC
66
Summary
RMAN Concepts RMAN Functionality 10g New Features
RMAN Backups for RAC
67
Questions? Address questions here Email ewhalen@[Link] Web: [Link]
RMAN Backups for RAC
68