損壞的 Oracle 11g 數據庫
在具有開發 Oracle 11.2.0.3/linux DB 的客戶端站點
斷電和崩潰 - 沒有歸檔日誌模式 - 沒有備份 - 甚至不知道這是如何執行的
選擇文件#,substr(name,1,70) 名稱、恢復、狀態、模糊、checkpoint_change#、checkpoint_time、resetlogs_change#、resetlogs_time from v$datafile_header;
FILE# NAME REC STATUS FUZ CHECKPOINT_CHANGE# CHECKPOINT_TIME RESETLOGS_CHANGE# RESETLOGS_TIME 1 /oracle/oradata/orcl/system01.dbf NO ONLINE YES 4663440487 08-MAR-2018 02:57:17 945184 04-APR-2012 12:07:59 2 /oracle/oradata/orcl/sysaux01.dbf YES ONLINE YES 3759618229 21-DEC-2016 22:19:41 945184 04-APR-2012 12:07:59 11 /oracle/oradata/orcl/rmdata01.dbf YES ONLINE YES 3759618229 21-DEC-2016 22:19:41 945184 04-APR-2012 12:07:59
基本計劃:
alter database datafile 2 offline drop; alter database datafile 11 offline drop; recover database ; export/import rebuild DB
不關心 sysaux,但是,我希望保留數據文件 11 中的任何內容。
即使數據文件 11 處於錯誤狀態,我也希望強制打開數據庫。
Oracle 表示,由於 SCN 非常老舊,任何隱藏參數都無濟於事。
您是否遇到過這種情況並成功恢復了數據?
對於任何想知道這是如何解決的人…
Bobby Durrett 是正確的,Oracle 確實有能力從塊中提取數據。
我聯繫了 Oracle ACS。他們派了一位頂級顧問並使用 Data UnLoader 工具 (DUL),順便說一句,這不是他們的產品,能夠從損壞的塊中提取數據。
基本上,您使用一些參數配置工具並辨識感興趣的數據文件。如果系統數據文件存在,它會有很大幫助。您可以告訴它創建 SQL*Loader 或 dmp 文件。它將跳過任何損壞的塊並移動到下一個塊。數據文件是冷讀取的,因此無需掛載或創建新實例或任何類似的東西。
警告:你得到的只是表 DDL 和數據。沒有使用者、約束、FK,所以你不是在恢復數據庫,只是在恢復數據。
它執行良好 - 在任何未損壞的塊上!