存儲故障後oracle報—ORA-01122/ORA-01207故障處理---惜分飛

聯繫:手機/微信(+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,數據庫恢復主要工作完成

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章