How to migrate from 32 bit to 64 bit using RMAN?

This procedure can be used for single instance or RAC (9i to 11g):

In the 32 bit source server :

Start making a full backup of the database including all archivelogs:

RMAN> run  {  

allocate channel c1 type disk;  

allocate channel c2 type disk;  

backup database plus archivelog;  

backup current controlfile;  }

In the target 64 bit server:
1) Copy backup files from source server
2) Create the pfile or copy the pfile fromsourceserver
3) Startup nomount the new instance.
4) Connect to rman and set the dbid:

$ rman target / nocatalog RMAN> set dbid=<dbid from the 32 server>;

5) Restore the controlfile:

RMAN> restore controlfile from '/disk1/backup_32/backup_piece_name';

RMAN> alter database mount;

RMAN> restore database;

6) Identify the archivelog till you want to do the recovery and check if you have all the backups you need to do it and run:

RMAN> run {

set until sequence xxxx;

recover database;


RMAN> exit

7) Now Migrating to 64 bit:

SQL> recover database until cancel using backup controlfile;


SQL> alter database open resetlogs migrate;

SQL> @$ORACLE_HOME/rdbms/admin/utlirp.sql

SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql

SQL> shutdown immediate;

SQL> startup

Note: Also please take a look in other methods in the following Metalink Note:

  • Migration of Oracle Instances Across OS Platforms – Doc ID: Note:733205.1


Francisco Munoz Alvarez

4 thoughts on “How to migrate from 32 bit to 64 bit using RMAN?

  1. Pingback:

  2. Your blog helped me in migration of a 2-node 9i RAC from 64-bit to 32-bit..although with some changes
    But thanks, your article was the base for me.

  3. Dear mksingh017 and Sandeep,

    You are Welcome, I’m happy to help some fellow DBAs and to see that my modest posts are helping others.

    Dear Sandeep,

    Please feel free to post the modifications and your experience, to this way help others who need to go thru the same process.


    Francisco Munoz Alvarez

Leave a Reply