IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    存储双活同步导致数据库异常恢复

    惜分飞发表于 2023-05-07 12:03:27
    love 0

    联系:手机/微信(+86 17813235971) QQ(107644445)QQ咨询惜分飞

    标题:存储双活同步导致数据库异常恢复

    作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

    客户双活存储异常之后,单个存储运行,故障存储修复之后,双活同步,出现多套系统异常,上一篇:Control file mount id mismatch!故障处理,这套是win的rac无法正常启动,ocr磁盘组异常(报ORA-600 kfrValAcd30无法正常mount)

    C:\Users\Administrator>crsctl start cluster -all
    CRS-2672: 尝试启动 'ora.crf' (在 'xff2' 上)
    CRS-2672: 尝试启动 'ora.asm' (在 'xff2' 上)
    CRS-2672: 尝试启动 'ora.crf' (在 'xff1' 上)
    CRS-2672: 尝试启动 'ora.asm' (在 'xff1' 上)
    CRS-2676: 成功启动 'ora.crf' (在 'xff2' 上)
    CRS-2676: 成功启动 'ora.crf' (在 'xff1' 上)
    CRS-5017: 资源操作 "ora.asm start" 遇到以下错误:
    ORA-00600: internal error code, arguments: [kfrValAcd30], [OCR_VOTE], [1], [14], [7556], [15], [7584], [], [], [], [], []
    。有关详细信息, 请参阅 "(:CLSN00107:)" (位于 "F:\app\grid\Administrator\diag\crs\xff2\crs\trace\ohasd_oraagent_system.trc" 中)。
    CRS-2674: 未能启动 'ora.asm' (在 'xff2' 上)
    CRS-2679: 尝试清除 'ora.asm' (在 'xff2' 上)
    CRS-5017: 资源操作 "ora.asm start" 遇到以下错误:
    ORA-00600: internal error code, arguments: [kfrValAcd30], [OCR_VOTE], [1], [14], [7556], [15], [7584], [], [], [], [], []
    。有关详细信息, 请参阅 "(:CLSN00107:)" (位于 "F:\app\grid\Administrator\diag\crs\xff1\crs\trace\ohasd_oraagent_system.trc" 中)。
    CRS-2674: 未能启动 'ora.asm' (在 'xff1' 上)
    CRS-2679: 尝试清除 'ora.asm' (在 'xff1' 上)
    CRS-2681: 成功清除 'ora.asm' (在 'xff2' 上)
    CRS-2673: 尝试停止 'ora.crf' (在 'xff2' 上)
    CRS-2677: 成功停止 'ora.crf' (在 'xff2' 上)
    CRS-2681: 成功清除 'ora.asm' (在 'xff1' 上)
    CRS-2673: 尝试停止 'ora.crf' (在 'xff1' 上)
    CRS-2677: 成功停止 'ora.crf' (在 'xff1' 上)
    CRS-4705: 无法在节点 xff1 上启动集群件。
    CRS-4705: 无法在节点 xff2 上启动集群件。
    CRS-4000: 命令 Start 失败, 或已完成但出现错误。
    

    因为是ocr磁盘组操作比较简单,直接重建该磁盘组,还原ocr等即可

    C:\Users\Administrator>asmtool -list
    NTFS                             \Device\Harddisk0\Partition1              300M
    NTFS                             \Device\Harddisk0\Partition4           599472M
    NTFS                             \Device\Harddisk0\Partition5          1000000M
    ORCLDISKDATA0                    \Device\Harddisk1\Partition1          1048587M
    ORCLDISKDATA1                    \Device\Harddisk2\Partition1          1048587M
    ORCLDISKDATA2                    \Device\Harddisk3\Partition1          1048587M
    ORCLDISKDATA3                    \Device\Harddisk4\Partition1          1048587M
    ORCLDISKDATA4                    \Device\Harddisk6\Partition1           460797M
    
    C:\Users\Administrator>crsctl start crs -excl -nocrs
    CRS-4123: Oracle 高可用性服务已启动。
    CRS-2672: 尝试启动 'ora.evmd' (在 'xff2' 上)
    CRS-2672: 尝试启动 'ora.mdnsd' (在 'xff2' 上)
    CRS-2676: 成功启动 'ora.mdnsd' (在 'xff2' 上)
    CRS-2676: 成功启动 'ora.evmd' (在 'xff2' 上)
    CRS-2672: 尝试启动 'ora.gpnpd' (在 'xff2' 上)
    CRS-2676: 成功启动 'ora.gpnpd' (在 'xff2' 上)
    CRS-2672: 尝试启动 'ora.cssdmonitor' (在 'xff2' 上)
    CRS-2672: 尝试启动 'ora.gipcd' (在 'xff2' 上)
    CRS-2676: 成功启动 'ora.cssdmonitor' (在 'xff2' 上)
    CRS-2676: 成功启动 'ora.gipcd' (在 'xff2' 上)
    CRS-2672: 尝试启动 'ora.cssd' (在 'xff2' 上)
    CRS-2676: 成功启动 'ora.cssd' (在 'xff2' 上)
    CRS-2672: 尝试启动 'ora.ctssd' (在 'xff2' 上)
    CRS-2676: 成功启动 'ora.ctssd' (在 'xff2' 上)
    CRS-2672: 尝试启动 'ora.asm' (在 'xff2' 上)
    CRS-5017: 资源操作 "ora.asm start" 遇到以下错误:
    ORA-00600: internal error code, arguments: [kfrValAcd30], [OCR_VOTE], [1], [14], [7556], [15], [7584], [], [], [], [], []
    。有关详细信息, 请参阅 "(:CLSN00107:)" (位于 "F:\app\grid\Administrator\diag\crs\xff2\crs\trace\ohasd_oraagent_system.trc" 中)。
    CRS-2674: 未能启动 'ora.asm' (在 'xff2' 上)
    CRS-2679: 尝试清除 'ora.asm' (在 'xff2' 上)
    CRS-2681: 成功清除 'ora.asm' (在 'xff2' 上)
    CRS-2673: 尝试停止 'ora.ctssd' (在 'xff2' 上)
    CRS-2677: 成功停止 'ora.ctssd' (在 'xff2' 上)
    CRS-4000: 命令 Start 失败, 或已完成但出现错误。
    
    C:\Users\Administrator>sqlplus / as sysasm
    
    SQL*Plus: Release 12.1.0.2.0 Production on 星期四 5月 4 13:52:07 2023
    
    Copyright (c) 1982, 2019, Oracle.  All rights reserved.
    
    已连接到空闲例程。
    
    SQL> startup nomount pfile='f:/pfile_asm.txt';
    ASM 实例已启动
    
    Total System Global Area 1140850688 bytes
    Fixed Size                  3054680 bytes
    Variable Size            1112630184 bytes
    ASM Cache                  25165824 bytes
    
    SQL>  create diskgroup OCR_VOTE  external redundancy disk '\\.\ORCLDISKDATA4' force  attribute 'COMPATIBLE.ASM' = '12.1.0';
    
    Diskgroup created.
    
    F:\>ocrconfig -restore backup00.ocr
    
    F:\>crsctl replace votedisk +OCR_VOTE
    已成功添加表决磁盘 e2b8fdbd05ae4f9fbf3531630853dbbc。
    已成功将表决磁盘组替换为 +OCR_VOTE。
    CRS-4266: 已成功替换表决文件
    
    F:\>crsctl query css votedisk
    ##  STATE    File Universal Id                File Name Disk group
    --  -----    -----------------                --------- ---------
     1. ONLINE   e2b8fdbd05ae4f9fbf3531630853dbbc (\\.\ORCLDISKDATA4) [OCR_VOTE]
    找到了 1 个表决磁盘。
    
    F:\>ocrcheck
    Oracle 集群注册表的状态如下:
             版本                  :          4
             总空间 (KB)     :     409568
             已用空间 (KB)      :       1348
             可用空间 (KB):     408220
             ID                       :  820087446
             设备/文件名         :  +OCR_VOTE
                                        设备/文件完整性检查成功
    
                                        设备/文件尚未配置
    
                                        设备/文件尚未配置
    
                                        设备/文件尚未配置
    
                                        设备/文件尚未配置
    
             集群注册表完整性检查成功
    
             逻辑损坏检查成功
    

    mount其他磁盘组成功

    SQL> alter diskgroup arch mount;
    
    Diskgroup altered.
    
    SQL>
    
    
    SQL> alter diskgroup data mount;
    
    Diskgroup altered.
    

    尝试恢复数据库失败

    C:\Users\Administrator>sqlplus / as sysdba
    
    SQL*Plus: Release 12.1.0.2.0 Production on 星期四 5月 4 14:09:39 2023
    
    Copyright (c) 1982, 2019, Oracle.  All rights reserved.
    
    已连接到空闲例程。
    
    SQL> startup mount;
    ORACLE 例程已经启动。
    
    Total System Global Area 2.0992E+11 bytes
    Fixed Size                  7797816 bytes
    Variable Size            1.3798E+11 bytes
    Database Buffers         7.1672E+10 bytes
    Redo Buffers              260636672 bytes
    数据库装载完毕。
    
    SQL> recover database;
    ORA-10562: Error occurred while applying redo to data block (file# 13, block#1033775)
    ORA-10564: tablespace USERS
    ORA-01110: 数据文件 13: '+DATA/XFF/users07.dbf'
    ORA-10561: block type 'TRANSACTION MANAGED DATA BLOCK', data object# 40396
    ORA-00600: 内部错误代码, 参数: [kdolkr-2], [2], [1], [44], [], [], [], [], [],[], [], []
    
    
    SQL> recover datafile 2;
    ORA-00283: 恢复会话因错误而取消
    ORA-00742: 日志读取在线程 1 序列 60656 块 1150508 中检测到写入丢失情况
    ORA-00312: 联机日志 3 线程 1: '+DATA/XFF/redo03.log'
    
    
    SQL> recover datafile 1;
    ORA-00283: 恢复会话因错误而取消
    ORA-00742: 日志读取在线程 1 序列 60656 块 1150508 中检测到写入丢失情况
    ORA-00312: 联机日志 3 线程 1: '+DATA/XFF/redo03.log'
    
    SQL> recover datafile 10;
    ORA-00283: ??????????
    ORA-10562: Error occurred while applying redo to data block (file# 10, block#
    2899468)
    ORA-10564: tablespace USERS
    ORA-01110: ???? 10: '+DATA/XFF/users04.dbf'
    ORA-10561: block type 'TRANSACTION MANAGED DATA BLOCK', data object# 40396
    ORA-00600: ??????, ??: [ktbair2: illegal  inheritance], [], [], [], [], [], [],[], [], [], [], []
    

    除了ORA-00742,还有其他一些日志应用错误,比如:ORA-600 ktbair2: illegal inheritance,ORA-600 kdolkr-2等,无法正常应用日志,尝试强制打开库,报ORA-600 2662错误.

    SQL> alter database open resetlogs;
    alter database open resetlogs
    *
    第 1 行出现错误:
    ORA-00603: ORACLE server session terminated by fatal error
    ORA-00600: internal error code, arguments: [2662], [8], [678024613], [8],
    [678508930], [12583040], [], [], [], [], [], []
    ORA-00600: internal error code, arguments: [2662], [8], [678024612], [8],
    [678508930], [12583040], [], [], [], [], [], []
    ORA-01092: ORACLE instance terminated. Disconnection forced
    ORA-00600: internal error code, arguments: [2662], [8], [678024610], [8],
    [678508930], [12583040], [], [], [], [], [], []
    进程 ID: 4628
    会话 ID: 996 序列号: 48547
    

    通过自研的Patch_SCN工具快速解决该问题
    20230507195805


    open数据库成功,实现最大限度抢救客户数据.

    • 修改11.2 RAC 的 SCAN IP
    • Oracle 19c 断电异常恢复
    • ORACLE 12C RAC hub AND leaf 相互转换
    • redo异常强制拉库报ORA-600 kcbzib_kcrsds_1修复
    • ORA-600 ktbsdp2 处理
    • oracle rac 12.2 执行root.sh报CLSRSC-400
    • Control file mount id mismatch!故障处理
    • 硬件故障数据库异常恢复
    • oracle 12.1 RAC的ocr磁盘组异常恢复
    • Patch SCN工具快速解决ORA-600 2662问题
    • Oracle断电故障处理
    • oracle 8.1.6因断电无法启动恢复


沪ICP备19023445号-2号
友情链接