17
When performing an Oracle restore, RMAN will only read with concurrency ONE from tape (just one
channel at a time), independent from the concurrency used during the backup.
The recommendation is to use always concurrency of 1 (one RMAN channel per tape drive)
Set Maxopenfiles to 1
RMAN channel parameter MAXOPENFILES should be set to 1 in case you are using a Disk Array
such as XP or EVA where the data is stripped over different physical disks. As a result, we guarantee
that every RMAN channel reads just one file at a time (no file multiplexing). Please note this has to be
set on each channel manually.
Tape block size should match RMAN output buffer size
The block size of your tape device will determine the I/O size of every write operation. In general,
the larger the block size, the faster backup you achieve. On the other hand, the tape block size
should match the Oracle write buffer size.
When an RMAN channel reads a datafile, each block is placed into an input buffer. After some block
validation checks are performed, it is copied into an output buffer and then sent to the Backup Device.
As documented by Oracle, when setting the parameter MAXOPENFILES < 4, each buffer will be 1MB
in size, with a total buffer size of 16MB (per channel), thus 16 Buffers per file. The buffer size used
currently, can be verified in the v$BACKUP_ASYNC_IO view.
When writing to the SBT device (TAPE), Oracle allocates also 4 output buffers per channel, each
buffer 256Kb, 1MB in total. The size of the write buffers can be adjusted with the BLKSIZE channel
parameter.
While the default output buffer size of 256K may be adequate for most environments, it may be worth
increasing the RMAN output buffer size and Tape block size to 1MB.
An example of an RMAN script with output buffer size set to 1MB and MAXOPENFILES to 1 is as
follows; as channel parameters, they have to be set for every channel.
run {
allocate channel 'dev_0' type 'sbt_tape'
parms 'ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=RAC,OB2BARLIST=RAC_POOL_man_ch_1_2)
,BLKSIZE=1048576' connect 'sys/xxx@rac2' maxopenfiles 1;
allocate channel 'dev_1' type 'sbt_tape'
parms 'ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=RAC,OB2BARLIST=RAC_POOL_man_ch_1_2)
,BLKSIZE=1048576' connect 'sys/xxx@rac3' maxopenfiles 1;
backup incremental level <incr_level>
format 'RAC_POOL_man_ch_1_2<RAC_%s:%t:%p>.dbf'
tablespace 'POOL';
}
Use Asynchronous I/O if available
Asynchronous I/O on HP-UX is only available when using RAW devices. In other case, consider using
the BACKUP_TAPE_IO_SLAVES (default FALSE) Oracle parameter to simulate asynchronous I/O to
tape. Synchronous I/O has a performance disadvantage as every server process has perform a task
at a time.
Use a Recovery Catalog
Use a recovery catalog to configure the Oracle integration as a centralized store for metadata and
scripts. The recovery catalog can also be exported (RMAN user schema) by Data Protector.
For further Backup-tuning recommendations, review the Appendix.