實驗背景:
當我們在模擬控制文件丟失的實驗時,將控制文件重命名,當我們恢復控制文件後,再次打開數據庫時,發現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'文件;
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 數據庫正常打開