根据错误信息的判断,找到一个不重建控制文件的解决方案。
RMAN-600(8201)错误:https://yangtingkun.net/?p=690
RMAN-600(8201)错误的重现:https://yangtingkun.net/?p=716
其实解决方法很简单,由于导致错误的原因是目前的主库做过FAILOVER,导致RESETLOGS的时间比当前控制文件中的RESETLOGS时间要大,Oracle在进行RMAN同步的时候判断不严谨,导致数据同步不完整,并最终体现在一些RMAN命令上,比如SHOW ALL或BACKUP等。
这个问题只影响10.2.0.3及以下版本,因此升级是可以解决问题的。
此外,由于导致问题的根源在于控制文件中的ORPHAN记录,因此手工重建控制文件也是确实可行的方案。
其实除了这些方法外,还有一个办法。就是利用备库或之前备份的控制文件来创建CATALOG。由于只是当前的主库经历过FAILOVER,也就是RESETLOGS的操作,而原来的主库也就是现在的备库并没有经历这个操作,因此用之前的主库也就是目前的备库的控制文件来注册CATALOG就可以屏蔽这个错误。
测试将备库SWITCHOVER为主库,然后通过REGISTER DATABASE命令,可以顺利的进行CATALOG的同步。再次执行SWITCHOVER,切换当前主库为问题主库,这时通过问题主库连接刚才同步后的CATALOG,此时运行SHOW ALL和BACKUP命令都不会再出现错误。
这种方法可以临时的解决这个问题,但是一旦需要对问题主库执行完全同步,则问题可能会重现。
除了使用STANDBY控制文件外,如果可以找到数据库FAILOVER之前的备份控制文件,采用类似的方法,同样可以解决这个问题。
-
Recent Posts
Recent Comments
- yangtingkun on 非空字段空值对查询的影响
- Eric Zong on 非空字段空值对查询的影响
- Kamus on Oracle Ace Director
- 设置全局死锁优先级 | yangtingkun on RAC全局死锁检测时间
- ORA-600(krbounotread_noctx)错误 | yangtingkun on ORA-600(krboReadBitmap_badbitmap)错误
Archives
- December 2020
- February 2019
- December 2018
- November 2018
- October 2018
- July 2018
- June 2018
- May 2018
- July 2016
- July 2013
- June 2013
- November 2012
- October 2012
- September 2012
- August 2012
- July 2012
- June 2012
- May 2012
- April 2012
- March 2012
- February 2012
- January 2012
- December 2011
- November 2011
- October 2011
- September 2011
- August 2011
Categories
Meta