Tag Archives: RMAN-600

恢复导致ORA-600(kccfhb_1)错误

这篇文章仍然是RMAN-600错误的后续系列。 RMAN-600(8201)错误:http://yangtingkun.net/?p=690 RMAN-600(8201)错误的重现:http://yangtingkun.net/?p=716 恢复数据库出现ORA-38727:http://yangtingkun.net/?p=759 当控制文件里存在更大RESETLOGS的ORPHAN时,Oracle在10.2.0.3及以前版本是存在bug的,开始仅仅认为这个问题影响CATALOG模式的备份。但是测试发现,对于数据库的恢复同样存在影响。 如果数据库的FLASHBACK出于打开状态,那么恢复操作就会报错ORA-38727错误,而如果FLASHBACK处于关闭状态,恢复操作就可能碰到ORA-600(kccfhb_1)错误。 [orat1@hpserver2 ~]$ sqlplus / AS sysdba SQL*Plus: Release 10.2.0.3.0 – Production ON Mon Apr 16 10:58:58 2012 Copyright (c) 1982, 2006, Oracle. ALL Rights Reserved. Connected TO: Oracle DATABASE 10g Enterprise Edition Release 10.2.0.3.0 … Continue reading

Posted in BUG | Tagged , , , , , , , , , , | Leave a comment

恢复数据库出现ORA-38727

一个测试数据库在恢复时出现ORA-38727错误。 错误信息如下: [orat1@hpserver2 ~]$ rman target / Recovery Manager: Release 10.2.0.3.0 – Production ON Sat Apr 14 09:56:01 2012 Copyright (c) 1982, 2005, Oracle. ALL rights reserved. connected TO target DATABASE: TEST10G (DBID=1030910857) RMAN> recover tablespace tbs013; Starting recover at … Continue reading

Posted in BUG | Tagged , , , , , , , | Leave a comment

RMAN-600(8201)错误的解决

根据错误信息的判断,找到一个不重建控制文件的解决方案。 RMAN-600(8201)错误:http://yangtingkun.net/?p=690 RMAN-600(8201)错误的重现:http://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之前的备份控制文件,采用类似的方法,同样可以解决这个问题。

Posted in BUG | Tagged , , , , , , , | Leave a comment

RMAN-600(8201)错误的重现

前两天,客户的数据库在执行CATALOG方式的备份时出现了RMAN-600(8201)错误。由于比较了解客户的环境,在加上客户本身对于系统的了解,使得成功的模拟出这个错误。 RMAN-600(8201)错误:http://yangtingkun.net/?p=690 其实重现这个错误并不算太复杂,要求数据库的版本是10.2.0.3以下。 首先搭建一套DATA GUARD环境。然后在备库启用数据库的FLASHBACK功能,创建一个恢复点,然后将备库激活打开。备库打开后就可以关闭,然后重新MOUNT数据库,并利用FLASHBACK将数据库回滚到激活之前的恢复点,然后利用ALTER DATABASE CONVERT命令再次将这个数据库转化为物理备库,DATA GUARD环境恢复后,使备库应用日志一直到和主库保持一致,然后进行一次DATA GUARD的SWITCHOVER的操作,使得备库变成主库,主库变成备库。 这时,对新的主库创建CATALOG,执行REGISTER DATABASE后,执行show all命令,就会重新错误。 [orat1@hpserver2 ~]$ rman target / catalog rcat_user/rcat_password Recovery Manager: Release 10.2.0.3.0 – Production ON Sat Apr 4 20:51:56 2012 Copyright (c) 1982, 2005, Oracle. ALL rights reserved. connected … Continue reading

Posted in BUG | Tagged , , , , , , , , , , , , | Leave a comment

RMAN-600(8201)错误

客户数据库在执行RMAN备份时碰到这个错误。 错误信息如下: RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure OF backup command at 03/25/2012 02:31:18 RMAN-00600: internal error, arguments [8201] [] [] [] [] 根据MOS文档Rman Backup Failed With Error Rman-00600 [8201] [ID 412786.1]描述,导致错误的原因是控制文件中记录的信息和CATALOG中记录的信息出现了不一致的地方。Oracle给出的解决方案是CATALOG的全同步,不过执行RECYNC CATALOG后问题依旧: … Continue reading

Posted in BUG | Tagged , , , , , | 4 Comments