ORA-01207:文件比控制文件更新 - 舊的控制文件

實驗背景:

          當我們在模擬控制文件丟失的實驗時,將控制文件重命名,當我們恢復控制文件後,再次打開數據庫時,發現ORA-01207:文件比控制文件更新-舊的控制文件

實驗環境:

          windows2003 32位,oracle11g

          SQL> select * from v$version;


BANNER
--------------------------------------------------------------------------------


Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
PL/SQL Release 11.2.0.1.0 - Production
CORE    11.2.0.1.0      Production
TNS for 32-bit Windows: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production

實驗目的:

            正常打開數據庫。

實驗步驟:

1.SQL> alter database backup controlfile to trace as 'c:\controlfile'; 
數據庫已更改。 
2.SQL> shutdown immediate    如果數據庫是打開狀態,則關閉 
ORA-01109: 數據庫未打開 
已經卸載數據庫 
3.SQL> startup nomount; 
ORACLE 例程已經啓動。 
Total System Global Area 105979576 bytes 
Fixed Size 454328 bytes 
Variable Size 79691776 bytes 
Database Buffers 25165824 bytes 
Redo Buffers 667648 bytes

  
4.打開之前生成的c:\controlfile'文件; 

其實在這個文件中的已經告訴你咋樣恢復你的數據庫了,找到STARTUP NOMOUNT字樣(有好幾處),然後下面可以看到類似語句,這個文件有好幾個類似的生成控制文件語句,主要針對不同的環境執行不同的語句,象我的數據庫沒有做任何備份,也不是在歸檔模式,就執行這句(刪除其中的註釋行,刪除不需要的數據文件,中間不要有任何空行; 碰到錯誤執行SQL> shutdown abort ;SQL> startup nomount; ) 

SQL> ed
已寫入 file afiedt.buf
  1  CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS  ARCHIVELOG
  2      MAXLOGFILES 16
  3      MAXLOGMEMBERS 3
  4      MAXDATAFILES 100
  5      MAXINSTANCES 8
  6      MAXLOGHISTORY 292
  7  LOGFILE
  8    GROUP 1 'C:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG'  SIZE 50M BLOCKSIZ
E 512,
  9    GROUP 2 'C:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG'  SIZE 50M BLOCKSIZ
E 512,
 10    GROUP 3 'C:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG'  SIZE 50M BLOCKSIZ
E 512
 11  -- STANDBY LOGFILE
 12  DATAFILE
 13    'C:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF',
 14    'C:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF',
 15    'C:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF',
 16    'C:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF',
 17    'C:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DBF',
 18    'C:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS02.DBF',
 19    'C:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS03.DBF',
 20    'C:\APP\ADMINISTRATOR\ORADATA\ORCL\PAR_DATA01',
 21    'C:\APP\ADMINISTRATOR\ORADATA\ORCL\PAR_DATA02',
 22    'C:\APP\ADMINISTRATOR\ORADATA\ORCL\PAR_DATA03',
 23    'C:\APP\ADMINISTRATOR\ORADATA\ORCL\CLOB_DATA',
 24    'C:\APP\ADMINISTRATOR\ORADATA\ORCL\ORCL\DATAFILE\O1_MF_WHD_MSSM_92B21HJH_
.DBF',
 25    'C:\APP\ADMINISTRATOR\ORADATA\ORCL\ORCL\DATAFILE\O1_MF_WHD_ASSM_92B22JRK_
.DBF',
 26    'C:\APP\ADMINISTRATOR\ORADATA\ORCL\ORCL\DATAFILE\O1_MF_LOCAL_MA_92B2L680_
.DBF',
 27    'C:\APP\ADMINISTRATOR\ORADATA\ORCL\ORCL\DATAFILE\O1_MF_ASSM_WHD_92B30J0R_
.DBF',
 28    'C:\APP\ADMINISTRATOR\ORADATA\ORCL\ORCL\DATAFILE\O1_MF_MSSM_WHD_92B313O0_
.DBF',
 29    'C:\APP\ADMINISTRATOR\ORADATA\ORCL\ORCL\DATAFILE\O1_MF_AUTO_WHD_92B395TD_
.DBF',
 30    'C:\APP\ADMINISTRATOR\ORADATA\ORCL\ORCL\DATAFILE\O1_MF_UNIFORM__92B3BGQK_
.DBF'
 31* CHARACTER SET ZHS16GBK
 32  /
控制文件已創建。
SQL> recover database;
ORA-00283: ??????????                                          (恢復指定表空間、數據文件或整個數據庫) ; 即使出現錯誤也可以正常使用。
ORA-01610: ?? BACKUP CONTROLFILE ??????????
SQL> alter database open resetlogs;                         
數據庫已更改。
SQL> alter database open;                                     ( 即使出現錯誤也可以正常使用。 )
alter database open
*
第 1 行出現錯誤:
ORA-01531: ????????????????             
SQL> shutdown immediate;
數據庫已經關閉。
已經卸載數據庫。
ORACLE 例程已經關閉。
SQL> startup;
ORACLE 例程已經啓動。
Total System Global Area  556584960 bytes
Fixed Size                  1375932 bytes
Variable Size             293601604 bytes
Database Buffers          255852544 bytes
Redo Buffers                5754880 bytes
數據庫裝載完畢。
數據庫已經打開。
SQL> select status from v$instance;
STATUS
------------
OPEN                                                                           數據庫正常打開

發佈了20 篇原創文章 · 獲贊 1 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章