Because you are migrating to a different operating system, you cannot physically copy the database across to the UNIX server. There are, however, a few options available.
Create an Oracle 10g database on your UNIX server, export your Oracle9i database, FTP the .dmp file over to the UNIX server and import it into your newly created database.
Create Table As Select (CTAS) via a Database Link
Create an Oracle 10g database on your UNIX server and create a database link from the database on the Windows server to the UNIX server database. Run 'create table as select …' statements to create your tables with the database on the UNIX server. Remember to also create any required indexes, constraints and referential integrity.
Use Oracle 10g Cross-platform Transportable Tablespaces
You can use the new cross-platform transportable tablespaces feature to move your database to your UNIX server. You must query the view V$TRANSPORTABLE_PLATFORM to see supported platforms and their endianness. Depending on the flavour of UNIX you plan to use, it can either be little or big endian. Windows is considered little endian so there may be an additional step involved to convert the tablespaces being transported on either the source or target side.
To read more about the cross-platform transportable tablespace feature, download the Oracle Database Administrator's Guide 10g (release 10.2) from Oracle Technology Network.
To be sure that the UNIX operating system you are planning to migrate your database to is supported and certified with Oracle 10g, you should also review Oracle's Certification Matrix.
This was first published in February 2007