Oracle Rman 控制RMAN的备份时间,减少IO消耗

时间:2023-03-09 06:50:54
Oracle Rman 控制RMAN的备份时间,减少IO消耗

一、问题描述

由于服务器配置不高,备份策略为周末全备、周一至周六差异备份。

平时服务器CPU使用30%左右。

全备份时,开启两个通道,CPU达到70%-80%左右,业务不卡顿、不掉单,session不积压,磁盘读取80MB/s

差异备份时,开启两个通风道,CPU达到100%,业务卡顿、掉单,session积压,磁盘读取200MB/s

如下图:

Oracle Rman 控制RMAN的备份时间,减少IO消耗

二、控制RMAN的备份时间--duration和关键字minimize load

限制rman备份时间在5min以最小负载方式完成,语法如下:

RMAN> backup duration 00:05 minimize load database format '/home/oracle/backup/%U.dbf' ;

三、控制RMANIO消耗--rate readrate

控制差异备份IO读取速度

run{
crosscheck backup;
delete noprompt expired backup;
allocate channel d1 type disk maxpiecesize = 3500M rate 50M;   /60M          ----设置磁盘读取为50M/s/60M/s
allocate channel d2 type disk maxpiecesize = 3500M rate 50M;   /60M
#crosscheck archivelog all;
#delete noprompt expired archivelog all;
#crosscheck backup;
#delete noprompt expired backup;
backup incremental level 1 as compressed backupset database format '$backdir1/full_%d_%T_%t_%s_%p';
sql 'alter system archive log current';
backup as compressed backupset filesperset 10 format '$backdir1/arch_%d_%T_%t_%s_%p' archivelog all;
backup current controlfile format '$backdir1/ctl_%d_%T_%t_%s_%p';
release channel d1;
release channel d2;
#report obsolete;
#delete noprompt obsolete;
}

Oracle Rman 控制RMAN的备份时间,减少IO消耗