[oracle@dbserver sztech1]$ pwd
/oracle/app/oracle/oradata/sztech1
[oracle@dbserver sztech1]$ ls
example01.dbf redo02.log sysaux01.dbf temp01.dbf users01.dbf
redo01.log redo03.log system01.dbf undotbs01.dbf
执行破坏动作,将一个控制文件删掉。
[oracle@dbserver sztech1]$ rm -f control01.ctl
重启后就会出错,如:
ORACLE instance started.
Total System Global Area 313860096 bytes
Fixed Size 1336232 bytes
Variable Size 234884184 bytes
Database Buffers 71303168 bytes
Redo Buffers 6336512 bytes
SQL> 1* alter database archivelog
SQL> alter database mount;
alter database mount
*
ORA-00205: error in identifying control file, check alert log for more info
解决办法:
将另一个控制文件复制到丢失的控制文件目录下
[oracle@dbserver sztech1]$ pwd
/oracle/app/oracle/flash_recovery_area/sztech1
[oracle@dbserver sztech1]$ cp control02.ctl
/oracle/app/oracle/oradata/sztech1/control01.ctl
[oracle@dbserver sztech1]$ cd /oracle/app/oracle/oradata/sztech1
[oracle@dbserver sztech1]$ ls
control01.ctl redo01.log redo03.log system01.dbf undotbs01.dbf
example01.dbf redo02.log sysaux01.dbf temp01.dbf users01.dbf
这时候就能执行成功了
SQL> r
1* alter database mount