操作失誤導(dǎo)致Oracle數(shù)據(jù)庫(kù)大恢復(fù)的方法
以下的相關(guān)內(nèi)容主要介紹的是,解決由于一次誤操作而引起的Oracle數(shù)據(jù)庫(kù)大恢復(fù)的另外一種語(yǔ)法即,重建控制文件(重建控制文件之前,備份controlfile和online redolog)的實(shí)際操作方案。
引用
- Create controlfile reuse set database "LDBRA"
- MAXINSTANCES 8
- MAXLOGHISTORY 1
- MAXLOGFILES 16
- MAXLOGMEMBERS 3
- MAXDATAFILES 100
- 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'
- LOGFILE GROUP 1 ('/ora10g/app/oradata/ldbra/redo01.log')
SIZE 51200K,- GROUP 2 ('/ora10g/app/oradata/ldbra/redo02.log')
SIZE 51200K,- GROUP 3 ('/ora10g/app/oradata/ldbra/redo03.log')
SIZE 51200K RESETLOGS;
用上述相關(guān)語(yǔ)句來(lái)解決由于一次誤操作而引起的Oracle數(shù)據(jù)庫(kù)大恢復(fù)的操作似乎重建成功了!但是進(jìn)行recover的時(shí)候報(bào)錯(cuò)了!
引用
- SQL> RECOVER DATABASE USING BACKUP CONTROLFILE;
- ORA-00283: recovery session canceled due to errors
- ORA-00600: internal error code, arguments: [kcvhvdf_1],
[], [], [], [], [], [],- []
可以看到控制文件在重建的過(guò)程中進(jìn)行了dbid重置
引用
- SQL> select dbid from v$database;
- DBID
- 1498845164
問(wèn)題到這里似乎失去了頭緒,呵呵,拷回之前備份的控制文件替換剛建的控制文件。因?yàn)槲也捎玫氖莚esetlog選項(xiàng)創(chuàng)建控制文件,從理論上來(lái)講,應(yīng)該是會(huì)重置redolog的,即重新創(chuàng)建redolog。但是目前采用此選項(xiàng)確報(bào)ORA-01227錯(cuò)誤。不可思議!后來(lái)一想可能是跟數(shù)據(jù)文件中的dbid為0有關(guān)。于是采用終極修復(fù)方法,bbed!首先將所有數(shù)據(jù)文件的dbid用bbed工具重置為1488207495,其次將fuzzy標(biāo)記打?yàn)?x2000(因?yàn)閿?shù)據(jù)庫(kù)被ckpt進(jìn)程異常終止,將標(biāo)記打?yàn)?x2000表示數(shù)據(jù)庫(kù)是shutdown immediate關(guān)閉),采用上述方法之后控制文件成功創(chuàng)建!
引用
- SQL> STARTUP NOMOUNT
- CREATE CONTROLFILE REUSE DATABASE "LDBRA" RESETLOGS
ARCHIVELOG- MAXLOGFILES 16
- MAXLOGMEMBERS 3
- MAXDATAFILES 100
- MAXINSTANCES 8
- MAXLOGHISTORY 292
- LOGFILE
- ORACLE instance started.
- Total System Global Area 1073741824 bytes
- Fixed Size 1271616 bytes
- Variable Size 461375680 bytes
- Database Buffers 608174080 bytes
- Redo Buffers 2920448 bytes
- 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
- 21 ;
- Control file created.
嘗試打Oracle開(kāi)數(shù)據(jù)庫(kù)
- SQL> alter database open RESETLOGS;
出現(xiàn)數(shù)據(jù)庫(kù)掛起狀態(tài),后臺(tái)alert日志顯示[2662]錯(cuò)誤,呵呵,看到這個(gè)錯(cuò)誤,希望就來(lái)了!
引用
- SMON: enabling cache recovery
- Tue Mar 9 03:11:38 2010
- Errors in file /ora10g/app/admin/ldbra/udump/
ldbra_ora_13676.trc:- ORA-00600: internal error code, arguments:
[2662], [2268], [3799096903], [2268], [3799098345],
[8388617], [], []- Tue Mar 9 03:11:40 2010
- Errors in file /ora10g/app/admin/ldbra/udump/
ldbra_ora_13676.trc:- ORA-00600: internal error code, arguments: [2662],
[2268], [3799096903], [2268], [3799098345], [8388617],
[], []- Tue Mar 9 03:11:40 2010
以上的相關(guān)內(nèi)容就是對(duì)解決由于一次誤操作而引起的Oracle數(shù)據(jù)庫(kù)大恢復(fù)的另外一種語(yǔ)法重建控制文件的實(shí)際操作介紹,望你能有所收獲。
【編輯推薦】
- Oracle綁定變量如何提升相關(guān)效率
- Oracle導(dǎo)入時(shí)需要用到兩個(gè)相關(guān)程序
- Oracle實(shí)現(xiàn)跨服務(wù)器操作詳解
- 關(guān)閉Oracle死鎖進(jìn)程的具體操作步驟
- 關(guān)閉Oracle死鎖進(jìn)程的具體操作步驟