暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

RMAN备份失败问题处理

IT那活儿 2024-09-24
551

点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!   


物理删除归档,导致备份失败

1.1 故障现象
因为归档空间爆满,手动物理删除归档后,备份就失败。
报错如下:
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory创建filter

1.2 故障处理
进行归档日志的校验;
RMAN>crosscheck archivelog all;
删除失效的归档日志;
RMAN>delete expired archivelog all;
1.3 故障分析
当数据库的归档日志文件被手工删除时,控制文件仍然会记录这些归档日志的备份信息。在使用RMAN进行归档日志备份时,RMAN会尝试备份这些已经被物理删除的文件,从而导致文件无法找到并报错。通过运行 RMAN CROSSCHECK ARCHIVELOG ALL 命令,可以将这些已删除的文件标记为失效。为了确保备份成功,可以在备份之前将这些失效的归档日志从控制文件中删除。
正确删除归档的命令应该是:
1)删除指定日期前日志
delete archivelog all completed before 'SYSDATE - 3';
2)删除log sequence为100及100之前的所有归档日志
delete archivelog until sequence 100;
3)删除所有归档

delete noprompt archivelog all;


RMAN备份状态COMPLETED WITH WARNINGS

2.1 故障现象
检查数据库RMAN备份的状态,查询V_$RMAN_BACKUP_JOB_DETAILS 视图时状态栏位显示的是COMPLETED WITH WARNINGS
2.2 故障分析
查询V$RMAN_OUTPUT视图,这个视图显示的为最近的RMAN备份输出
select * from V$RMAN_OUTPUT where output like '%WARNING%';
由V$RMAN_OUTPUT可以看出出错提示为archive log not deleted as it is still needed
检查备份脚本发现执行完备份操作后会删除当前sequence-50的归档,但是由于部分归档还被DG所需要,就出现这种报错。
2.3 故障处理
修改脚本的归档删除策略,保留200个归档。

RMAN-06820和ORA-ora17629错误

3.1 故障现象
在备库备份数据库,rman报错rman-6820和ora-17629,在备份过程中出现错误,错误提示是要访问Primary端数据库,之后由于权限问题没有能够访问。
其他备份动作看似正常,备份集合显示正确。
3.2 故障分析与解决
查询MOS,发现了对应的Bug信息:RMAN-06820 ORA-17629 During Backup at Standby Site (文档 ID 1616074.1)
根据文章信息,该问题是Oracle一个未发布的bug,编号为Bug 8740124。当Oracle尝试访问主库过程中,需要连带将全部的standby log获取到。当连接失败的时候,就会发生报错。
要解决该问题,Oracle提供了一个变通的办法,就是不要使用rman target 方式登录,而是使用sysdba用户的用户名和密码信息进行直接连接


END


本文作者:许 军(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论