由于RAC建立时控制文件没有做冗余,所以需要新增一个

1.备份参数文件

sqlplus /  as sysdba 
SQL> create pfile='/tmp/spfile-bk.ora' from spfile;

2. 更新控制文件

sqlplus '/ as sysdba'        
SQL> select name from v$controlfile;      

NAME        
--------------------------------------------------------------------------------       
 +DATA01/test/controlfile/current.200.165920580

SQL> alter system set control_files='+DATA01/test/controlfile/current.200.165920580','+FRA01' scope=spfile sid='*';

3. 关闭数据库

srvctl stop database -d dwdev

4. 启动数据库值nomount

rac其中一节点

rman target /
RMAN>restore controlfile from '+DATA1/test/controlfile/current.200.165920580';

 Starting restore at 01-APR-15
 allocated channel: ORA_DISK_10
 channel ORA_DISK_1: sid=testinstance=testdevtype=DISK

 channel ORA_DISK_1: copied control file copy
 output filename=+DATA1/test/controlfile/current.200.165920580
 output filename=+FRA01/test/controlfile/current.200.693721750
 Finished restore at 01-APR-15

5. 修改controlfile参数

sqlplus  / as sysdba
SQL> alter system set control_files='+DATA01/test/controlfile/current.200.165920580','+FRA01/test/controlfile/current.200.693721750' scope=spfile sid='*';

6. 重新启动数据库

各个节点

sqlplus / as sysdba
SQL> shutdown immediate;
SQL>startup

或者

一个节点

srvctl start database -d dwdev

7.检查控制文件状态

SQL> select name from v$controlfile;        
NAME        
------------------------------------------------------------------        
+DATA01/test/controlfile/current.200.165920580        
+FRA01/test/controlfile/current.200.693721750

8.删除备份的参数文件

rm /tmp/spfile-bk.ora