Recovery Catalog

http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10734/rcmrepos.htm
http://download.oracle.com/docs/cd/B28359_01/backup.111/b28270/rcmcatdb.htm
http://web.njit.edu/info/limpid/DOC/backup.102/b14191/rcmcatdb.htm

1) What is recovery catalog? A database schema used by Oracle Recovery Manager to maintain information about the structure and status of the databases it backs up.
2) Creating Recovery Catalog
3) Configuring the recovery catalog database
4) Resynchronizing the recovery catalog
5) Space for the recovery catalog
6) Backing up the recovery catalog
7) Exporting the recovery catalog
8) Importing the recovery catalog
9) Recovery catalog views
10) Recovery catalog stored scripts
11) Upgrading recovery catalog
12) Merging recovery catalog

RECOVERY CATALOG

posted Mar 18, 2011, 8:45 AM by Sachchida Ojha

:The recovery catalog is optional. If a The controlfile(s) of the target database are the sole repository of metadata if a recovery catalog is not used. A recovery catalog is a set of tables and views used by RMAN to store information about databases. RMAN uses this data to manage the BACKUP, RESTORE, and RECOVERY of databases.

Connect to the recovery catalog database either through the RMAN command-line CATALOG argument or CONNECT CATALOG. The recovery catalog database must be open.

CREATE CATALOG [TABLESPACE 'tablespace_name']
 Use to create a schema for the recovery catalog. Typically, created in a separate database. The catalog is created in the default tablespace of the recovery catalog owner.
The recovery catalog owner must be granted the RECOVERY_CATALOG_OWNER role as well as space privileges on the tablespace where the recovery catalog tables will reside.

DROP CATALOG
 Deletes all metadata from the recovery catalog. Enter the command twice to confirm that the schema is to be dropped.

RESYNC CATALOG [FROM CONTROLFILECOPY 'filename']
Performs a full resynchronization of the recovery catalog. Resynchronizations can be full or partial. When full, RMAN updates all changed records for the physical schema: datafiles, tablespaces, redo threads, and online redo logs. If the database is open, RMAN also obtains data about rollback segments.
When partial, RMAN reads the current control file to update data, but does not resynchronize metadata about the physical schema or rollback segments.
Typically, RMAN automatically executes a full or partial resynchronization as needed RMAN commands are executed. A resync is not performed automatically when:
The recovery catalog is unavailable.
When a log switch occurs or when an online redo log is archived for a database in archive log mode.
When changes have been made to the physical structure of the target database such as adding or dropping a tablespace.

UPGRADE CATALOG [TABLESPACE 'tablespace_name']
To upgrade the recovery catalog schema from an older version to the version required by the RMAN executable.

Creating RMAN Recovery Catalog

posted Mar 18, 2011, 8:35 AM by Sachchida Ojha   [ updated Mar 18, 2011, 8:49 AM ]

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.

1-2 of 2