近日接手一套新500GB的 9i dataguard架构的DBServer、HP380
由于IO瓶颈、导致在做rman backup时用户反映产线‘卡死’,选择在standbydb上备份测量。
方案实施步骤:
一 、备份standbydb
RMAN> run{
delete obsolete;
allocate channel db01 device type disk format '/data2/rmanbackup/database_%T_%U.bak';
allocate channel db02 device type disk format '/data2/rmanbackup/database_%T_%U.bak';
allocate channel db03 device type disk format '/data2/rmanbackup/database_%T_%U.bak';
allocate channel db04 device type disk format '/data2/rmanbackup/database_%T_%U.bak';
BACKUP DATABASE filesperset 5;
release channel db01;
release channel db02;
release channel db03;
release channel db04;
}
二、copy standby controlfile
# cp /u01/app/oracle/oradata/ygzhou/control01.ctl /data2/rmanbackup/control01.ctl
三、利用standby backupset/standby controlfile restore database
RMAN> restore controlfile from '/ data2/rmanbackup/control01.ctl';
RMAN> run{
restore database;
}
四、switchower or failover this standbydb to primarydb
注意:1、standby备份、primarydb的控制文件不存在该备份信息,所以利用primarydb 的控制文件用常规的方式无法恢复database;
2、由于在rman backup过程中DB中会有大量的dml或者ddl (drop语句可能导致备份失败) 出现,导致controlfile中的scn号与datafile中的scn不匹配;此后需求利用到archivelog来保证数据安全 (archivelog的重要性....)。