• Oracle【ORA-00600 internal error code arguments [2662]】恢复一例


    作者:@张扶摇
    本文为作者原创,转载请注明出处:https://www.cnblogs.com/zhangshengdong/p/18174653


    目录

    背景
    解决思路:
    出现如下错误:
    实战操作的思路
    第一次启动
    第二次启动
    第三次启动
    第N次启动
    最后一次启动

    背景

    • 1.数据库版本:11.2.0.4
    • 2.未开启归档
    • 3.没有备份:无RMAN备份、无DUMP备份
    • 4.数据库redo log全部删除。

    解决思路:

    Oracle 的隐含参数:
    _allow_resetlogs_corruption=TRUE
    SYS>alter system set "_allow_resetlogs_corruption"=true scope=spfile;
    数据库关闭数据库,在启动
    SQL> shutdown immediate;
    SQL> startup
    

    出现如下错误:

    ORA-01092: ORACLE instance terminated. Disconnection forced
    ORA-00600: internal error code, arguments: [2662], [0], [1030200641], [0],
    [1030304018], [12583040], [], [], [], [], [], []
    Process ID: 31791
    Session ID: 694 Serial number: 5
    

    问题的原因解释:数据库损坏之后,使用_allow_resetlogs_corruption 不一定能打开。也会出现如上的问题。其中[2662]代表的意思如下:ORA-600 [2662]"Block sCN is ahead of Current SCN

    说明当前数据库的数据块保存的SCN大于当前的SCN,因为Current SCN会和dependent SCN进行比比较。如果[Current SCN] <[dependent SCN],那么数据库就会产生这个ORA-600[2662]的错误了。这个错误一共有五个参数,分别代表不同的含义,

    • ORA-600 [2662] [a] [b] [c] [d] [e]
    • Arg [a] Current SCN WRAP
    • Arg [b]Current SCN BASE
    • Arg [c] dependent SCN WRAP
    • Arg [d] dependent SCN BASE(数据库块的SCN)

    我这边故障的数据库。当前的SCN为[1030200641],而数据库依赖的dependent SCN为[1030304018]。
    所以,数据库需要不断推进SCN号,才能正常启动。

    实战操作的思路

    由于数据库,不断的重启,会不断推进SCN号,直到大于依赖的SCN号。如下:

    第一次启动

    SCN号为[1030220646],SCN号往前走了20000多。

    SQL> startup
    ORACLE instance started.
    
    Total System Global Area  835104768 bytes
    Fixed Size                  2217952 bytes
    Variable Size             671090720 bytes
    Database Buffers          155189248 bytes
    Redo Buffers                6606848 bytes
    Database mounted.
    ORA-01092: ORACLE instance terminated. Disconnection forced
    ORA-00600: internal error code, arguments: [2662], [0], [1030220646], [0],
    [1030304018], [12583040], [], [], [], [], [], []
    Process ID: 32058
    Session ID: 694 Serial number: 5
    

    第二次启动

    SCN号为[1030240651],SCN号往前走了20000多。

    SQL> startup
    ORACLE instance started.
    
    Total System Global Area  835104768 bytes
    Fixed Size                  2217952 bytes
    Variable Size             671090720 bytes
    Database Buffers          155189248 bytes
    Redo Buffers                6606848 bytes
    Database mounted.
    ORA-01092: ORACLE instance terminated. Disconnection forced
    ORA-00600: internal error code, arguments: [2662], [0], [1030240651], [0],
    [1030304018], [12583040], [], [], [], [], [], []
    Process ID: 32271
    Session ID: 694 Serial number: 5
    

    第三次启动

    SCN号为[1030260656],SCN号往前走了20000多

    SQL> startup
    ORACLE instance started.
    
    Total System Global Area  835104768 bytes
    Fixed Size                  2217952 bytes
    Variable Size             671090720 bytes
    Database Buffers          155189248 bytes
    Redo Buffers                6606848 bytes
    Database mounted.
    ORA-01092: ORACLE instance terminated. Disconnection forced
    ORA-00600: internal error code, arguments: [2662], [0], [1030260656], [0],
    [1030304018], [12583040], [], [], [], [], [], []
    Process ID: 32460
    Session ID: 694 Serial number: 5
    

    第N次启动

    如此反复,不断推进。然后SCN号最终推进到[1030300665],和[1030304018]只相差了4000多。说明最后一次启动,SCN再推进20000,数据库应该能打开,

    SQL> startup
    ORACLE instance started.
    
    Total System Global Area  835104768 bytes
    Fixed Size                  2217952 bytes
    Variable Size             671090720 bytes
    Database Buffers          155189248 bytes
    Redo Buffers                6606848 bytes
    Database mounted.
    ORA-01092: ORACLE instance terminated. Disconnection forced
    ORA-00600: internal error code, arguments: [2663], [0], [1030300665], [0],
    [1030304018], [], [], [], [], [], [], []
    Process ID: 450
    Session ID: 694 Serial number: 5
    

    最后一次启动

    SQL> startup
    ORACLE instance started.
    
    Total System Global Area  835104768 bytes
    Fixed Size                  2217952 bytes
    Variable Size             671090720 bytes
    Database Buffers          155189248 bytes
    Redo Buffers                6606848 bytes
    Database mounted.
    Database opened.
    

    数据库正常启动,立马做出expdp导出操作,保障数据不丢失。



    感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮。本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文连接
  • 相关阅读:
    [附源码]计算机毕业设计基于springboot在线影院系统
    共享主机安全吗(以及如何保护它)?
    string类
    快速入门ES6语法(ECMAScript 6)
    UNITY2022打包window无法窗口化的问题
    《软件测试》实验四:移动应用自动化测试(安卓自动化测试)
    什么是域名租用?
    网络虚拟化
    WuThreat身份安全云-TVD每日漏洞情报-2023-10-11
    PaddleSharp:跨越一年的版本更新与亮点
  • 原文地址:https://www.cnblogs.com/zhangshengdong/p/18174653