承接上文 (ID 93154),記錄誤執行 ZERODBID(0) 後,控制文件重建 RESETLOGS 遭遇 ORA-600 [kcvhvdf_1],轉而採用 BBED 批量修復數據文件頭 DBID 與 Fuzzy 標記,再次重建控制文件成功,但 OPEN RESETLOGS 卡在 ORA-600 [2662] (SCN 不一致),最終通過事件 10015 推進 SCN 完成恢復的完整技術鏈路。
針對所有數據文件 (system, undo, sysaux, users, example, company, streams) 執行:
BBED> SET FILENAME '.../system01.dbf'
BBED> SET BLOCK 1
BBED> MODIFY /X 0x58C7A0F7 OFFSET 28 -- DBID 1488207495
BBED> MODIFY /X 0x2000 OFFSET 20 -- Fuzzy=正常關閉
-- 重複其餘 7 個文件
STARTUP NOMOUNT;
CREATE CONTROLFILE REUSE DATABASE "LDBRA" RESETLOGS ARCHIVELOG
MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/ora10g/app/oradata/ldbra/redo01.log' SIZE 50M,
GROUP 2 '/ora10g/app/oradata/ldbra/redo02.log' SIZE 50M,
GROUP 3 '/ora10g/app/oradata/ldbra/redo03.log' SIZE 50M
DATAFILE
'/ora10g/app/oradata/ldbra/system01.dbf',
'/ora10g/app/oradata/ldbra/undotbs01.dbf',
'/ora10g/app/oradata/ldbra/sysaux01.dbf',
'/ora10g/app/oradata/ldbra/users01.dbf',
'/ora10g/app/oradata/ldbra/example01.dbf',
'/ora10g/app/product/10.2.0/db_1/dbs/company.dbf',
'/ora10g/app/product/10.2.0/db_1/dbs/streams.dbf'
CHARACTER SET ZHS16GBK;
-- Control file created.
ALTER DATABASE OPEN RESETLOGS;
-- 實例掛起,Alert 日志:
-- ORA-00600: internal error code, arguments: [2662], [2268], [3799096903], [2268], [3799098345], [8388617], [], []
參數解讀:
[2662] = SCN 推進錯誤 (控制文件 SCN < 數據文件 SCN)
2268 / 3799096903 = 控制文件 SCN (基數/換算值)
2268 / 3799098345 = 數據文件 SCN (較大)
需將控制文件 SCN 推進至 ≥ 3799098345。
-- 在 MOUNT 狀態下執行
ALTER SESSION SET EVENTS '10015 TRACE NAME ADJUST_SCN LEVEL 1';
-- 或指定目標 SCN (高版本支持)
-- ALTER SESSION SET EVENTS '10015 TRACE NAME ADJUST_SCN LEVEL 3799099000';
ALTER DATABASE OPEN RESETLOGS;
-- Database altered.
實例成功開啟!
ALTER TABLESPACE TEMP ADD TEMPFILE '/ora10g/app/oradata/ldbra/temp01.dbf' SIZE 50M REUSE;
-- Tablespace altered.
ZERODBID(0) → DBID 歸零 → CKPT 終止實例。ORA-600 kcvhvdf_1)。KCCFHDBI (DBID) + KCCFHFLG (Fuzzy=0x2000)。RESETLOGS 成功。OPEN RESETLOGS 卡 ORA-600 [2662] (SCN 滯後)。10015 ADJUST_SCN 推進控制文件 SCN。OPEN RESETLOGS 成功 → 添加 TEMP 文件 → 恢復完成。BBED MODE=READ 熟悉文件頭結構,寫模式極謹慎。DBV、ANALYZE ... VALIDATE STRUCTURE、核心業務查詢對比、導出導入關鍵表。SYS 直接調用內部包權限,變更 DBID 強制走 NID 流程並審批。從 DBID 歸零到實例正常開啟,跨越了「元數據修復 → 結構重建 → SCN 推進」三大關卡。這條鏈路雖屬極端個案,但其中的「備份先行、分層驗證、工具精通、流程固化」思維,普適於所有高難度故障恢復場景。