Note_Tech

All technological notes.


Project maintained by simonangel-fong Hosted on GitHub Pages — Theme by mattgraham

Backup - Tuning Backup Performance

Back


Views to Diagnose RMAN Performance

View Use
V$SESSION_LONGOPS Monitoring the progress of backups and restore jobs
V$BACKUP_SYNC_IO Determining whether the tape is streaming when the I/O is synchronous
V$BACKUP_ASYNC_IO Determining the rate of asynchronous I/O
-- Determine the value in EFFECTIVE BYTES PER SECOND < storage media throughput
SELECT DEVICE_TYPE, TYPE ,BYTES, EFFECTIVE_BYTES_PER_SECOND
FROM V$BACKUP_ASYNC_IO
WHERE TYPE = UPPER('aggregate');

-- Monitor the progress of backup and restore operations
-- 未验证
SELECT SID,SERIAL#,CONTEXT,SOFAR, TOTALWORK,
ROUND (SOFAR/TOTALWORK*100,2) "%_COMPLETE"
FROM V$SESSION_LONGOPS
WHERE OPNAME LIKE 'RMANS'
AND OPNAME NOT LIKE '%aggregate%'
AND TOTALWORK != 0
AND SOFAR <> TOTALWORK;
--  OPNAME: A text description of the row.
--      Detail rows include RMAN:datafile copy, RMAN:full datafile backup, and RMAN:full datafile restore.
-- CONTEXT: For backup output rows, the value of this column is 2.
--      For all the other rows except proxy copy (which does not update this column), the value is 1.

VALIDATE Command


Identify read or write bottleneck



Identify Backup and Restore Bottlenecks

view


Asynchronous I/O Bottlenecks


Synchronous I/O Bottlenecks

Synchronous I/O is considered to be a bottleneck.


Tuning RMAN Backup Performance

To tune RMAN backup performance, perform the following steps:

  1. Remove RATE settings from configured and allocated channels.
    • The RATE parameter is used to set the maximum number of bytes (default), kilobytes (K), megabytes (M), or gigabytes (G) that RMAN reads each second on the channel.
    • It sets an upper limit for bytes read so that RMAN does not consume too much disk bandwidth and degrade performance.
    • If your backup is not streaming to tape, ensure that the RATE parameter is not set on the ALLOCATE CHANNEL Of CONFIGURE CHANNEL command.
  2. Set the DBWR_IO_SLAVES parameter if you use synchronous disk I/O.
    • If your disk does not support asynchronous I/O, try setting the DBWR_IO_SLAVES initialization parameter to a nonzero value.
      • Any nonzero value for DBWR_IO_SLAVES causes a fixed number (four) of disk I/O slaves to be used for backup and restore, simulating asynchronous I/O.
      • If I/O slaves are used, I/O buffers are obtained from the SGA.
      • The large pool is used if configured.
        • Otherwise, the shared pool is used.
    • Note: By setting DBWR_IO_SLAVES, the database writer processes will use slaves as well. You may need to increase the value of the PROCESSES initialization parameter.
  3. If there is failure in shared memory allocation, set the LARGE_POOL_SIZE initialization
  4. Tune the RMAN read, write, and copy phases.

Parallelization of Backup Sets

diagram_mutilple_channel

RUN {
  ALLOCATE CHANNEL cl DEVICE TYPE sbt;
  ALLOCATE CHANNEL c2 DEVICE TYPE sbt;
  ALLOCATE CHANNEL c3 DEVICE TYPE sbt;
  BACKUP
  INCREMENTAL LEVEL = 0
  (DATAFILE 1,4,5 CHANNEL cl)
  (DATAFILE 2,3,9 CHANNEL c2)
  (DATAFILE 6,7,8 CHANNEL c3);
  SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';
}

Multiplexing

diagram_multiplexing

diagram_multiplexing