环境:
centos 6.5 X64
Oracle 11 g , Enterprise Edition版本11.2.0.2.0
故障现象:
rman自动备份脚本失败,报错现象:
开始备份在30-JUL-15
当前日志归档
发布渠道:disk1
发布渠道:disk2
发布渠道:disk3
发布渠道:disk4
rman - 00571:===========================================================
rman - 00569:===============错误消息堆栈如下===============
rman - 00571:===========================================================
rman - 03002:失败的备份命令07/30/2015 23:00:27
rman - 06059:预计归档日志未找到,损失的归档日志妥协可恢复性
ora - 19625:错误识别文件/data0 _985092_843387931/Oracle/数据库/归档/1。弧
ora - 27037:无法获得文件状态
Linux-x86_64错误:2:没有这样的文件或目录
附加信息:3
恢复经理完成
从报错现象上看,是因为归档日志,985092文件被删除了只
分析主要原因是因为此数据库为dataguard架构,同事做了v $ archived 马克斯(序列#)-500年保留归档而且是每小时执行一次删除归档日志。因为晚上11点整点开始备份,也就说当整点rman开始执行运行{}并分配通道后已经是23:04以后了,但是删除脚本已经在整点23:00已经执行。这个时候rman存档备份脚本执行,输入存档log 螺纹=1序列=985092文件时发现文件不存在。导致rman归档备份失败。
查看时间:
完成选择应用,to_char (FIRST_TIME, yyyy-mm-dd hh34: mi: ss”)作为FIRST_TIME,
,2,to_char (NEXT_TIME, ' yyyy-mm-dd hh34: mi: ss”)作为NEXT_TIME
,3,V $ ARCHIVED_LOG
,4,在序列#=985092;
应用,FIRST_TIME,,,,,NEXT_TIME
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
是的,,,2015-07-30 2015-07-30 16:03:12
没有,,,,2015-07-30 2015-07-30 16:03:12
处理俩种方法:
1,综合考虑服务器硬盘存储空间【言外之意就是数据库要保留一天的归档日志】,取消自动删除归档日志脚本。让rman做归档备份完成之后自动删除归档日志。
2,修改rman归档备份时间和备份脚本,如:23:10开始备份。
如:
运行{
,分配渠道disk1类型磁盘maxpiecesize大敌;4000;
,分配渠道disk2类型磁盘maxpiecesize大敌;4000;
,,sql的改变当前系统归档日志;
,,备份archivelog所有删除输入格式'/opt/oracle/备份/arch_backup/archbackup/% d_arch_ % s_ % p_ % h。arh”filesperset=50,
,,#控制文件备份
,,备份作为压缩backupset格式'/opt/oracle/备份/arch_backup/archbackup CF_ % t_ % s_ % p_D识别% T。当前controlfile ctl的;
}
如果空间够用,就推荐使用第二种,这样数据可用范围大。