This section contains these topics:
About Allocating Multiple RMAN Channels for Maintenance Commands
Crosschecking Disk and Tape Channels with One Command: Example
Crosschecking on Multiple Oracle Real Application Cluster Nodes: Example
Deleting on Disk and Tape Channels with One DELETE Command: Example
You can configure or manually allocate multiple channels before issuing CROSSCHECK
or DELETE
commands. RMAN searches for each backup on all channels that have the same device type as the channel used to create the backup. The multichannel feature is primarily intended for use when crosschecking or deleting backups on both disk and tape within a single command.
When you configure or manually allocate multiple channels and run a CROSSCHECK
or DELETE
command, RMAN performs the crosscheck or delete on all channels that have the appropriate device type.
For example, assume that you prefer to manually allocate channels rather than use configured channels. You have a media manager configured, but have never made backups to tape. You have created only one backup of a database to disk, as follows:
RUN { ALLOCATE CHANNEL ch1 DEVICE TYPE DISK CONNECT 'SYS/sys_pwd@node2'; BACKUP DATABASE; }
Assume that you issue the following series of commands at the RMAN prompt:
ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK CONNECT 'SYS/oracle@node1'; AlLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK CONNECT 'SYS/oracle@node2'; ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE sbt; CROSSCHECK BACKUP OF DATABASE;
Because the RMAN repository has a record of the database backup to disk, it crosschecks backups accessible on the two disk channels (and finds the backup on the second channel). Because the RMAN repository has no record of any sbt
backups, the CROSSCHECK
command does not access the allocated SBT channel.
If you have multiple configured channels for disk and tape, RMAN uses all configured channels to perform crosschecks on both backup destinations simultaneously.
For example, assume that you have an sbt
channel configured as follows:
CONFIGURE DEVICE TYPE sbt PARALLELISM 1; CONFIGURE DEFAULT DEVICE TYPE sbt;
In this case you can run the following command to perform a crosscheck on both DISK
and sbt
:
CROSSCHECK BACKUP OF DATABASE;
RMAN uses both the sbt
channel and the preconfigured DISK
channel to perform the crosscheck. Sample output follows:
allocated channel: ORA_SBT_TAPE_1 channel ORA_SBT_TAPE_1: sid=12 devtype=SBT_TAPE channel ORA_SBT_TAPE_1: WARNING: Oracle Test Disk API using channel ORA_DISK_1 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=/oracle/dbs/16c5esv4_1_1 recid=36 stamp=408384484 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=/oracle/dbs/c-674966176-20000915-01 recid=37 stamp=408384496 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=12c5erb2_1_1 recid=32 stamp=408382820 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=13c5erba_1_1 recid=33 stamp=408382829 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=14c5erce_1_1 recid=34 stamp=408382863 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=c-674966176-20000915-00 recid=35 stamp=408382869
If you do not have an automatic sbt
channel configured, then can also manually allocate maintenance channels on disk and tape as in the following example:
RUN { ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE sbt; CROSSCHECK BACKUP OF DATABASE; }
Note that you do not have to manually allocate a disk channel because RMAN uses the preconfigured disk channel.
When crosschecking on multiple nodes (and when operating RMAN in general), configure the cluster so that all backups can be accessed by every node, regardless of which node created the backup. When the cluster is configured this way, you can allocate channels at any node in the cluster during restore or crosscheck operations.
If you cannot configure the cluster so that each node can access all backups, then during restore and crosscheck operations, you must allocate channels on multiple nodes by providing the CONNECT
option to the CONFIGURE CHANNEL
command, so that every backup can be accessed by at least one node. If some backups are not accessible during crosscheck because no channel was configured on the node that can access those backups, then those backups are marked EXPIRED
in the RMAN repository after the crosscheck.
For example, you can use CONFIGURE CHANNEL
... CONNECT
... in an Oracle Real Application Cluster (RAC) configuration in which tape backups are created on various nodes in the cluster and each backup is only accessible on the node on which it is created.
In this example, assume a RAC cluster with two nodes, each one of which requires a channel to access some backups for the crosscheck. You configure the channels as shown here:
CONFIGURE DEVICE TYPE DISK PARALLELISM 2; CONFIGURE CHANNEL 1 DEVICE TYPE DISK CONNECT 'SYS/oracle@node_1'; CONFIGURE CHANNEL 2 DEVICE TYPE DISK CONNECT 'SYS/oracle@node_2';
Then, crosscheck the cluster nodes with the following command:
CROSSCHECK BACKUP;
You can also perform deletions on all allocated channels. In the following example, you configure an sbt
channel:
CONFIGURE DEVICE TYPE sbt PARALLELISM 1; CONFIGURE DEFAULT DEVICE TYPE TO sbt;
Then, you run a command to delete all backup sets from disk and tape:
DELETE BACKUPSET;
RMAN uses both the configured sbt
channel and the preconfigured DISK
channel when deleting. In the following sample output, note that RMAN prompts you for confirmation before deleting any files:
using channel ORA_SBT_TAPE_1 using channel ORA_DISK_1 List of Backup Pieces BP Key BS Key Pc# Cp# Status Device Type Piece Name ------- ------- --- --- ----------- ----------- ---------- 388 387 1 1 AVAILABLE SBT_TAPE 12c5erb2_1_1 397 396 1 1 UNAVAILABLE SBT_TAPE 13c5erba_1_1 424 423 1 1 AVAILABLE SBT_TAPE 14c5erce_1_1 428 427 1 1 AVAILABLE SBT_TAPE c-674966176-20000915-00 433 432 1 1 AVAILABLE DISK /oracle/dbs/16c5esv4_1_1 437 436 1 1 AVAILABLE DISK /oracle/dbs/c-674966176-20000915-01 Do you really want to delete the above objects (enter YES or NO)? y deleted backup piece backup piece handle=/oracle/dbs/16c5esv4_1_1 recid=36 stamp=408384484 deleted backup piece backup piece handle=/oracle/dbs/c-674966176-20000915-01 recid=37 stamp=408384496 deleted backup piece backup piece handle=12c5erb2_1_1 recid=32 stamp=408382820 deleted backup piece backup piece handle=13c5erba_1_1 recid=33 stamp=408382829 deleted backup piece backup piece handle=14c5erce_1_1 recid=34 stamp=408382863 deleted backup piece backup piece handle=c-674966176-20000915-00 recid=35 stamp=408382869
The following example manually allocates DISK
and sbt
maintenance channels and then deletes specific backup sets from both disk and tape:
RUN { ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK; ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE sbt; DELETE BACKUPSET 1,2,3,4,5; }
RMAN looks for the specified backup sets on the channels and deletes any it finds. If RMAN does not find a backup on any channel, then RMAN marks the object as deleted in the control file and deletes the recovery catalog record (if you use a recovery catalog).