恢復案例:無歸檔,丟失全部控制檔案、日誌檔案恢復案例

blue_prince發表於2005-01-12

1、檢視資料看歸檔狀態:
SQL> archive log list
Database log mode              No Archive Mode
Automatic archival             Enabled
Archive destination            d:oracleoradataxuearchive
Oldest online log sequence     103
Current log sequence           104

[@more@]

SQL> select * from t;

         A
----------
         1
         2
         4
         3

SQL> delete from t where rownum=1;

1 row deleted.

SQL> commit;

Commit complete.

SQL> select * from t;

         A
----------
         2
         4
         3

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
2、模擬介質損壞,刪除全部控制檔案、日誌檔案:
SQL> host del d:oracleoradataxue*.ctl

SQL> host del d:oracleoradataxue*.log
3、啟動資料庫,報錯:
SQL> startup
ORACLE instance started.

Total System Global Area   64035360 bytes
Fixed Size                   453152 bytes
Variable Size              41943040 bytes
Database Buffers           20971520 bytes
Redo Buffers                 667648 bytes
ORA-00205: error in identifying controlfile, check alert log for more info
4、建立控制檔案:
SQL> create controlfile reuse database "XUE" resetlogs noarchivelog
  2  maxlogfiles 64
  3  maxlogmembers 4
  4  maxdatafiles 100
  5  maxinstances 1
  6  maxloghistory 10
  7  logfile
  8  group 1 'd:oracleoradataxueredo01.log' size 5M,
  9  group 2 'd:oracleoradataxueredo02.log' size 5M
 10  datafile 'd:oracleoradataxuesystem01.dbf',
 11   'd:oracleoradataxueundotbs01.dbf',
 12   'd:oracleoradataxueusers01.dbf',
 13   'd:oracleoradataxuetools01.dbf',
 14   'd:oracleoradataxueindx01.dbf'
 15  character set zhs16gbk;

Control file created.
這一步是關鍵所在,由於資料庫是正常關閉的,因此我們不需要例項恢復。在重建控制檔案的過程中,要注意的是要確認好資料檔案的位置。至於丟失的日誌檔案,會隨著建立控制檔案指令碼里面的logfile指定的位置和大小重新建立。
5、以重置方式開啟資料庫,驗證恢復成功:
SQL> alter database open resetlogs;

Database altered.

SQL> select * from t;

         A
----------
         2
         4
         3

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/60857/viewspace-786859/,如需轉載,請註明出處,否則將追究法律責任。

相關文章