RMAN
The Oracle Recovery Manager (RMAN)
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.
Intro to RMAN
Oracle Recovery Manager
Backup and Restore Client
Complete or Partial Backups
Full or Incremental Backups
Detects corrupted blocks and reports them
Automatically tracks new tablespaces and datafiles
Does unused block compression
Employs binary compression for disk backups
Can test backups without restoring them
The RMAN
Recovery Catalog
Recovery Catalog
Used to store repository records
Stores RMAN scripts
Can be stored in its own tablespace on
a separate server
Can use the controlfiles if a recovery
catalog database is not available
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
Issues with Using
Controlfiles for RMAN
Metadata
RMAN 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
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
Invoking RMAN
With a recovery catalog
%ORACLE_HOME%\bin\rman TARGET / CATALOG user/passwd@service
Example
%ORACLE_HOME%\bin\rman TARGET / CATALOG sys/ora123@orcl
Using the controlfile
%ORACLE_HOME%\bin\rman TARGET SYS/passwd@service
Example
%ORACLE_HOME%\bin\rman TARGET SYS/ora123@orcl
Creating a Recovery
Catalog
Create a Recovery Catalog
Tablespace
CREATE TABLESPACE "RECOV_CAT"
LOGGING
DATAFILE ‘C:\oracle\product\10.2.0\oradata\orcl\
RECOV_CAT.dbf' SIZE 100M
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;
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
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”
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
Registering a Target
Database in the Recovery
Catalog
Connect into RMAN
Run register database
Validate with report schema
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 Configuration
Configure Devices
sbt device is the media manager
Veritas
Legato
Local disk can be used
Configure Channels
Used to perform the backups
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;
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
‘C:\oracle\backup\ora_df%t_s%s_s%p';
Configuring Controlfile
Backups
Controlfiles can be set to auto
backup whenever a backup occurs by
setting autobackup on.
CONFIGURE CONTROLFILE AUTOBACKUP on;
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;
RAC Backups
Backup from one node
Remember to backup all archive log
threads (representing each node) –
all should be visible from any node
Example RMAN Offline
Backup Script
Here is an example for a disk-
based online backup:
set CMDFILE=C:\TEMP\rman_cmdfile.bat
echo shutdown immediate; >> %CMDFILE%
echo startup mount; >> %CMDFILE%
echo allocate channel c1 device type disk format ‘C:\
oracle\admin\mydb\backup\mydb_U%’; >> %CMDFILE
%
echo allocate channel c2 device type disk format ‘E:\
oracle\admin\mydb\backup\mydb_U%’; >> %CMDFILE
%
echo backup database; >> %CMDFILE%
echo alter database open, >> %CMDFILE%
echo exit; >> %CMDFILE%
%ORACLE_HOME%\bin\rman target mydb/password
Example RMAN Online
Backup Script
Here is an example for a disk-based
online backup:
set CMDFILE=C:\TEMP\rman_cmdfile.bat
echo allocate channel c1 device type disk format ‘C:\oracle\
admin\mydb\backup\mydb_U %’; >> %CMDFILE%
echo allocate channel c2 device type disk format ‘E:\oracle\
admin\mydb\backup\mydb_U %’; >> %CMDFILE%
echo configure controlfile autobackup on; >> %CMDFILE%
echo backup database plus archivelog; >> %CMDFILE%
echo exit; >> %CMDFILE%
%ORACLE_HOME%\bin\rman target mydb/password cmdfile=
%CMDFILE%
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
Performing Restores
Performing the Restore
RESTORE DATABASE;
RESTORE TABLESPACE users;
RESTORE DATAFILE 3;
Validating Backups
Backups can be validated with
restore validate
RESTORE DATABASE VALIDATE;
RESTORE CONTROLFILE VALIDATE;
RESTORE TABLESPACE users VALIDATE;
RESTORE ARCHIVELOG ALL VALIDATE;
Example of Complete
Recovery Using an RMAN
Online Backup
Here is an example recovery from an
online backup (followed by an immediate
backup):
Set ORACLE_SID=mydb
%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
Review
Name one disadvantage of using a
Control File to store RMAN meta-data
If you have a recovery catalog, describe
how you connect to RMAN and the target
database
What is the device name used for a
media manager?
What keywords are used to designate
devices to be used for backups?
Summary
RMAN Concepts
RMAN Functionality