If you have 32bit and 64bit Oracle software installed on two different machines and you performed either cold or RMAN hot backup on 32-bit Oracle database and restore the backup to 64-bit Oracle.
Once you have successfully restored the database to the 64-bit Oracle, you can perform the following to change the wordsize of the Oracle to 64-bit:
1. Startup with upgrade mode
SQL> startup upgrade
2. Recompile all PL/SQL codes
SQL> @$ORACLE_HOME/rdbms/admin/utlirp.sql
3. If the 32-bit Oracle and 64-bit Oracle are in different patchset level, you also need to migrate it using catupgrd.sql
SQL> @$ORACLE_HOME/rdbms/admin/catupgrd.sql
4. Run the following query to check for invalid objects
SQL> select * from dba_objects where status <> 'VALID';
If there are invalid objects, run the following command to recompile it.
SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql
5. The wordsize of the database is now changed, you can run the following commands to verify your database wordsize.
i)You run SQLPLUS and the banner specifies 64bit in case of 64-bit otherwise you are running 32-bit Oracle.
ii) A query from v$process
SQL> select distinct(length(addr)*4) "Word Size" from v$process;
If 64 Bit then output will be:
Word Size
----------
64
iii) Query v$version.
SQL> select * from v$version;
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit
PL/SQL Release 10.2.0.3.0 - Production
CORE 10.2.0.3.0 Production
TNS for Linux: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production
If the software is 32-bit, then "64bit" would not be present in the above
output.

Post a Comment