最近上线RAC环境,于是用expdp和rman做了2种方式的备份,rman备份策略是周日0级备份,周三1级增量备份,其他时间2级增量备。今日发现早上做的1级增量备份日志最后出现如下错误:
Finished backup at 12-DEC-12
Starting Control FileandSPFILE Autobackupat12-DEC-12
released channel: c1
released channel: c2
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure ofControl FileandSPFILE Autobackup commandonc1 channelat12/12/2012 02:23:53
ORA-00245: control file backup failed; target islikelyonalocalfile system
从上面的日志片断中看得出,备份已完成,控制文件和spfile准备开始备份,释放channel c1、c2,然后说控制文件和spfile自动备份失败,目标好像是在本地文件系统上。
此处控制文件和spfile到底是否备份完成,我还不确定。
从显示的信息
failureofControl FileandSPFILE Autobackup commandonc1 channel
看应该是备份spfile和controlfile 失败了。
但是从
Starting Control FileandSPFILE Autobackupat12-DEC-12
released channel: c1
released channel: c2
这一截看应该是备份完成再释放channel。通过在rman下用list backup of controlfile确认发现控制文件自动备份失败。
RMAN creates a copyofthe control fileforreadconsistency, thisisthe snapshot controlfile.
Due tothe changes madetothe controlfile backup mechanismin11gR2anyinstances
inthe cluster may writetothe snapshot controlfile. Therefore,
the snapshot controlfile file needs tobe visibletoallinstances.
The same happens whena backupofthe controlfileiscreated directlyfrom
sqlplus anyinstanceinthe cluster may writetothe backup controfile file.
In11gR2 onwards, the controlfile backup happens without holding the control file enqueue.
Fornon-RACdatabase, this doesn't change anything.
But, forRACdatabase, the snapshot controlfile location
must be ina shared file system that will be accessiblefromallthe nodes.
The snapshot controlfile MUST be accessible byallnodesofa RACdatabase.
大致意思就是rman的snapshot controlfile必须放在共享存储之上。
解决方法
于是我在rman 里面按上面方法配置snapshot controlfile到共享存储上面。持续观察一周,再看是否还报此错。待续。。。。。。