• ORA-01547、ORA-01194、ORA-01110


    RDBMS 11.2.0.4 RAC

    在异机恢复数据库的时候,restore正常,recover的时候,很快就过去了。提示ORA-01547、ORA-01194、ORA-01110错误。从错误提示中看,归档日志不存在。

    1. starting media recovery
    2. Oracle Error:
    3. ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
    4. ORA-01194: file 1 needs more recovery to be consistent
    5. ORA-01110: data file 1: '+DATA/abcd/datafile/system.502.1108624865'
    6. released channel: c1
    7. released channel: c2
    8. released channel: c3
    9. released channel: c4
    10. RMAN-00571: ===========================================================
    11. RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    12. RMAN-00571: ===========================================================
    13. RMAN-03002: failure of recover command at 06/29/2022 18:22:55
    14. RMAN-06053: unable to perform media recovery because of missing log
    15. RMAN-06025: no backup of archived log for thread 2 with sequence 125966 and starting SCN of 6234223614488 found to restore
    16. RMAN-06025: no backup of archived log for thread 2 with sequence 125965 and starting SCN of 6234223488894 found to restore
    17. RMAN-06025: no backup of archived log for thread 2 with sequence 125964 and starting SCN of 6234218899569 found to restore
    18. RMAN-06025: no backup of archived log for thread 2 with sequence 125963 and starting SCN of 6234214130922 found to restore
    19. RMAN-06025: no backup of archived log for thread 1 with sequence 137219 and starting SCN of 6234221221375 found to restore
    20. RMAN-06025: no backup of archived log for thread 1 with sequence 137218 and starting SCN of 6234214130457 found to restore
    21. Recovery Manager complete.

    疑惑:

    1 缺失的这些归档,都是最后的几个归档,按照道理,应该是先使用序号较小的归档做recover,最后才会发现没有这些缺失的归档,怎么一晃就结束了 。难道oracle检测到缺失归档,就不给恢复,没道理啊?

    2 为什么会一晃而过?明明是有对归档做备份的,有备份集的。

    3 是否为bug?mos上有案例,只说了解决方法,没有说是不是bug。

    解决方法:参考MOS文档,做了不完全恢复。也就是找到那个scn开始,数据是一致的。最后做了不完全恢复。

    参考文档:Open Database failed - DATAFILE NEEDS MORE RECOVERY TO BE CONSISTENT ORA-1194 ORA-1547 ORA-1110 (Doc ID 1528788.1)

    在官网中,参考以下内容,做不一致恢复 (ABSSCN = Absolute SCN )

    The following query will show you the SCN to which we must at least recover to, to get all datafiles consistent.

    SQL> select  min(FHSCN) "LOW FILEHDR SCN"
               , max(FHSCN) "MAX FILEHDR SCN"
               , max(FHAFS) "Min PITR ABSSCN"
           from X$KCVFH ;

    LOW FILEHDR SCN  MAX FILEHDR SCN  Min PITR ABSSCN
    ---------------- ---------------- ----------------
    2446300          2472049          0


    -- Example output explained:
    --
    -- "LOW FILEHDR SCN"  - this is the SCN at which recovery process starts
    -- "MAX FILEHDR SCN"  - this is the SCN we must recover to to get all datafiles consistent
    --
    --   IF    "Min PITR ABSSCN"  != 0 AND  >  "MAX FILEHDR SCN"
    --   THEN  "Min PITR ABSSCN"  is the SCN we must recover to to get all datafiles consistent
     

    自己的环境中查询到的结果 

    1. SYS@abcd>select min(FHSCN) "LOW FILEHDR SCN"
    2. 2 , max(FHSCN) "MAX FILEHDR SCN"
    3. 3 , max(FHAFS) "Min PITR ABSSCN"
    4. 4 from X$KCVFH ;
    5. LOW FILEHDR SCN MAX FILEHDR SCN Min PITR ABSSCN
    6. -------------------------------- -------------------------------- --------------------------------
    7. 6234167427056 6234207627035 6234213805895
    8. SYS@abcd>

    可以看到和官方的说法比较吻合。使用不完全恢复。

    recover database until scn 6234213805895;	 -- 使用的是这个 

    最后,open resetlogs 开库。

    END

  • 相关阅读:
    secureCRT打印机
    Oracle数据库:oracle启动,oracle客户端工具plsql安装教程和使用方法
    java Spring Boot 将日志写入文件中记录
    保护您的 Web 应用程序的最佳开源 Web 应用程序防火墙
    2.AUTOSAR SWC设计概述
    JAVA设计模式-代理模式
    Pytorch中关于forward函数的理解与用法
    刷题记录:牛客NC14704美味菜肴
    网友心得—运行jeecgboot-vue3项目可能出现的问题
    RK3568 Android11 编译报错
  • 原文地址:https://blog.csdn.net/xxzhaobb/article/details/125539272