Oracle 多路复用控制文件
时间:2011-04-07 来源:silverVan
Oracle 的控制文件很小,但其包裹的信息很重要,相对于物理数据库的一个元数据库控制文件,包含数据库的结构信息。
这里用的多路复用技术是用的是SPFILE文件,位于 /ora10/dbs 目录下,因为是二进制文件,无法用vi或 gedit打开。只能通过SQL语句,或者OEM 。这里只讲SQL 语句。
首先关闭数据库,复制控制,这里默认是复制到同文件夹下
$ cp /ora10/oradata/ora1/control01.ctl /ora10/oradata/ora1/control02.ctl
让数据库出于mount状态,才能在SPFILE 对CONTROL_FILE选项进行操作
SQL> startup mount
对SPFILE文件进行操作
SQL>alter system set control_files='/opt/ora10/oradata/ora1/control01.ctl', '/opt/ora10/oradata/ora1/control02.ctl' scope=spfile;
重新打开数据库
SQL>alter database open;
查看控制文件
select * from v$controlfile;
如果可以正常打开数据库,则说明多路复用操作完成。
但如果发现有错,则要检查错误说明
ORA-00214: control file '/opt/ora10/oradata/ora1/control01.ctl' version 596
inconsistent with file '/opt/ora10/oradata/ora1/control02.ctl' version 576
这里说的是控制文件版本不一致,但是,明明是从另外一个文件复制过去的,怎么会发生这样的错误我也解释不清楚。
最后只有重做控制文件了。