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

    存储故障后oracle报—ORA-01122/ORA-01207故障处理

    惜分飞发表于 2024-05-06 14:19:58
    love 0

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

    标题:存储故障后oracle报—ORA-01122/ORA-01207故障处理

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

    客户存储异常,通过硬件恢复解决存储故障之后,oracle数据库无法正常启动(存储cache丢失),尝试recover数据库报ORA-00283 ORA-01122 ORA-01110 ORA-01207错误
    以前处理过比较类似的存储故障case:
    又一起存储故障导致ORA-00333 ORA-00312恢复
    存储故障,强制拉库报ORA-600 kcbzib_kcrsds_1处理

    SQL> recover database until cancel;
    ORA-00283: 恢复会话因错误而取消
    ORA-01122: 数据库文件 536 验证失败
    ORA-01110: 数据文件 536: '+DATA/orcl/dt_img_dat511.ora'
    ORA-01207: 文件比控制文件更新 - 旧的控制文件
    
    Sun May 05 00:09:03 2024
    ALTER DATABASE RECOVER  database until cancel  
    Media Recovery Start
     started logmerger process
    Sun May 05 00:09:10 2024
    SUCCESS: diskgroup FRA was mounted
    Sun May 05 00:09:10 2024
    NOTE: dependency between database orcl and diskgroup resource ora.FRA.dg is established
    Sun May 05 00:09:14 2024
    WARNING! Recovering data file 1 from a fuzzy backup. It might be an online
    backup taken without entering the begin backup command.
    Media Recovery failed with error 1122
    Slave exiting with ORA-283 exception
    Errors in file d:\app\administrator\diag\rdbms\orcl\orcl1\trace\orcl1_pr00_8048.trc:
    ORA-00283: 恢复会话因错误而取消
    ORA-01122: 数据库文件 536 验证失败
    ORA-01110: 数据文件 536: '+DATA/orcl/dt_img_dat511.ora'
    ORA-01207: 文件比控制文件更新 - 旧的控制文件
    Sun May 05 00:09:16 2024
    Recovery Slave PR00 previously exited with exception 283
    ORA-283 signalled during: ALTER DATABASE RECOVER  database until cancel  ...
    

    using backup controlfile进行恢复

    SQL> recover database using backup controlfile until cancel;
    ORA-00279: 更改 18646239951 (在 04/25/2024 17:14:50 生成) 对于线程 1 是必需的
    ORA-00289: 建议:
    +FRA/orcl/archivelog/2024_04_25/thread_1_seq_1003886.199435.1167240505
    ORA-00280: 更改 18646239951 (用于线程 1) 在序列 #1003886 中
    
    
    指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
    auto
    ORA-00279: 更改 18646239951 (在 04/25/2024 17:11:40 生成) 对于线程 2 是必需的
    ORA-00289: 建议:
    +FRA/orcl/archivelog/2024_04_25/thread_2_seq_677876.199531.1167239807
    ORA-00280: 更改 18646239951 (用于线程 2) 在序列 #677876 中
    
    
    ORA-00279: 更改 18646255791 (在 04/25/2024 17:16:46 生成) 对于线程 2 是必需的
    ORA-00289: 建议:
    +FRA/orcl/archivelog/2024_04_25/thread_2_seq_677877.199472.1167240099
    ORA-00280: 更改 18646255791 (用于线程 2) 在序列 #677877 中
    ORA-00278: 此恢复不再需要日志文件
    '+FRA/orcl/archivelog/2024_04_25/thread_2_seq_677876.199531.1167239807'
    
    
    ORA-00279: 更改 18646295647 (在 04/25/2024 17:21:38 生成) 对于线程 2 是必需的
    ORA-00289: 建议:
    +FRA/orcl/archivelog/2024_04_25/thread_2_seq_677878.199379.1167240623
    ORA-00280: 更改 18646295647 (用于线程 2) 在序列 #677878 中
    ORA-00278: 此恢复不再需要日志文件
    '+FRA/orcl/archivelog/2024_04_25/thread_2_seq_677877.199472.1167240099'
    
    
    ORA-00279: 更改 18646331784 (在 04/25/2024 17:28:25 生成) 对于线程 1 是必需的
    ORA-00289: 建议:
    +FRA/orcl/archivelog/2024_04_25/thread_1_seq_1003887.199320.1167241507
    ORA-00280: 更改 18646331784 (用于线程 1) 在序列 #1003887 中
    ORA-00278: 此恢复不再需要日志文件
    '+FRA/orcl/archivelog/2024_04_25/thread_1_seq_1003886.199435.1167240505'
    
    
    ORA-00308: 无法打开归档日志
    '+FRA/orcl/archivelog/2024_04_25/thread_1_seq_1003887.199320.1167241507'
    ORA-17503: ksfdopn: 2 未能打开文件
    +FRA/orcl/archivelog/2024_04_25/thread_1_seq_1003887.199320.1167241507
    ORA-15012: ASM file
    '+FRA/orcl/archivelog/2024_04_25/thread_1_seq_1003887.199320.1167241507' does not exist
    
    
    ORA-10879: error signaled in parallel recovery slave
    ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 将出现如下错误
    ORA-01194: 文件 1 需要更多的恢复来保持一致性
    ORA-01110: 数据文件 1: '+DATA/orcl/system01.dbf'
    

    通过分析,确认由于cache丢失导致thread_1_seq_1003887这个日志丢失(而且redo已经被覆盖)
    20240506-2


    20240506-1

    数据库无法通过正常recover的思路解决.通过屏蔽一致性,强制打开数据库,alert日志报ORA-600 2662错误

    Sat May 04 17:23:00 2024
    Redo thread 2 internally disabled at seq 1 (CKPT)
    ARC1: Archiving disabled thread 2 sequence 1
    Archived Log entry 2 added for thread 2 sequence 1 ID 0x0 dest 1:
    ARC3: Archival started
    ARC0: STARTING ARCH PROCESSES COMPLETE
    Errors in file d:\app\administrator\diag\rdbms\orcl\orcl1\trace\orcl1_ora_3684.trc  (incident=47066):
    ORA-00600: ??????, ??: [2662], [4], [1466533588], [4], [1466584862], [12583040], [], [], [], [], [], []
    Errors in file d:\app\administrator\diag\rdbms\orcl\orcl1\trace\orcl1_ora_3684.trc:
    ORA-00600: ??????, ??: [2662], [4], [1466533588], [4], [1466584862], [12583040], [], [], [], [], [], []
    Errors in file d:\app\administrator\diag\rdbms\orcl\orcl1\trace\orcl1_ora_3684.trc:
    ORA-00600: ??????, ??: [2662], [4], [1466533588], [4], [1466584862], [12583040], [], [], [], [], [], []
    Error 600 happened during db open, shutting down database
    USER (ospid: 3684): terminating the instance due to error 600
    Instance terminated by USER, pid = 3684
    ORA-1092 signalled during: alter database open resetlogs...
    

    通过修改数据库scn,open数据库报ORA-600 4137

    Sun May 05 00:12:41 2024
    replication_dependency_tracking turned off (no async multimaster replication found)
    LOGSTDBY: Validating controlfile with logical metadata
    LOGSTDBY: Validation complete
    Completed: alter database open resetlogs
    Sun May 05 00:12:56 2024
    Trace dumping is performing id=[cdmp_20240505001256]
    Sun May 05 00:12:56 2024
    ORACLE Instance orcl1 (pid = 22) - Error 600 encountered while recovering transaction (28, 21).
    Errors in file d:\app\administrator\diag\rdbms\orcl\orcl1\trace\orcl1_smon_5896.trc:
    ORA-00600: ??????, ??: [4137], [28.21.42965783], [0], [0], [], [], [], [], [], [], [], []
    

    这个错误比较明显,由于28号回滚段异常导致,对异常回滚段进行处理,重建undo,数据库恢复主要工作完成

    • 断电引起文件scn异常数据库恢复
    • ORA-00600[kcrf_resilver_log_1]异常恢复
    • 记录一次ORA-01200完美恢复
    • 分享一次ORA-01113 ORA-01110故障处理过程
    • ORA-600 3600恢复—-resetlogs scn异常
    • ORA-600 3417和ORA-600 3005故障处理
    • 因为人工误操作导致resetlogs scn不一致恢复
    • ORA-600 ksuloget2 恢复
    • 非归档数据库异常恢复一例
    • ORA-600 3020/ORA-600 2662故障
    • 数据库open成功后报ORA-00353 ORA-00354错误引起的一系列问题(本质ntfs文件系统异常)
    • Oracle Recovery Tools快速恢复ORA-19909


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