从错误看出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,
[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.