時(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
引用
?
- SQL>?select?dbid?from?v$database; ?
- DBID ?
- 1488207495 ?
?
修改dbid
引用
?
- SQL>?exec?dbms_backup_restore.zerodbid(0); ?
- PL/SQL?procedure?successfully?completed. ?
?
貌似執(zhí)行成功了,但隨后alert日志顯示ckpt進(jìn)程將數(shù)據(jù)實(shí)例終止
引用
?
- Tue?Mar?9?01:43:22?2010 ?
- CKPT:?terminating?instance?due?to?error?1242 ?
- Instance?terminated?by?CKPT,?pid?=?16653?
- Tue?Mar?9?01:43:53?2010 ?
?
再次啟動(dòng)Oracle數(shù)據(jù)庫(kù)報(bào)錯(cuò)
引用
?
- Tue?Mar?9?01:56:09?2010 ?
- Errors?in?file?/ora10g/app/admin/ldbra/udump/ldbra_ora_12275.trc: ?
- ORA-01221:?data?file?1?is?not?the?same?file?to?a?background?process ?
- ORA-1221?signalled?during:?ALTER?DATABASE?OPEN... ?
?
dump Oracle數(shù)據(jù)文件頭
引用
?
- SQL>?ALTER?SESSION?SET?EVENTS?'immediate?trace?name?file_hdrs?level?3';?
通過(guò)跟蹤文件可以看到dbid以被重置為0
引用
?
- V10?STYLE?FILE?HEADER: ?
- Compatibility?Vsn?=?169870080=0xa200300 ?
- Db?ID=0=0x0,?Db?Name='LDBRA'?
- Activation?ID=0=0x0 ?
- Control?Seq=8122=0x1fba,?File?size=65280=0xff00 ?
- File?Number=1,?Blksiz=8192,?File?Type=3?DATA ?
?
還有一種途徑是通過(guò)bbed工具觀察
引用
?
- struct?kcvfhhdr,?76?bytes?@20 ?
- ub4?kccfhswv?@20?0x00000000 ?
- ub4?kccfhcvn?@24?0x0a200300 ?
- ub4?kccfhdbi?@28?0x00000000 ?
?
當(dāng)然第一反應(yīng)是重建控制文件,看看能不能恢復(fù)成功
引用
?
- SQL>?alter?database?backup?controlfile?to?trace; ?
- Database?altered. ?
- 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 ?
- --?STANDBY?LOGFILE ?
- 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
關(guān)鍵詞標(biāo)簽:Oracle數(shù)據(jù)庫(kù)恢復(fù)
相關(guān)閱讀
熱門(mén)文章 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 oracle中使用SQL語(yǔ)句修改字段類(lèi)型-oracle修改SQL語(yǔ)句案例 誤刪Oracle數(shù)據(jù)庫(kù)實(shí)例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索
人氣排行 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刪除表的幾種方法