Because you are migrating to a newer release (10g) on a different platform (Linux), one option is to export your data from the 9i database and import it into the newly created 10g database. Another option is to use the "create table as select" option via a database link from the 9i database to the newly created 10g database, but this will be quite slow and not as reliable as an export/import. Assuming that the Linux server is not yet a production server, you should be able to estimate the time of the import by testing it ahead of time. Use an export file from the 9i database, create your new 10g database and import the entire database or only necessary schemas. Because this database is not in use, yet, you can then drop the application schemas and test the import multiple times. If this is a production server, you should still be able to test your import; however, you should be aware that this may impact the performance of other databases or applications on that server.
Transportable tablespaces would have been an option had you been able to upgrade your 9i database to 10g first on the NT platform. You would have then been able to use transportable tablespaces to migrate your database to the Linux server. This is not an option because Oracle 10g is not certified to run on the Windows NT platform so you cannot upgrade your database in place.
This was first published in April 2006