控制文件记录数据库的结构信息,是数据库的核心文件,一般情况下为了数据库安全运行会多路复用数据库的控制文件,
在日常管理中DBA会遇到因为误操作导致控制文件损坏或误删除致使数据库无法正常启动的情况,下面就提供解决这一问题的办法:
示例:
本示例的测试库
中有两个控制文件:ora_control1.ctl,ora_control1.ct2
1. 先复制任意一个控制文件到任意目录:
[oracle@china ORA]$ cp ora_control1.ctl ora_control1.ctlbak
2. 关闭数据库
SQL>shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
3. 删除ora_control1.ctl文件并且执行
[oracle@china ORA]$ rm ora_control1.ctl
[oracle@china ORA]$ cp ora_control1.ctl.bak ora_control1.ctl
4.数据库启动到nomount状态(该状态为参数文件不会受到影响)
SQL>startup nomount;
ORACLE instance started.
Total System Global Area 830930944 bytes
Fixed Size 2257800 bytes
Variable Size 536874104 bytes
Database Buffers 285212672 bytes
Redo Buffers 6586368 bytes
5. 第二步启动到mount状态,此时会出现如下错误:
SQL>alter database mount
ERROR at line 1:
ORA-00214: control file '/u01/app/oracle/oradata/ORA/ora_control2.ctl' version
516 inconsistent with file '/u01/app/oracle/oradata/ORA/ora_control1.ctl'
version 513
此时ora_comtrol2.ctl 的版本为516,ora_comtrol1.ctl的版本为513,版本不一样执行错误。
6. 此时复制ora_comtrol2.ctl到ora_comtrol1.ctl执行如下语句
[oracle@china ORA]$ cp ora_control2.ctl ora_control1.ctl
7. 完成之后就可以正常启动数据库。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31362743/viewspace-2123817/
,如需转载,请注明出处,否则将追究法律责任。