ORA-00214错误原因之一

操作

数据库原来的控制文件只有一个E:\app\phf\oradata\orcl\CONTROL01.CTL,通过select  * from v$control_flies查看,想多增加一个控制文件F:\CONTROL02.CTL。

于是作了以下步骤:

(1)把E:\app\phf\oradata\orcl\CONTROL01.CTL拷一份为F:\CONTROL02.CTL

(2)在数据库中执行:alter system set control_files='E:\app\phf\oradata\orcl\CONTROL01.CTL', 'F:\CONTROL03.CTL' scope=spfile; commit;

(3)重启数据库,出现报错

ORA-00214: ???? ''E:\app\phf\oradata\orcl\CONTROL01.CTL'' ?? 1173 ???
''F:\CONTROL03.CTL'' ?? 1158 ??? 

原因分析

上面的操作是先创建文件后该的参数,再关闭数据库时,第一个控制文件有所改动了,但此时新加的第二个控制文件还没生效不会同步改动,这样就导致了两个控制文件不一致。再启动数据库时就会报刚才的错了。

正确方案

先改参数再创建增的控制文件

(1)在数据库中执行:alter system set control_files='E:\app\phf\oradata\orcl\CONTROL01.CTL', 'F:\CONTROL03.CTL' scope=spfile; commit;

  此时第二个控制文件还没生效,这个文件F:\CONTROL03.CTL在磁盘中现在还没有。

(2)关闭数据库

(2)把E:\app\phf\oradata\orcl\CONTROL01.CTL拷一份为F:\CONTROL02.CTL

(3)启动数据库,一切正常。查看select  * from v$control_flies 可以看到有两个控制文件了。

你可能感兴趣的:(ORA-00214,多路复用控制文件)