Wednesday, January 03, 2007

Throttling RMAN

Oracle’s Recovery Manager product has been around since Oracle 8.0 and has always included limits on channel I/O rates. Prior to 9.0.1 the parameter was called READRATE and was an option on the SET LIMIT CHANNEL command. In 9.0.1 Oracle introduced the RATE option as part of the ALLOCATE CHANNEL command. The problem however wat that it was difficult to determine exactly what affect the throttling had.

Typically the desire to throttle RMAN stems from the desire to not consume all of the database server’s I/O bandwidth running a backup. The idea is generally to perform a backup in the background. In 10g Release 1 Oracle has now made this a little easier. I actually stumbled across this only recently. Like a lot of additions Oracle makes this one goes pretty much unnoticed until you need it. Then it seems pretty cool since it makes the job of quantifying I/O rates a little easier.

The following shows an example of the output of throttling an RMAN backup. It appears that if no throttling takes place then no messages. I believe this includes the setting of the RATE parameter so high that it doesn’t have an affect.

RMAN> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> 13> 14> 15> 16> 17> 18>

old RMAN configuration parameters:

CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2000000 K FORMAT '/u01/backups/DBSID/DBSID.bkup.%U';

new RMAN configuration parameters:

CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2000000 K FORMAT '/u01/backups/DBSID/DBSID.bkup.%U' RATE 2000000;

new RMAN configuration parameters are successfully stored

channel ORA_DISK_1: backup set complete, elapsed time: 00:12:26

channel ORA_DISK_1: throttle time: 0:09:01

channel ORA_DISK_2: finished piece 1 at 08-DEC-06

channel ORA_DISK_2: backup set complete, elapsed time: 00:12:26

channel ORA_DISK_2: throttle time: 0:10:39

Finished backup at 08-DEC-06