Database Migration to ASM with short downtime

See how to migrate to ASM with the downtime it takes only to shutdown and restart the instance – in other words, the downtime will be in the range of only minutes on a production system. The example is done on a small Linux server using Oracle Database Enterprise Edition 11.2.0.2, but should work very similar on other platforms and with the 10g version as well.

This is my standard demo Database. I have installed already Grid Infrastructure (Marketing name for the combination of Oracle Restart & ASM) for a standalone server. Also, I have already prepared 16 fake ‘Raw Devices’, each of 250m in size. Yes, my system is tiny – it’s my notebook. Continuing to start the ASM instance and then create the two recommended diskgroups DATA and FRA. We have the option to use the comfortable GUI asmca (11g New Feature, it can also create quorum failgroups meanwhile) or go with the command line:

Now we change some dynamic parameters to point to the new Database resp. Recovery Area:

SQL> alter system set db_recovery_file_dest_size=1800m;
System altered.
SQL> alter system set db_recovery_file_dest='+FRA';
System altered.
SQL> alter system set db_create_file_dest='+DATA';
System altered.

Archivelogs will now be created into FRA. We also put our spfile there. The ‘from memory’ clause is an 11g New Feature.

SQL> create spfile='+DATA/spfileprima.ora' from memory;
File created.

We remove our spfile from $ORACLE_HOME/dbs and replace it with a pointer to the new spfile:

Hi Uwe, Very informative post! Would this same approach work if the database was migrated to ASM and a new server at the same time? On old server backup as copy to FRA on disk, backup FRA to tape, restore to ASM DATA DG on new server, switch database to copy, recover db?
Any feedback is appreciated!
Thanks, Tom Cullen Senior DBA 11gR2 OCP

Excelent step-by-step guide to move to ASM…..short and clear.
I wonder if you can cover the situation of doing this with 1 primary and 2 stby instances with FSFO and with the idea of not recreate the stby’s due to this change.
TIA
Pablo

I have one question : we have a single instance database running on a server ( file system based storage ) and we want to convert to RAC ( asm storage ).
We want to convert first the instance to ASM storage ( following the steps described in this article ) and then manually convert single instance to RAC.

The question is : When I install GRID I should/must choose Single Instance or I can directly use RAC databases options , even if as the first step the database will be ran as single instance and only after that converted to RAC ?