Description of OracleConverta32-bitDatabaseto64-bitDatabase (32-bit to 64-bit)
Oracle Convert a 32-bit Database to 64-bit Database (32-bit to 64-bit) Description
Oracle Data is divided into 32-bit and 64-bit, which correspond to different platforms. For details about how to check whether the database is 32 or 64-bit, refer:
Check whether Oracle is 32-bit or 64-bit
The 32-bit and 64-bit are wordsize.In some cases, for example, to migrate data from a 32-bit Oracle database to a 64-bit oracle database, you need to modify the wordsize to ensure consistency.
Here we assume that the Migration platform has the same ENDIAN format, and the corresponding ENDIAN varies with operating systems. Here, we will not describe too much. This part is part of cross-operating system migration and will be described separately.
There are several articles about wordsize modification on MOS:
Changing between 32-bit and 64-bit WordSizes [ID 62290.1]
How To Change Oracle 11g Wordsize from32-bit to 64-bit. [ID 548978.1]
How to Convert a 32-bit Database to 64-bitDatabase on Linux? [ID 341880.1]
Here we will take a look at [341880.1].
Use thefollowing procedure to change wordsize of an Oracle9i Release 2 (9.2) orOracle10g (10.1 & 10.2) or 11g single instance database from Linux x86 toLinux x86-64 in same release:
-- The following procedures support the conversion from 32 to 64 for a single Oracle 9iR2, 10g, and 11g instance in linux. Note that the database versions must be consistent here, and only wordsize is different.
1. Perform cold backups of theexisting Oracle9i or Oracle10g (10.1.x & 10.2.x) or 11g database on theLinux x86 system to protect against any failures during the wordsize change.
-- Cold backup of the entire DB to prevent wordsize modification failure.
2. NOTE: This steps is required ifthe target system has different directory structure for database files. Otherwise this step can be skipped.
-- This step is skipped only when the directory structure of the Target system is different from that of the Source.
To help withcreating the control file after the wordsize change, enter the following SQLcommand:
SQL> ALTERDATABASE BACKUP CONTROLFILE TO TRACE;
-- Dumps the control file to the trace file to facilitate subsequent modifications.
Oracle Control File
This command saves the control file information to a trace file in the UDUMP directory (Typeshow parameter USER_DUMP_DEST in SQLPLUS as sys/system user). The control fileinformation is similar to the following:
Createcontrolfile reuse database "SAMPLE" NORESETLOGS
NOARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXDATAFILES 32
MAXINSTANCES 1
# MAXLOGHISTORY 112
LOGFILE
Group1'/ia32lnx_path/oracle/dbs/t_log1.f' SIZE 25 M,
GROUP2 '/ia32lnx_path/oracle/dbs/t_log2.f' SIZE 25 M
DATAFILE '/ia32lnx_path/oracle/dbs/t_db1.f'
Character set WE8DEC;
3. in a new Oracle home, installthe 64-Bit release of Oracle9i Release 2 (9.2.x), Oracle10.1.x, Oracle 10.2.x, Oracle 11.1.x, 11.2.x software for Linux x86-64. it is recommended to usethe same version on as on the 32-Bit box.
-- Install the 64-bit Oracle software on the new system. We recommend that you use the same version as the previous 32-bit oracle.
4. Perform a clean databaseshudown for Oracle-32 Bit database
-- Clean shutdown 32-bit Oracle.
When clean shutdown is enabled, the checkpoint is executed, and the stop scn of datafile is the same as the start scn in the control file. When the database is open, Oracle checks whether the start scn in the datafile header is the same as the scn in the datafile stored in the control file. If the two are the same, it checks whether the start scn and stop scn are the same. If the two are still the same, the database is enabled normally. Otherwise, a recovery is required.
When the database is enabled, the stop scn stored in the control file will be restored to the NULL value, indicating that datafile is open in normal mode.
For more information, see:
Roll forward
5. Copy the database files fromLinux-x86 to the Linux x86-64 system.
-- Copy all datafiles from 32-bit to 64-bit.
6. Copy your existing Oracleinitialization parameter file (initsid. ora) to the new Oracle home.
-- Copy the initialization parameter (pfile) to the directory corresponding to the 64-bit system. The default value is $ ORACLE_HOME/dbs.
7. Edit the parameter file topoint to the controlfiles if the location has change from the source machine.
-- Edit the pfile and modify the storage location of the control file.
8. Change any Oracle home pathreferences to use the new Oracle home path on the Linux x86-64 system. Likeuser_dump_dest, background_dump_dest, core_dump_dest etc
-- Modify other parameters in pfile, such as user_dump_dest, background_dump_dest, and core_dump_dest.