For the example configuraiton setup:
See Example setup for migrating Oracle databases with Portable Data Containers.
To migrate the example Oracle database configuration with Portable Data Containers
Shutdown the database and unmount the mount points.
$ export ORACLE_SID=VRTS $ sqlplus "/as sysdba" SQL*Plus: Release 10.2.0.4.0 - Production on Mon Aug 31 16:18:33 2009 Copyright ©) 1982, 2007, Oracle. All Rights Reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> exit # umount /data10r2/ # umount /arch10r2/
Convert a VxFS filesystem on target platform for required endianess.
# fscdsconv -e -t os_name=AIX -f /oracle/data10gr2.recovery.aix \ /dev/vx/dsk/datadg5001/datavol UX:vxfs fscdsconv: INFO: V-3-26040: Please verify if the following \ details identify the migration target for /dev/vx/dsk/datadg5001/datavol: Operating system : AIX Operating system version : any Architecture : any VxFS version : any Bits : any UX:vxfs fscdsconv: INFO: V-3-26037: Would you like to proceed \ further with migration? (ynq) y UX:vxfs fscdsconv: INFO: V-3-26042: The filesystem does not need \ to be byteswapped for use on this target. UX:vxfs fscdsconv: INFO: V-3-26130: There are no files violating \ the CDS limits for this target. UX:vxfs fscdsconv: INFO: V-3-26034: Since no byteswapping was \ required, the file /oracle/data10gr2.recovery.aix has not been used. UX:vxfs fscdsconv: INFO: V-3-26045: The filesystem is now ready \ for use on the specified target. # fscdsconv -e -t os_name=AIX -f /oracle/arch10gr2.recovery.aixm \ /dev/vx/dsk/datadg5001/archvol UX:vxfs fscdsconv: INFO: V-3-26040: Please verify if the following \ details identify the migration target for /dev/vx/dsk/datadg5001/archvol: Operating system : AIX Operating system version : any Architecture : any VxFS version : any Bits : any UX:vxfs fscdsconv: INFO: V-3-26037: Would you like to proceed \ further with migration? (ynq) y UX:vxfs fscdsconv: INFO: V-3-26042: The filesystem does not need \ to be byteswapped for use on this target. UX:vxfs fscdsconv: INFO: V-3-26130: There are no files violating \ the CDS limits for this target. UX:vxfs fscdsconv: INFO: V-3-26034: Since no byteswapping was \ required, the file /oracle/arch10gr2.recovery.aix has not \ been used. UX:vxfs fscdsconv: INFO: V-3-26045: The filesystem is now ready \ for use on the specified target.
Deport the DG on Solaris machines.
# vxdg deport datadg5001
Start volumes and mount filesystem same as source database on target platform.
# vxdg import datadg5001 # vxvol -g datadg5001 startall # mount -V vxfs /dev/vx/dsk/datadg5001/datavol /data10gr2 # mount -V vxfs /dev/vx/dsk/datadg5001/archvol /arch10gr2
Startup the database and monitor alert*.logs for any ORA- errors, in particular for ORA-600,ORA-7445.
$ export ORACLE_SID=VRTS $ sqlplus "/as sysdba" SQL*Plus: Release 10.2.0.4.0 - Production on Mon Aug 31 16:13:38 2009 Copyright ©) 1982, 2007, Oracle. All Rights Reserved. Connected to an idle instance. SQL> startup ORACLE instance started. Total System Global Area 8589934592 bytes Fixed Size 2054312 bytes Variable Size 1056966488 bytes Database Buffers 7516192768 bytes Redo Buffers 14721024 bytes Database mounted. Database opened.
Run dbv against each datafile on target platform for any corruption. dbv and alert_VRTS.log located at dbv_datafiles_VRTS_aix.zip
Confirm the migrated database platform name and platform ID.
$ export ORACLE_SID=VRTS 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 ---------------------------------------- -------------- AIX-Based Systems (64-bit) Big SQL> select COUNT(*) "ERRORS DURING RECOMPILATION" from utl_recomp_errors; ERRORS DURING RECOMPILATION --------------------------- 0 SQL> SQL> Rem ===================================================================== SQL> Rem Run component validation procedure SQL> Rem ===================================================================== SQL> SQL> SET serveroutput on SQL> EXECUTE dbms_registry_sys.validate_components; PL/SQL procedure successfully completed. SQL> SET serveroutput off SQL> Rem =========================================================================== SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql SQL> Rem =========================================================================== SQL> set feedback 6; SQL> SQL> select name, open_mode from v$database; NAME OPEN_MODE --------- ---------- VRTS READ WRITE