RMAN can be used either with or without a recovery catalog. A
recovery catalog is a schema stored in a database that tracks
backups and stores scripts for use in RMAN backup and recovery
situations. Generally, an experienced DBA would suggest that the
Enterprise Manager instance schema and RMAN catalog schema be
placed in the same utility database on a server separate from the
main servers. The RMAN schema generally only requires 15 megabyte
per year per database backed up.
The RMAN schema owner is
created in the RMAN database using the following steps:
1. Start SQL*Plus and connect as
a user with administrator privileges to the database containing the
recovery catalog. For example, enter:
CONNECT
SYS/oracle@catdb AS SYSDBA
2. Create a user and schema for
the recovery catalog. For example, enter:
CREATE USER
rman IDENTIFIED BY cat
TEMPORARY TABLESPACE temp
DEFAULT TABLESPACE tools
QUOTA UNLIMITED ON tools;
3. Grant the
recovery_catalog_owner role to the user. This role provides all of
the privileges required to maintain and query the recovery catalog:
SQL> GRANT
RECOVERY_CATALOG_OWNER TO rman;
Once the owner user is created,
the RMAN recovery catalog schema can be added:
1. Connect to the database that
contains the catalog owner. For example, using the RMAN user from
the above example, enter the following from the operating system
command line. The use of the CATALOG keyword tells Oracle this
database contains the repository:
% rman
CATALOG rman/cat@catdb
2. It is also possible to
connect from the RMAN utility prompt:
% rman
RMAN> CONNECT
CATALOG rman/cat@catdb
3. Now, the CREATE CATALOG
command can be run to create the catalog. The creation of the
catalog may take several minutes. If the catalog tablespace is this
user's default tablespace, the command would look like the
following:
CREATE
CATALOG;
While the RMAN catalog can be
created and used from either a 9i or 10g database, the Enterprise
Manager Grid Control database must be a 9i database. This is
true at least for release 1, although this may change with future
releases.
Each database that the catalog
will track must be registered.
Registering a Database with
RMAN
The following process can be
used to register a database with RMAN:
1. Make sure the recovery
catalog database is open.
2. Connect RMAN to both the
target database and recovery catalog database. For example, with a
catalog database of RMANDB and user RMAN, owner of the catalog
schema, and the target database, AULT1, which is the database to be
backed up, database user SYS would issue:
% rman TARGET
sys/oracle@ault1 CATALOG rman/cat@rmandb
3. Once connected, if the target
database is not mounted, it should be opened or mounted:
RMAN>
STARTUP;
--or--
RMAN> STARTUP
MOUNT;
4. If this target database has
not been registered, it should be registered it in the connected
recovery catalog:
RMAN>
REGISTER DATABASE;
The database can now be operated
on using the RMAN utility.
Example RMAN Operations
The following is an example of
the command line connection to a RAC environment, assuming the RAC
instances are AULT1 and AULT2:
$ rman TARGET
SYS/kr87m@ault2 CATALOG rman/cat@rmandb
The connection string, in this
case AULT2, can only apply to a single instance, so the entry in the
tnsnames.ora for the AULT2 connection would be:
ault2 =
(DESCRIPTION =
(ADDRESS_LIST =
(LOAD_BALANCE = OFF)
(FAILOVER = ON)
(ADDRESS = (PROTOCOL = TCP)(HOST =
aultlinux2)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ault)
(INSTANCE_NAME = ault2)
)
If the instances use archive
logs, RAC requires that a channel connection be specified for each
instance that will resolve to only one instance. For example, using
the AULT1 and AULT2 instances from the previous example:
CONFIGURE
DEFAULT DEVICE TYPE TO sbt;
CONFIGURE DEVICE TYPE TO sbt PARALLELISM 2;
CONFIGURE CHANNEL 1 DEVICE TYPE sbt CONNECT =
'SYS/kr87m@ault1';
CONFIGURE CHANNEL 2 DEVICE TYPE sbt CONNECT = 'SYS/kr87m@ault2';
This configuration only has to
be specified once for a RAC environment. It should be changed only
if nodes are added or removed from the RAC configuration. For this
reason, it is known as a persistent configuration, and it need never
be changed for the life of the RAC system. This configuration
requires that each of the specified nodes be open, the database is
operational, or closed, the database shutdown. If one specified
instance is not in the same state as the others, the backup will
fail.
RMAN is also aware of the node
affinity of the various database files. The node with the greatest
access will be used to backup those datafiles that the instance has
greatest affinity for. Node affinity can, however, be overridden
with manual commands, as follows:
BACKUP
#Channel 1
gets datafiles 1,2,3
(DATAFILE
1,2,3 CHANNEL ORA_SBT_TAPE_1)
#Channel 2
gets datafiles 4,5,6,7
(DATAFILE
4,5,6,7 CHANNEL ORA_SBT_TAPE2)
The nodes chosen to backup an
Oracle RAC cluster must have the ability to see all of the files
that require backup. For example:
BACKUP
DATABASE PLUS ARCHIVELOG;
The specified nodes must have
access to all archive logs generated by all instances. This could
entail some special considerations when configuring the Oracle RAC
environment.
The essential steps for using
RMAN in Oracle RAC are:
* Configure the snapshot control
file location.
* Configure the control file
autobackup feature.
* Configure the archiving
scheme.
* Change the archivemode of the
database, although this is optional.
* Monitor the archiver process.
[http://www.dba-oracle.com/include_rman_book.htm]