Oracle Database migration across platform with Transportable Tablespace or Transportable Database
Recently I ' m working for a customer for a Oracle Database migration project from Sun Solaris to HP-UX platform. It is a 10.2.0.4 RAC with totally 3.5 terabyte datafiles which reside on a Symentec cluster file system. The migration requirement is simple: minimize the downtime of the database and keep it simple.
I consider all the possible solution for database migration across platform:

- exp/imp - must be the worse solution with very poor performance
- expdp/impdp - faster than the exp/imp solution but It still require much time for a 3.5 terabyte database
- XTTS - Across Platform Transportable Tablespace , very fast when It is appliable
- TDB - Transportable database, which is similiar with XTTS, just It require the source platform to be the same endian with the target platform.
- Streams - complex solution, But It could be almost zero downtime.
- Goldengate - Similiar with Stream but require separate license.
I also do some discussion with one Symentec engineer and fortunately, The Symentec cluster file system announce to be OS independant, and They could just mirror the file system from the Solaris system to the targeted HP-UX system, and all the database files is still recognizable! And the sychrounization between these two file system is very fast which make the XTTS/TDB a very fast solution with minimized downtime.
But there 's another problem. Usually the datafiles between different system need to be converted using RMAN. But the time spending of converting 3.5T datafiles using rman is considerable . I do some reseach and finally confirm with the following result:
For XTTS - When the source system and the target system is of the same endian. There 's no need of converting the datafiles using rman.
For TDB - Only the system tablespace and the tablespace with undo segment inside need convertion using rman.
Now We have the perfect solution for this migration project.
- Mark the tablespace readonly
- Expdp the tablespace metadata
- sychronize the source system file system to the target system.
- impdp the tablespace metadata
- mark the tablespace readwrite
- post migration stuff!
