Move Oracle controlfile from filesystem to ASM
December 17, 2022 Leave a comment
1. Find out controlfile locations:
Please note another copy of controlfile is already on ASM, +FRA diskgroup. We are moving the first one.
SQL> show parameter control_files NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ control_files string /u01/app/oracle/oradata/PRSH01 /control01.ctl, +FRA/PRSH01/co ntrol02.ctl
2. Place database into nomount mode using RMAN and copy controlfile to new location:
$ rman target / RMAN> startup nomount; RMAN> restore controlfile to '+DATA' from '/u01/app/oracle/oradata/PRSH01/control01.ctl';
3. Note the name assigned to the controlfile:
[grid@prsh01 ~]$ asmcmd find --type CONTROLFILE +data * +data/PRSH01/CONTROLFILE/current.261.1122675497
4. Modify the parameter from sqlplus:
SQL> alter system set control_files='+data/PRSH01/CONTROLFILE/current.261.1122675497','+FRA/PRSH01/control02.ctl' scope=spfile;
5. Restart database
SQL> shutdown immediate; SQL> startup
6. Double check new location
SQL> show parameter control_files NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ control_files string +DATA/PRSH01/CONTROLFILE/curre nt.261.1122675497, +FRA/PRSH01 /control02.ctl