Cross-Platform Migration using Rman Convert Database

The proposed methodology is not a SAP supported migration methodology. Following a successful migration and a GoLive OS Migration Check Analysis, SAP will resume support of the migrated system given the GoLive check is successful.

The procedure below describes the process between AIX and HP-UX.

 

 

On source system

SQL> select version from v$instance;

VERSION

-----------------

10.2.0.2.0

SQL> set linesize 200

SQL> set pages 999

SQL> select PLATFORM_NAME, ENDIAN_FORMAT from V$TRANSPORTABLE_PLATFORM;

PLATFORM_NAME ENDIAN_FORMAT

----------------------------------------------------------------------------------------------------- --------------

Solaris[tm] OE (32-bit) Big

Solaris[tm] OE (64-bit) Big

Microsoft Windows IA (32-bit) Little

Linux IA (32-bit) Little

AIX-Based Systems (64-bit) Big

HP-UX (64-bit) Big

HP Tru64 UNIX Little

HP-UX IA (64-bit) Big

Linux IA (64-bit) Little

HP Open VMS Little

...

19 rows selected.

SQL>select distinct(file_name) from dba_data_files a, dba_rollback_segs b where a.tablespace_name=b.tablespace_name;

FILE_NAME

--------------------------------------------------------------------------------

/oracle/SID/sapdata1/undo_1/undo.data1

/oracle/SID/sapdata1/system_1/system.data1

SQL> shutdown immediate;

SQL> startup mount;

SQL> alter database open read only;

SQL> set serveroutput on

