We have our current production database in Oracle 8.1.7 on Solaris 8, and we are planning on moving to Oracle 10gR2. This upgrade will be totally on a new Solaris 9 server. I have about 6 terabytes of data with three schemas.
I have the new box ready with 10gR2; what is the best way to move my data from the 8.1.7 DB? Also, I am trying to create a dblink between the two databases but it is not working. Can you give me the correct syntax for creating the dblink?
That's a substantial amount of data to migrate from Oracle8i to 10gR2. The method you choose will depend on the amount of downtime available to you to perform this migration. Export and import isn't really a practical solution here because of the amount of data. The operating system on the new server is Solaris, as is the current server, but it will be a newer release. You should be able to physically copy the database from the existing server to the new server and upgrade it on the new server to 10gR2. This can be done manually by shutting down the database and copying the files, or you can use RMAN to take an offline backup and recover it. This, of course, assumes that the environment on the new server is configured properly for this new database.
The advantage to performing the migration this way is that the back out plan is easy enough … you simply point your application(s) back to the existing 8i database because it will still be available. A word of caution here … I would recommend testing this procedure many times in a non-production environment thoroughly before relying on it as a production migration technique. This testing must include involving your application support and business folks to test all, or at least critical, functions and jobs within their applications after each test migration.
This was first published in April 2007