历史信息查看请查看个人网页www.zhaibibei.cn 这是一个坚持Oracle,Python原创内容的公众号,欢迎关注


这个专题讲一些日常运维的异常处理

今天讲一个RMAN备份出现警告的过程


1. 现象

今天要写程序自动检查数据库RMAN备份的状态,查询V_$RMAN_BACKUP_JOB_DETAILS 视图时状态栏位显示的是COMPLETED WITH WARNINGS


2. 原因查找

2.1 V$RMAN_OUTPUT

这里首先查询V$RMAN_OUTPUT视图,这个视图显示的为最近的RMAN备份输出

这里查询output栏位是否有warning

select * from V$RMAN_OUTPUT where lower(output) like '%warning%';
1.png

这里我们可以看到warning的原因

2.2 v$rman_status 该视图为RMAN备份会话的状态,他的stamp栏位和RMAN_OUTPUT 的session_stamp栏位关联

select * from v$rman_status  where stamp=985965224

2.3 v$RMAN_BACKUP_JOB_DETAILS

该视图的session_stamp和v$rman_status 的stamp栏位关联

该视图的session_stamp和v$RMAN_OUTPUT的session_stamp栏位关联

select * from V_$RMAN_BACKUP_JOB_DETAILS t where session_stamp ='985965224';

3. 问题解决

由V$RMAN_OUTPUT可以看出出错提示为 archive log not deleted as it is still needed

由于这台数据库的DG采用的是延时同步,archive log 还被DG所需要

这时我们可以设定条件删除一天前的日志


4.参考链接