SQL>declare db_ready boolean;
begin db_ready := dbms_tdb.check_db('
HP-UX IA (64-bit)');
end;

/

PL/SQL procedure successfully completed.

SQL> set serveroutput on

SQL>declare external boolean;
begin external := dbms_tdb.check_external;
end;
/

The following directories exist in the database:

SYS.DATA_PUMP_DIR

PL/SQL procedure successfully completed.

RMAN> connect target /

RMAN> convert database on target platform

convert script '/convertdb/convert.rman'

transport script '/convertdb/transport.sql'

new database ''

format '/convertdb/%U';

This command produces 3 files in /convertdb (or any other staging area): a transport script to create a new database, a convert script containing RMAN CONVERT DATAFILE command for each of the datafiles and a PFILE for the new database containing the same settings as the source database

1. transport.sql

2. convert.rman

3. Pfile generated by the convert database command.

4. Copy system  and undo datafiles to stage area

5. Copy rest of datafiles to final location on destination server

 

On target system

SQL>startup nomount;

SQL> CREATE CONTROLFILE REUSE DATABASE "" RESETLOGS NOARCHIVELOG

MAXLOGFILES 255

MAXLOGMEMBERS 3

MAXDATAFILES 254

MAXINSTANCES 50

MAXLOGHISTORY 1168

LOGFILE

GROUP 1 (

'/oracle/SID/origlogA/log_g11m1.dbf',

'/oracle/SID/mirrlogA/log_g11m2.dbf'

) SIZE 50M,

GROUP 2 (

'/oracle/SID/origlogB/log_g12m1.dbf',

'/oracle/SID/mirrlogB/log_g12m2.dbf'

) SIZE 50M,

GROUP 3 (

'/oracle/SID/origlogA/log_g13m1.dbf',

'/oracle/SID/mirrlogA/log_g13m2.dbf'

) SIZE 50M,

GROUP 4 (

'/oracle/SID/origlogB/log_g14m1.dbf',

'/oracle/SID/mirrlogB/log_g14m2.dbf'

) SIZE 50M

-- STANDBY LOGFILE

DATAFILE

'/oracle/stage/system.data1',

'/oracle/stage/undo.data1',

'/oracle/SID/sapdata1/sysaux_1/sysaux.data1',

'/oracle/SID/sapdata2/sr3_1/sr3.data1',

'/oracle/SID/sapdata2/sr3_2/sr3.data2',

'/oracle/SID/sapdata2/sr3_3/sr3.data3',

'/oracle/SID/sapdata2/sr3_4/sr3.data4',

'/oracle/SID/sapdata3/sr3700_1/sr3700.data1',

'/oracle/SID/sapdata3/sr3700_2/sr3700.data2',

'/oracle/SID/sapdata3/sr3700_3/sr3700.data3',

'/oracle/SID/sapdata3/sr3700_4/sr3700.data4',

'/oracle/SID/sapdata4/sr3usr_1/sr3usr.data1'

CHARACTER SET UTF8;

RUN {

CONVERT DATAFILE '/oracle/stage/undo.data1'

FROM PLATFORM ' AIX-Based Systems (64-bit)'

FORMAT ' /oracle/SID/sapdata1/undo_1/undo.data1';

CONVERT DATAFILE '/oracle/stage/system.data1'

FROM PLATFORM ' AIX-Based Systems (64-bit)'

FORMAT '/oracle/SID/sapdata1/system_1/system.data1';

}

RMAN> connect target / nocatalog @convert.rman

STARTUP NOMOUNT

CREATE CONTROLFILE REUSE DATABASE "" RESETLOGS NOARCHIVELOG

MAXLOGFILES 255

MAXLOGMEMBERS 3

MAXDATAFILES 254

MAXINSTANCES 50

MAXLOGHISTORY 1168

LOGFILE

GROUP 1 (

'/oracle/SID/origlogA/log_g11m1.dbf',

'/oracle/SID/mirrlogA/log_g11m2.dbf'

) SIZE 50M,

GROUP 2 (

'/oracle/SID/origlogB/log_g12m1.dbf',

'/oracle/SID/mirrlogB/log_g12m2.dbf'

) SIZE 50M,

GROUP 3 (

'/oracle/SID/origlogA/log_g13m1.dbf',

'/oracle/SID/mirrlogA/log_g13m2.dbf'

) SIZE 50M,

GROUP 4 (

'/oracle/SID/origlogB/log_g14m1.dbf',

'/oracle/SID/mirrlogB/log_g14m2.dbf'

) SIZE 50M

-- STANDBY LOGFILE

DATAFILE

'/oracle/SID/sapdata1/system_1/system.data1',

'/oracle/SID/sapdata1/undo_1/undo.data1',

'/oracle/SID/sapdata1/sysaux_1/sysaux.data1',

'/oracle/SID/sapdata2/sr3_1/sr3.data1',

'/oracle/SID/sapdata2/sr3_2/sr3.data2',

'/oracle/SID/sapdata2/sr3_3/sr3.data3',

'/oracle/SID/sapdata2/sr3_4/sr3.data4',

'/oracle/SID/sapdata3/sr3700_1/sr3700.data1',

'/oracle/SID/sapdata3/sr3700_2/sr3700.data2',

'/oracle/SID/sapdata3/sr3700_3/sr3700.data3',

'/oracle/SID/sapdata3/sr3700_4/sr3700.data4',

'/oracle/SID/sapdata4/sr3usr_1/sr3usr.data1'

CHARACTER SET UTF8

;

ALTER DATABASE OPEN RESETLOGS;

ALTER TABLESPACE PSAPTEMP ADD TEMPFILE '/oracle/SID/sapdata1/temp_1/temp.data1'

SIZE 314572800 AUTOEXTEND OFF;

set echo off

prompt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

prompt * Your database has been created successfully!

prompt * There are many things to think about for the new database. Here

prompt * is a checklist to help you stay on track:

prompt * 1. You may want to redefine the location of the directory objects.

prompt * 2. You may want to change the internal database identifier (DBID)

prompt * or the global database name for this database. Use the

prompt * NEWDBID Utility (nid).

prompt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SHUTDOWN IMMEDIATE

STARTUP UPGRADE PFILE='/oracle//102_64/dbs/init.ora'

@@ ?/rdbms/admin/utlirp.sql

SHUTDOWN IMMEDIATE

STARTUP PFILE='/oracle/SID/102_64/dbs/init.ora'

@@ ?/rdbms/admin/utlrp.sql

set feedback 6;