allocate::=
To manually allocate a channel, which is a connection between RMAN and a database instance. Each connection initiates an database server session on the target or auxiliary instance: this server session performs the work of backing up, restoring, or recovering RMAN backups.
Manually allocated channels (allocated by using ALLOCATE
) should be distinguished from automatically allocated channels (specified by using CONFIGURE
). Manually allocated channels apply only to the RUN
job in which you issue the command. Automatic channels apply to any RMAN job in which you do not manually allocate channels. You can always override automatic channel configurations by manually allocating channels within a RUN
command.
Each channel operates on one backup set or image copy at a time. RMAN automatically releases the channel at the end of the job.
You can control the degree of parallelism within a job by allocating the desired number of channels. Allocating multiple channels simultaneously allows a single job to read or write multiple backup sets or disk copies in parallel. If you establish multiple connections, then each connection operates on a separate backup set or disk copy.
Whether ALLOCATE
CHANNEL
causes operating system resources to be allocated immediately depends on the operating system. On some platforms, operating system resources are allocated at the time the command is issued. On other platforms, operating system resources are not allocated until you open a file for reading or writing.
Note:
When you specifyDEVICE
TYPE
DISK
, no operating system resources are allocated other than for the creation of the server session.You can only use ALLOCATE
CHANNEL
within a RUN block.
The target instance must be started.
You must either allocate a channel manually or configure a channel for automatic allocation before executing a BACKUP, DUPLICATE, CREATE CATALOG, RESTORE, RECOVER, or VALIDATE command.
You cannot use BACKUP
DEVICE
TYPE
or RESTORE
DEVICE
TYPE
to use automatic channels after specifying manual channels with ALLOCATE
CHANNEL
.
You must use a recovery catalog when backing up a standby database.
You cannot prefix ORA_
to a channel name. RMAN reserves channel names beginning with the ORA_
prefix for its own use.
Syntax Element | Description |
---|---|
AUXILIARY |
Specifies a connection between RMAN and an auxiliary database instance. An auxiliary instance is used when executing the DUPLICATE or TRANSPORT TABLESPACE command, and when performing TSPITR with RECOVER TABLESPACE . An auxiliary database can reside on the same host as its parent or on a different host. When specifying this option, the auxiliary database must be mounted but not open.
See Also: "DUPLICATE" to learn how to duplicate a database, and "CONNECT" to learn how to connect to a duplicate database |
CHANNEL 'channel_id' |
Specifies a connection between RMAN and the target database instance. Each connection initiates a server session on the database instance: this server session performs the work of backing up, restoring, and recovering backups and copies.
Specify a channel id, which is the case-sensitive name of the channel, after the |
DEVICE TYPE = deviceSpecifier |
Specifies the type of storage device.
See Also: "deviceSpecifier" Note: If you do not specify the |
allocOperandList | Specifies control options for the allocated channel.
See Also: "allocOperandList" |
Allocating a Single Channel for a Backup: Example This command allocates a tape channel for a whole database and archived redo log backup:
RUN { ALLOCATE CHANNEL c1 DEVICE TYPE sbt; BACKUP DATABASE PLUS ARCHIVELOG; }
Spreading a Backup Across Multiple Disks: Example When backing up to disk, you can spread the backup across several disk drives. Allocate one DEVICE
TYPE
DISK
channel for each disk drive and specify the format string so that the filenames are on different disks:
RUN { ALLOCATE CHANNEL disk1 DEVICE TYPE DISK FORMAT '/disk1/backups/%U'; ALLOCATE CHANNEL disk2 DEVICE TYPE DISK FORMAT '/disk2/backups/%U'; BACKUP DATABASE PLUS ARCHIVELOG; # AS COPY is default when backing up to disk }
Creating Multiple Copies of a Backup: Example When creating multiple copies of a backup, you can specify the SET BACKUP COPIES
command. The following example generates a single backup of the database to disk, and then creates two identical backups of datafile 1
to two different file systems:
RUN { ALLOCATE CHANNEL c1 DEVICE TYPE DISK MAXPIECESIZE 5M; BACKUP DATABASE PLUS ARCHIVELOG; # AS COPY is the default, so RMAN creates image copies SET BACKUP COPIES = 2; BACKUP DATAFILE 1 FORMAT '/disk1/backups/%U', '/disk2/backups/%U'; }
Allocating an Auxiliary Channel for Database Duplication: Example When creating a duplicate database, allocate a channel by using the AUXILIARY
option:
RUN { ALLOCATE AUXILIARY CHANNEL c1 DEVICE TYPE sbt; ALLOCATE AUXILIARY CHANNEL c2 DEVICE TYPE sbt; DUPLICATE TARGET DATABASE TO ndbnewh LOGFILE '?/oradata/aux1/redo01.log' SIZE 200K, '?/oradata/aux1/redo02.log' SIZE 200K '?/oradata/aux1/redo03.log' SIZE 200K SKIP READONLY NOFILENAMECHECK; }