配置Oracle数据库控制文件冗余的操作过程:
查看数据字典v$controlfile来获取现有控制文件信息
	
		- 
			SQL> set lines 200;
		 
		- 
			SQL> col name for a50;
		 
		- 
			SQL> select * from v$controlfile;
		 
		- 
			
		 
		- 
			STATUS    NAME                   IS_ BLOCK_SIZE FILE_SIZE_BLKS
		 
		- 
			------- ------------------------------ --- ---------- --------------
		 
		- 
			    /data/cams/control01.ctl       NO    16384         692
		 
		- 
			    /data/cams/control02.ctl       NO    16384         692
		
 
	
 
	此处发现两个控制文件在一个路径下,显然不安全,现在对控制文件做冗余
	查看spfile信息:
	
		- 
			SQL> show parameter pfile;
		 
		- 
			
		 
		- 
			NAME                 TYPE     VALUE
		 
		- 
			------------------------------------ ----------- ------------------------------
		 
		- 
			spfile                     string     /oradata/oracle/product/11.2.0
		 
		- 
			                                 /db_1/dbs/spfilecams.ora
		
 
	
 
	关闭数据库,创建pfile文件
	
		- 
			SQL> create pfile from spfile;
		 
		- 
			SQL> !ls /oradata/oracle/product/11.2.0/db_1/dbs
		 
		- 
			hc_cams.dat  initcams.ora  init.ora  lkCAMS  orapwcams    snapcf_cams.f  spfilecams.ora
		 
		- 
			SQL> !vi /oradata/oracle/product/11.2.0/db_1/dbs/initcams.ora
		 
		- 
			
		 
		- 
			修改*.control_files='/data/cams/control01.ctl','/data/cams/control02.ctl'内容为
		 
		- 
			*.control_files='/data/cams/control01.ctl','/file/cams/controlfile/control02.ctl','/backup/cams/controlfile/control03.ctl'
		
 
	
 
	创建路径
	
		- 
			mkdir -p /file/cams/controlfile
		 
		- 
			mkdir -p /backup/cams/controlfile
		
 
	
 
	拷贝现有控制文件至存储路径中
	
		- 
			SQL> !ls /file/cams/controlfile
		 
		- 
			control02.ctl
		 
		- 
			
		 
		- 
			SQL> !ls /backup/cams/controlfile
		 
		- 
			control03.ctl
		
 
	
 
	通过pfile启动oracle,并新创建spfile
	
		- 
			SQL> startup pfile='/oradata/oracle/product/11.2.0/db_1/dbs/initcams.ora';
		 
		- 
			SQL> create spfile from pfile;
		 
		- 
			SQL> shutdown immediate;
		 
		- 
			SQL> startup;
		
 
	
 
总结操作过程:
(1)利用数据字典v$controlfile来获取现有控制文件信息。
(2)查看spfile所在路径
(3)正常关闭数据库
(4)利用spfile文件创建pfile文件
(5)修改pfile文件中的CONTROL_FILES参数,修改为最新的控制文件信息
(6)创建新的文件路径,并将现有控制文件拷贝到指定位置
(7)通过pfile启动oracle,并新创建spfile
(8)关闭数据库,利用spfile参数文件启动数据库
其他说明:
(1)如果数据库使用pfile启动,没有spfile,可以省略spfile和pfile切换过程,直接修改pfile即可。
(2)本文操作也可不使用spfile转化为pfile后进行修改的操作,使用alter system set control_files = XXX scope=spfile;命令实现改变CONTROL_FILES参数信息。
(3)修改完成后建议进行检查,查看v$controlfile以及服务器上的物理控制文件。
(4)如果操作完成后出现无用控制文件,比如用不到原控制文件了,建议在操作完成后删除无用的控制文件,避免出现系统垃圾文件。