IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類(lèi)|軟件專(zhuān)題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁(yè)數(shù)據(jù)庫(kù)Oracle → Oracle數(shù)據(jù)庫(kù)的大恢復(fù)(誤操作而引起)

Oracle數(shù)據(jù)庫(kù)的大恢復(fù)(誤操作而引起)

時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)

以下的文章主要介紹的是由于一次誤操作而引起的Oracle數(shù)據(jù)庫(kù)的大恢復(fù),前兩天我在Oracle 10g手動(dòng)建庫(kù)腳本中柔然看到dbms_backup_restore.zerodbid(0)的過(guò)程,其中主要的作用是修改Oracle數(shù)據(jù)庫(kù)的dbid。

于是想通過(guò)該存儲(chǔ)直接在sqlplus中執(zhí)行修改dbid。

修改之前記錄其dbid

引用

?

  1. SQL>?select?dbid?from?v$database; ?
  2. DBID ?
  3. 1488207495 ?

?

修改dbid

引用

?

  1. SQL>?exec?dbms_backup_restore.zerodbid(0); ?
  2. PL/SQL?procedure?successfully?completed. ?

?

貌似執(zhí)行成功了,但隨后alert日志顯示ckpt進(jìn)程將數(shù)據(jù)實(shí)例終止

引用

?

  1. Tue?Mar?9?01:43:22?2010 ?
  2. CKPT:?terminating?instance?due?to?error?1242 ?
  3. Instance?terminated?by?CKPT,?pid?=?16653?
  4. Tue?Mar?9?01:43:53?2010 ?

?

再次啟動(dòng)Oracle數(shù)據(jù)庫(kù)報(bào)錯(cuò)

引用

?

  1. Tue?Mar?9?01:56:09?2010 ?
  2. Errors?in?file?/ora10g/app/admin/ldbra/udump/ldbra_ora_12275.trc: ?
  3. ORA-01221:?data?file?1?is?not?the?same?file?to?a?background?process ?
  4. ORA-1221?signalled?during:?ALTER?DATABASE?OPEN... ?

?

dump Oracle數(shù)據(jù)文件頭

引用

?

  1. SQL>?ALTER?SESSION?SET?EVENTS?'immediate?trace?name?file_hdrs?level?3';?

通過(guò)跟蹤文件可以看到dbid以被重置為0

引用

?

  1. V10?STYLE?FILE?HEADER: ?
  2. Compatibility?Vsn?=?169870080=0xa200300 ?
  3. Db?ID=0=0x0,?Db?Name='LDBRA'?
  4. Activation?ID=0=0x0 ?
  5. Control?Seq=8122=0x1fba,?File?size=65280=0xff00 ?
  6. File?Number=1,?Blksiz=8192,?File?Type=3?DATA ?

?

還有一種途徑是通過(guò)bbed工具觀察

引用

?

  1. struct?kcvfhhdr,?76?bytes?@20 ?
  2. ub4?kccfhswv?@20?0x00000000 ?
  3. ub4?kccfhcvn?@24?0x0a200300 ?
  4. ub4?kccfhdbi?@28?0x00000000 ?

?

當(dāng)然第一反應(yīng)是重建控制文件,看看能不能恢復(fù)成功

引用

?

  1. SQL>?alter?database?backup?controlfile?to?trace; ?
  2. Database?altered. ?
  3. STARTUP?NOMOUNT ?
  4. CREATE?CONTROLFILE?REUSE?DATABASE?"LDBRA"?RESETLOGS?ARCHIVELOG ?
  5. MAXLOGFILES?16 ?
  6. MAXLOGMEMBERS?3 ?
  7. MAXDATAFILES?100 ?
  8. MAXINSTANCES?8 ?
  9. MAXLOGHISTORY?292 ?
  10. LOGFILE ?
  11. GROUP?1?'/ora10g/app/oradata/ldbra/redo01.log'?SIZE?50M, ?
  12. GROUP?2?'/ora10g/app/oradata/ldbra/redo02.log'?SIZE?50M, ?
  13. GROUP?3?'/ora10g/app/oradata/ldbra/redo03.log'?SIZE?50M ?
  14. --?STANDBY?LOGFILE ?
  15. DATAFILE ?
  16. '/ora10g/app/oradata/ldbra/system01.dbf', ?
  17. '/ora10g/app/oradata/ldbra/undotbs01.dbf', ?
  18. '/ora10g/app/oradata/ldbra/sysaux01.dbf', ?
  19. '/ora10g/app/oradata/ldbra/users01.dbf', ?
  20. '/ora10g/app/oradata/ldbra/example01.dbf', ?
  21. '/ora10g/app/product/10.2.0/db_1/dbs/company.dbf', ?
  22. '/ora10g/app/product/10.2.0/db_1/dbs/streams.dbf' ?
  23. CHARACTER?SET?ZHS16GBK

關(guān)鍵詞標(biāo)簽:Oracle數(shù)據(jù)庫(kù)恢復(fù)

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門(mén)文章 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 oracle中使用SQL語(yǔ)句修改字段類(lèi)型-oracle修改SQL語(yǔ)句案例 oracle中使用SQL語(yǔ)句修改字段類(lèi)型-oracle修改SQL語(yǔ)句案例 誤刪Oracle數(shù)據(jù)庫(kù)實(shí)例的控制文件 誤刪Oracle數(shù)據(jù)庫(kù)實(shí)例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索 為UNIX服務(wù)器設(shè)置Oracle全文檢索

相關(guān)下載

    人氣排行 oracle中使用SQL語(yǔ)句修改字段類(lèi)型-oracle修改SQL語(yǔ)句案例 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 ORACLE SQL 判斷字符串是否為數(shù)字的語(yǔ)句 ORACLE和SQL語(yǔ)法區(qū)別歸納(1) oracle grant 授權(quán)語(yǔ)句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法