使用_allow_resetlogs_corruption開啟無歸檔日誌rman備份庫

yhj20041128001發表於2012-11-29
1 今天做HRMS Clone工作,需要更改資料庫名。改了資料庫名發現,資料庫打不開。報錯
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/opt/oracle/oradata/chf/system01.dbf'
 
2 檢視相關SCN
SQL> select file#,to_char(checkpoint_change#,'999999999999') from v$datafile;
SQL> select file#,online_status,to_char(change#,'999999999999') from v$recover_file;
SQL> select file#,to_char(checkpoint_change#,'999999999999') from v$datafile_header;
--發現資料檔案scn和控制檔案不一致,重建控制檔案,然後查詢相關scn
SQL> select file#,to_char(checkpoint_change#,'999999999999') from v$datafile;
SQL> select file#,online_status,to_char(change#,'999999999999') from v$recover_file;
SQL> select file#,to_char(checkpoint_change#,'999999999999') from v$datafile_header;
3.嘗試開啟資料庫
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/opt/oracle/oradata/chf/system01.dbf'
4.使用隱含引數開啟資料庫
SQL> create pfile='/tmp/pfile' from spfile;
  
File created.
  
-------/tmp/pfile中加上----------
_allow_resetlogs_corruption= TRUE
---------------------------------
  
SQL> startup mount pfile='/tmp/pfile' force
ORACLE instance started.
  
Total System Global Area  622149632 bytes
Fixed Size                  2230912 bytes
Variable Size             419431808 bytes
Database Buffers          192937984 bytes
Redo Buffers                7548928 bytes
Database mounted.
SQL> alter database open resetlogs;
  
Database altered.
  
SQL> select open_mode from v$database;
  
OPEN_MODE
--------------------
READ WRITE
小結:資料檔案的SCN大於資料檔案頭的SCN,可以嘗試使用隱含引數開啟資料庫。
 

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

相關文章