If the database has only one set of control file files, you need to add one or more groups to ensure that a set of files is corrupted or missing causing the database to crash.
--Environmental description
Sql> select * from V$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0-64bit Production
PL/SQL Release 11.2.0.4.0-production
CORE 11.2.0.4.0 Production
TNS for Linux:version 11.2.0.4.0-production
Nlsrtl Version 11.2.0.4.0-production
Sql> show parameter cluster;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
Cluster_database Boolean TRUE
Cluster_database_instances Integer 2
Cluster_interconnects string
0. Record the existing control file path
Sql>select name from V$controlfile; Sql> select name from V$controlfile;
NAME
--------------------------------------------------------------------------------
+data/devdb/controlfile/current.260.936769367
+flash/devdb/controlfile/current.256.936769367
1. Close two nodes
$ srvctl Stop database-d Devdb
2. Start Rman on one of the nodes
[[email protected] ~]$ Rman target/
Recovery manager:release 11.2.0.4.0-production on Tue Dec 27 16:59:10 2016
Copyright (c) 1982, Oracle and/or its affiliates. All rights reserved.
Connected to target database (not started)
3. Boot the database to the Nomount state
rman> startup Nomount;
Oracle instance started
Total System Global area 4275781632 bytes
Fixed Size 2260088 bytes
Variable Size 989856648 bytes
Database buffers 3271557120 bytes
Redo buffers 12107776 bytes
4, use restore copy one copy Controlfile to new path
rman> restore Controlfile to ' +flash/devdb/controlfile/current.256.936769368 ' from ' +data/devdb/controlfile/ current.260.936769367 ';
Starting restore at 27-dec-16
Using target database control file instead of recovery catalog
Allocated Channel:ora_disk_1
Channel ORA_DISK_1:SID=50 INSTANCE=ORCL1 Device Type=disk
Channel ora_disk_1:copied control File copy
Finished restore at 27-dec-16
Description: ' +flash/devdb/controlfile/current.256.936769368 ' is a copy of the new control file,
If ASM is automatically managed, the name may not be named according to you, and the new file name needs to be determined.
asmcmd> pwd
+flash/devdb/controlfile/
Asmcmd> ls
current.303.956019293 > Not the same as you assigned.
5. Modify the control file path in Sqlplus, and after the modification is complete, close the database
Sql> alter system set control_files= ' +data/devdb/controlfile/current.260.936769367 ', ' +flash/devdb/controlfile/ current.256.936769367 ', ' +flash/devdb/controlfile/current.303.956019293 ' scope=spfile sid= ' * ';
sql> shutdown immediate;
Ora-01507:database not mounted
ORACLE instance shut down.
6. Start the database
[Email protected] oracle]$ srvctl start database-d devdb
7. Verification
Sql> select name from V$controlfile;
NAME
--------------------------------------------------------------------------------
+data/devdb/controlfile/current.260.936769367
+flash/devdb/controlfile/current.256.936769367
+flash/devdb/controlfile/current.303.956019293
Control file multiplexing under the RAC 11G ASM for Oracle