控制檔案部分丟失的恢復

jane_pop發表於2014-08-18
報錯資訊:
SQL> startup
ORACLE instance started.
Total System Global Area  849530880 bytes
Fixed Size                  1339824 bytes
Variable Size             515903056 bytes
Database Buffers          327155712 bytes
Redo Buffers                5132288 bytes
ORA-00205: error in identifying control file, check alert log for more info
從錯誤看出oracle的控制檔案丟失了,檢視警報日誌檔案獲取詳細資訊:
ALTER DATABASE   MOUNT
ORA-00210: cannot open the specified control file
ORA-00202: control file: '/u01/app/oracle/oradata/orcl/control01.ctl'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
ORA-205 signalled during: ALTER DATABASE   MOUNT...
Sun Aug 17 21:00:13 2014
Checker run found 1 new persistent data failures
錯誤顯示無法找到control01.ctl。

我們看看oracle擁有的控制檔案:
SQL> show parameter control_file
NAME                                       TYPE        VALUE
------------------------------------    ----------- ------------------------------
control_file_record_keep_time        integer     7
control_files                                  string      /u01/app/oracle/oradata/orcl/c
                                                                 ontrol01.ctl, /u01/app/oracle/
                                                                 flash_recovery_area/orcl/contr
                                                                  ol02.ctl

可以看到,資料庫擁有兩個控制檔案,是部分控制檔案丟失引起資料庫無法正常mount,
因此我們可以透過將完好的controlfile02.ctl複製到control01.ctl原來的目錄下。
[oracle@localhost orcl]$ ls
control02.ctl
[oracle@localhost orcl]$ cp ./control02.ctl /u01/app/oracle/oradata/orcl
[oracle@localhost orcl]$ cd /u01/app/oracle/oradata/orcl
[oracle@localhost orcl]$ ls
a01.dbf        redo01.log  sysaux01.dbf  test01.dbf
control02.ctl  redo02.log  system01.dbf  undotbs01.dbf
example01.dbf  redo03.log  temp01.dbf    users01.dbf
[oracle@localhost orcl]$ mv ./control02.ctl ./control01.ctl
[oracle@localhost orcl]$ ls
a01.dbf        redo01.log  sysaux01.dbf  test01.dbf
control01.ctl  redo02.log  system01.dbf  undotbs01.dbf
example01.dbf  redo03.log  temp01.dbf    users01.dbf

重新開啟資料庫:
SQL> startup
ORACLE instance started.

Total System Global Area  849530880 bytes
Fixed Size                  1339824 bytes
Variable Size             515903056 bytes
Database Buffers          327155712 bytes
Redo Buffers                5132288 bytes
Database mounted.
Database opened.





























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

相關文章