If I understand your situation correctly, you are planning to migrate an Oracle 9i database on Solaris 9 to Oracle 10g on Windows 2003. You have not given me any information about the size of the database, nor do I know anything about whether you can take an extended outage to perform the migration. If the Oracle 9i database (or application schemas within the database) is within a manageable size, I would look at using Oracle's export and import utilities. I have not used Toad's export utility so I'm not sure what it does or how complete it is. I would suggest using Oracle's utilities, instead.
The basic steps of this migration would involve taking either a full database export (or schema exports) of the Oracle 9i database, transferring the dump files (in binary mode) to the Windows 2003 server, and importing the contents into the newly created 10g database.
The Oracle Database 10g Release 2 (10.2) Upgrade Guide is an excellent starting point for reviewing your options on how to migrate your database.
For more information on using Oracle's export and import utilities, the Oracle Database 10g Release 2 (10.2) Utilities guide will provide you with good information on these utilities.
This was first published in May 2007