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