1. Identify the location of the current controlfile: SQL> select name from v$controlfile; NAME -------------------------------------------------------------------------------- /u01/control01.ctl' 2. Shutdown the database and start the instance: SQL> shutdown normal SQL> startup nomount 3. Use RMAN to move the controlfile to ASM : $ rman nocatalog RMAN>connect target RMAN>restore controlfile to '<DISKGROUP_NAME>' from '<OLD_PATH>'; e.g. RMAN> restore controlfile to '+DG1' from '/u01/control01.ctl'; 4. On the ASM instance, identify the name of the controlfile using ASMCMD: $asmcmd ASMCMD> find -t CONTROLFILE +DG1 * Find Purpose: Displays the absolute paths of all occurrences of the specified name (with wildcards) in a specified directory and its subdirectories. Syntax and Description: find [-t type] dir name This command searches the specified directory and all subdirectories below it in the directory tree for the supplied name. name can be a directory name or a filename, and can include wildcard characters. dir may also include wildcards. In the output of the command, directory names are suffixed with the slash character (/) to distinguish them from filenames. You use the -t flag to find all the files of a particular type (specified as type). For example, you can search for control files by specifying type as CONTROLFILE. Valid values for type are the following: CONTROLFILE DATAFILE ONLINELOG ARCHIVELOG TEMPFILE BACKUPSET DATAFILE PARAMETERFILE DATAGUARDCONFIG FLASHBACK CHANGETRACKING DUMPSET AUTOBACKUP XTRANSPORT Note: These are the values from the type column of the V$ASM_FILE view. Changing the current directory to the diskgroup where the controlfile was created will speed the search. Output: ASMCMD> find -t CONTROLFILE +DG1 * +DG1/ORCL/CONTROLFILE/current.261.639419131 ASMCMD> Note the name assigned to the controlfile. 5. On the database Instance: * Modify init.ora or spfile, replacing the new path to the init parameter control_files. * if using init<SID>.ora, just modify the control_files parameter and restart the database. * If using spfile, 1]SQL>startup nomount the database instance 2]SQL>alter system set control_files='+DG1/ORCL/CONTROLFILE/current.261.639419131' scope=spfile; 3]SQL>shutdown immediate 6. Start the instance. Note: In-order to have Multiple Copies/ Multiplexed Version of the controlfiles, repeat steps 3-5 |
ASM QUICK REF >