近期修复DataGuard的一些记录

RDBMS 12.1.2.0

问题1 

主备不同步了,应该有半年-1年没有同步了。

备库上显示,近期的日志已经传送到了备库,备库上保留了大量的归档日志。

查看GAP。发现GAP是在1100-1200之间 

使用前一天主库的备份进行恢复备库。(没有恢复控制文件,直接恢复数据)

结果恢复的时候,恢复完毕后,发现recover的时候,需要200-300的归档日志。正常应该是需要1100以后的归档日志的。

奇了怪了。

这个问题,后来经过分析,发现在这半年-1年的时间内。主库上已经增加了好几个数据文件。而备库上没有同步过来,所以在恢复的时候,没有恢复控制文件,只恢复数据的话,所以备库上只恢复到备库的控制文件记录到的那些数据文件(想想控制文件的作用,控制文件里面记录了什么等等,就明白了)。

通过在主备库上查看report schema,发现果然如此。

再次在主库上创建备库的控制文件,在备库上再次还原备库控制文件、数据文件。显示正常,显示不需要200-300的归档日志了。

所以,这个很容易理解“recover database using backup controlfile”这句的意思了吧  ?

问题2 

在对另一套备库,进行restore后,提示ORA-16016等错误。然后发现归档日志已经有了(有几个存在的归档日志死活无法recover),但是recover的时候,提示执行recover错误,对归档日志的recover的sql无法执行等等。

随后增量备份,增量恢复后,没有问题,绕过这个有问题的归档日志了。

但是再次recover的时候,提示“RMAN-11003  ORA-16145” 等错误。再次使用增量恢复后,正常。

目前这个问题,没有找到原因,初步猜测,和主备库之间的网络有关(异地的主备库,2M的带宽,日志很容易卡住,可能日志没有传输完毕,备库开始recover了,报错)。

关于这几个错误的解释:

[oracle@test /home/oracle]$oerr ora 16145
16145, 00000, "archival for thread# %s sequence# %s in progress"
// *Cause:  The indicated archived log file is not available for recovery
//          due to the fact that it is still being archived.
// *Action: Verify that archival of the indicated log file has completed
//          and reissue the RECOVER STANDBY DATABASE command.
[oracle@test /home/oracle]$oerr ora 16016
16016, 00000, "archived log for thread %s sequence# %s unavailable"
// *Cause:  Redo apply timed out waiting for the requested archived log
//          file.
// *Action: Verify that the primary database is still archiving redo data to
//          the standby database and reissue the RECOVER STANDBY DATABASE
//          command.
[oracle@test /home/oracle]$oerr RMAN 11003
11003, 1, "failure during parse/execution of SQL statement: %s"
// *Cause: This is an informational message only.
// *Action: No action is required.
[oracle@test /home/oracle]$

END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值