由于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