运行过程丢失主控制文件

   控制文件记录ORACLE数据库的物理结构。如果关闭的时候丢失控制文件,数据库将不会被MOUNT,更不用说打开了。但是如果在运行过程中控制

文件全部被删除,ORACLE数据库将会ABORT。如果控制文件没有全部丢失,只要有一个可以用,数据库就可以继续运行。但是如果丢失了初始化

参数control_files 列出的第一个文件(主控制文件),其他的还存在,哪么对于控制文件的写操作没什么问题,但是涉及到数据库的读操作,ORACLE将会报

错。
如下所示:
SQL> SHOW PARAMETER CONTROL_FILES

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_files                        string      /u01/oradata/YSP/control01.ctl
                                                 , /u01/oradata/YSP/control02.c
                                                 tl, /u01/oradata/YSP/control03
                                                 .ctl
SQL> ! ls -lh /u01/oradata/YSP/*.ctl
-rw-r-----  1 oracle oinstall 6.8M May 12 23:52 /u01/oradata/YSP/control02.ctl

可以看到控制文件只有一个了,并且初始化参数列出的第一个控制文件已丢失。

执行以下日志切换(日志的切换,会将当前的日志归档,并且将归档的文件名记录在控制文件中。)
SQL> ALTER SYSTEM SWITCH LOGFILE;

System altered.,

执行以下控制文件的读操作:

SQL> SELECT * FROM V$DATABASE;
SELECT * FROM V$DATABASE
              *
ERROR at line 1:
ORA-00210: cannot open the specified control file
ORA-00202: control file: '/u01/oradata/YSP/control01.ctl'
ORA-27041: unable to open file
Linux Error: 2: No such file or directory
Additional information: 3


可以看到数据库报错了。
由于ORACLE在读取控制文件的时候,只读CONTROL_FILES列出的第一个文件,所以删除这个文件,会导致读失败,即使其他文件还存在。

此时,数据库都不能正常关闭
SQL> SHUTDOWN IMMEDIATE;
ORA-00210: cannot open the specified control file
ORA-00202: control file: '/u01/oradata/YSP/control01.ctl'
ORA-27041: unable to open file
Linux Error: 2: No such file or directory
Additional information: 3

我们只能强制关闭数据库
SQL> SHUTDOWN ABORT;
ORACLE instance shut down.

还原丢失的控制文件

[oracle@node2 ~]$ cp /u01/oradata/YSP/control02.ctl /u01/oradata/YSP/control01.ctl
[oracle@node2 ~]$ cp /u01/oradata/YSP/control02.ctl /u01/oradata/YSP/control03.ctl

重新启动数据库。

 

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16162908/viewspace-594913/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/16162908/viewspace-594913/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值