Example setup for migrating Oracle databases with Portable Data Containers

For this example a two terabyte Oracle database is migrated from Solaris (Sparc) to AIX.

To prepare the example Oracle database configuration for migrating with Portable Data Containers

  1. Create veritas disk group with CDC=on and filesystem mount points for Oracle database.

    #  vxdg init datadg5001 cds=on disk1 disk2
    #  vxdg list 
    
    NAME         STATE           ID
    datadg5001   enabled,cds          1251278348.47.punlabsm5001  \
    ============> Verify CDS is on
    
    #  vxdg list datadg5001|grep cds
    flags:     cds
  2. Create Oracle database with 1K Tablespaces and ODM.

  3. Populate the database using BMF/SwingBench or local data generation script up to 2 TB

  4. Run DBV for finding corruption and validate all views using utlrp.sql

  5. Determine the source and target platform endianess and whether the database can be transported to a desired destination platform.

    SQL> select d.platform_name, endian_format
      2  from v$transportable_platform tp, v$database d
      3  where tp.platform_name = d.platform_name;
    
    PLATFORM_NAME                            ENDIAN_FORMAT
    ---------------------------------------- 		--------------
    Solaris[tm] OE (64-bit)               	Big
    
    SQL> select * from v$transportable_platform order by 1;
    PLATFORM_ID PLATFORM_NAME                            ENDIAN_FORMAT
    ----------- ---------------------------------------- --------------
              1 	Solaris[tm] OE (32-bit)                 	Big
              2 	Solaris[tm] OE (64-bit)                 	Big                                
    
    ==========================> Source Platform
              3 	HP-UX (64-bit)                          	Big
              4 	HP-UX IA (64-bit)                        Big
              5 	HP Tru64 UNIX                           	Little
              6 	AIX-Based Systems (64-bit)              	Big                                
    
    ==========================> Target Platform
              7 	Microsoft Windows IA (32-bit)            Little
              8 	Microsoft Windows IA (64-bit)           	Little
              9 	IBM zSeries Based Linux                  Big
             10 	Linux IA (32-bit)                       	Little
             11 	Linux IA (64-bit)                       	Little
             12 	Microsoft Windows x86 64-bit            	Little
             13 	Linux x86 64-bit                        	Little
             15 	HP Open VMS                             	Little
             16 	Apple Mac OS                            	Big
             17 	Solaris Operating System (x86)          	Little
             18 	IBM Power Based Linux                   	Big
             19 	HP IA Open VMS                          	Little
             20 	Solaris Operating System (x86-64)       	Little
    19 rows selected.

    Use DBMS_TDB.CHECK_DB to check whether the database can be transported to a desired destination platform, and whether the current state of the database (such as incorrect compatibility settings, in-doubt or active transactions) permits transport.

    SQL> set serveroutput on
    
    SQL> declare
      2  db_ready boolean;
      3  begin
      4  db_ready := dbms_tdb.check_db(' AIX-Based Systems (64-bit)');
      5  end;
      6  /
    
    PL/SQL procedure successfully completed.
    

    Since the endian format for both Solaris and AIX is same, that is big endian format, an endianess conversion is not required.

  6. Checking a VxFS filesystem for conversion using fscdctask or fscdsadm on source platform.

    # fscdsadm -o add -t os_name=AIX /data10r2
    UX:fscdsadm -o add -t os_name=AIX /data10r2UX:vxfs fscdsadm: 
    INFO: V-3-25985: 
    The following configuration has been added to the target list:
    Operating system          : AIX
    Operating system version  : any
    Architecture              : any
    VxFS version              : any
    Bits                      : any
    
    # fscdsadm -o add -t os_name=AIX /arch10r2
    UX:vxfs fscdsadm: INFO: V-3-25985: The following configuration has 
    been added to the target list:
    Operating system          : AIX
    Operating system version  : any
    Architecture              : any
    VxFS version              : any
    Bits                      : any
    
    # fscdstask validate AIX /data10r2
    UX:vxfs fscdsadm: INFO: V-3-26125: Validation results for: 
    Operating system          : AIX
    Operating system version  : any
    Architecture              : any
    VxFS version              : any
    Bits                      : any
    UX:vxfs fscdsadm: INFO: V-3-26130: There are no files violating 
    the CDS limits for this target. 
    UX:vxfs fscdsadm: INFO: V-3-26042: The filesystem does not need to 
    be byteswapped for use on this target.
    
    # fscdstask validate AIX /arch10r2 
    UX:vxfs fscdsadm: INFO: V-3-26125: Validation results for: 
    Operating system          : AIX
    Operating system version  : any
    Architecture              : any
    VxFS version              : any
    Bits                      : any
    UX:vxfs fscdsadm: INFO: V-3-26130: There are no files violating 
    the CDS limits for this target.
    UX:vxfs fscdsadm: INFO: V-3-26042: The filesystem does not need to 
    be byteswapped for use on this 
    target.
    
    # fscdsadm -l enforce /data10r2
    UX:vxfs fscdsadm: INFO: V-3-26014: The CDS limits were successfully 
    enforced on the filesystem.
    UX:vxfs fscdsadm: INFO: V-3-26010: There are no files that violate 
    the CDS limits for the targets 
    in the target list of /data10r2.
    
    # fscdsadm -l enforce /arch10r2 
    UX:vxfs fscdsadm: INFO: V-3-26014: The CDS limits were successfully 
    enforced on the filesystem.
    UX:vxfs fscdsadm: INFO: V-3-26010: There are no files that violate 
    the CDS limits for the targets in the target list of /arch10r2