ppoug, 05-oct-01 agenda rman architecture why use rman? implementation decisions rman oracle9i new...
TRANSCRIPT
PPOUG, 05-OCT-01
Agenda
RMAN Architecture Why Use RMAN? Implementation Decisions RMAN Oracle9i New Features
PPOUG, 05-OCT-01
RMAN Architecture
Recovery Manager (RMAN) is a tool that can be used for Backup, Restore, and Recovery operations on your target database
Standard utility when installing Oracle binaries
• No extra license required• Only works on 8.0 or higher• Some features only implemented if using Enterprise
Edition
PPOUG, 05-OCT-01
RMAN Architecture (continued)
TargetDatabasedatafiles
controlfiles
Archived redo logs
rman
ServerProcesses Recovery
CatalogDatabase(optional)
Backup fileson disk
ServerProcesses
ServerProcesses
MediaManagement
(optional)
Backupmedia
PPOUG, 05-OCT-01
RMAN Architecture (continued)
Target Database• Database to be backed up, restored,or recovered• Datafiles, controlfies, archived redo files are backed
up
rman executable• Utility you invoke for backup, restore, and recovery
operations
Processes and Channels• RMAN uses processes to communicate with target
and catalog databases• A process opened for I/O is called a channel
PPOUG, 05-OCT-01
RMAN Architecture (continued)
Backups, Backup Sets, Backup Pieces• Backups are made up of Backup Sets• Backup Sets are made up of Backup Pieces• Backup pieces are the physical backup files• rman is only utility that can read/write from physical
files
Target database control files• Contain information about RMAN backup operations• SQL> alter session set events ‘immediate trace
name controlf level 10’; Backup sets, pieces, datafiles Configuration settings (Oracle9i only)
PPOUG, 05-OCT-01
RMAN Architecture (continued)
What’s the Catalog Database?• A separate database usually on a separate host from
target database• Schema that has objects that store data about
backup, restore, and recovery activities
Catalog Database (optional)• Optional because much of same meta data in
catalog is always stored in the target control file
Catalog does not contain backup files
PPOUG, 05-OCT-01
RMAN Architecture (continued)
Media Management Layer (MML)• 3rd party piece of software• Tracks what files have been written to
what tapes• MML required if backing up files to tape• Optional because you can take backup
directly to disk• Can be frustrating to setup
PPOUG, 05-OCT-01
So Why Use RMAN?
Incremental backups• Full will backup only used blocks• Incremental scheme to back up
changed blocks• Backup resources correlate to
transaction activity and not the size of the database
PPOUG, 05-OCT-01
RMAN Advantages (continued)
Tablespaces not put in backup mode• No extra logging of full blocks to
online redo logs during backup• With RMAN a database process is
doing the copy• RMAN does a head/tail check on
each block
PPOUG, 05-OCT-01
RMAN Advantages (continued)
Automatic checking for corruption• Database block• Archived redo log
RMAN reads every block and checks for corruption
Corrupt blocks information logged• v$backup_corruption• v$copy_corruption
PPOUG, 05-OCT-01
RMAN Advantages (continued)
Configurable I/O characteristics• Configure multiple I/O channels to
process in parallel backup and restore commands
• Set max file size• Set max read rate
PPOUG, 05-OCT-01
RMAN Advantages (continued)
Logging of all backup operations• RMAN writes what/when/where to
target controlfile (and catalog if using)• Listing and reporting commands
PPOUG, 05-OCT-01
Implementation Decisions
Backup to disk (no MML required) Backup to tape (must use MML) Use RMAN with catalog Use RMAN without catalog
PPOUG, 05-OCT-01
Most Moving Parts
TargetDatabasedatafiles
controlfiles
Archived redo logs
rman
ServerProcesses Recovery
CatalogDatabase
ServerProcesses
ServerProcesses
MMLBackupmedia
PPOUG, 05-OCT-01
Simplest Implementation
Target
Databasedatafiles
controlfiles
Archived redo logs
rman
ServerProcesses
Backup fileson disk
ServerProcesses
PPOUG, 05-OCT-01
Disk Based Backup
Set channel type disk Let O/S backup scrape files to tape Sometime after O/S backup delete
RMAN backup files from disk Advantages of Disk
• Easier to setup (no MML)• Fewer moving parts• Disk access faster
PPOUG, 05-OCT-01
Disk Based Backup (continued)
Disadvantages of Disk• If RMAN backup file has been deleted
from disk, and if needed during a restore, DBA has to tell Operator which file needs to be retrieved and what day it was backed up
PPOUG, 05-OCT-01
Tape Based Backup
Configure RMAN to backup to tape • Implement MML• Set channel type sbt_tape
Advantages of Tape• Tape storage is cheaper than disk• Might be only option for a large database• MML keeps track of long history of what file
is on what tape
PPOUG, 05-OCT-01
Tape Based Backup (continued)
Disadvantages of Tape• MML setup can be frustrating• And MML adds complexity
PPOUG, 05-OCT-01
Why Use a Catalog?
Gives you more flexibility in certain situations
Oracle8i reasons to use a catalog•Restoring controlfile•Marking backup sets unavailable•Listing commands
PPOUG, 05-OCT-01
Why Use a Catalog? (continued) 8i and 9i Reasons to Use Catalog
• One centralized repository for all your target databases
If not using catalog, finite amount of days of RMAN backup operations stored• control_file_record_keep_time has a default of 7
days• Could be an issue for a database with hundreds
of datafiles With catalog you can store data for long
periods of time
PPOUG, 05-OCT-01
Catalog Disadvantages
Another moving part Another database to maintain,
monitor, backup, etc. Can get complex if many different
versions of targets• One catalog, one schema• One catalog, multiple schemas• Different catalogs
PPOUG, 05-OCT-01
If Not Using a Catalog
May need to increase init.ora control_file_record_keep_time
In 8i, ensure that you backup your controlfile outside of RMAN
SQL> alter database backup controlfile to ‘<path>/<filename>’;
PPOUG, 05-OCT-01
RMAN 9i New Features
RESTORE command optimized Block level recovery New ways to handle archived redo Configurable Persistent Settings
•Autobackup of controlfile•Optimization•I/O channel characteristics
Backup/Restore syntax simplified
PPOUG, 05-OCT-01
Oracle9i New Features Can easily give fellow DBA heart attack
• Pick a paranoid one Setup
• No Server Manager in Oracle9i• Create a file $ORACLE_HOME/bin/svrmgrl• chmod +x
echo “ “echo “SVRMGR> ORA-99999: deleting all datafiles…”sleep 2
PPOUG, 05-OCT-01
RMAN 9i New Features
RESTORE command optimized
RMAN restore now does:• Checks if file is on disk• Checks file header• If passes checks, does not restore
Can override w/FORCE option
PPOUG, 05-OCT-01
RMAN 9i New Features
Block Level Recovery Detecting block level corruption
•v$backup_corruption•trace files•dbverify
RMAN> blockrecover datafile 2 block 30;
PPOUG, 05-OCT-01
RMAN 9i New Features
Block Level Recovery (continued)• Appropriate for small amounts of
corruption• Could reduce mean time to recovery• Does not replace datafile
restore/recovery• Gives DBA another restore/recovery
tool
PPOUG, 05-OCT-01
RMAN 9i Archive Redo Backups New BACKUP … PLUS ARCHIVELOG
command
RMAN> backup database plus archivelog; 1. Switches online redo logs2. Backup archivelog all;3. Backs up files database datafiles4. Switches online redo logs5. Backs up any archived redo logs generated
during backup
PPOUG, 05-OCT-01
9i RMAN Controlfile Restore
New CONFIGURE command Settings stored in target controlfile Enable autobackup controlfile
RMAN> configure controlfile autobackup on;
Controlfile automatically backed up with BACKUP and COPY commands
RMAN controlfile restore can then be done without connecting to catalog
PPOUG, 05-OCT-01
RMAN 9i New Features (continued)
Configure optimization
RMAN> configure backup optimization on;
If a file has been backed up and hasn’t changed since last backup, RMAN will skip the file
PPOUG, 05-OCT-01
RMAN 9i New Features (continued)
Configure persistent channel I/O settings
Persist until you change or clear
RMAN> configure default device type to disk;RMAN> configure device type disk parallelism 2;RMAN> configure channel device type disk format
/ora01/brdstn/rman_%U.bus;
RMAN> show all;
PPOUG, 05-OCT-01
RMAN 9i New Features (continued)
Syntax simplified for BACKUP and RESTORE commands
No longer required to wrap within RUN{} command
Syntax now can be as simple as:
RMAN> backup database;RMAN> restore database;