Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've got an Oracle database running on Windows XP. This has several schemas and includes a public database link to a remote Oracle database.

I'd like to migrate this database to Oracle 11g running on Oracle Enterprise Linux, and maintain the database link to the remote database.

What is the best way to do this?

Can it be done with exp/imp?


share|improve this question

You can try looking at the Upgrade Guide for 11g

One option would be to do an upgrade from 9iR2 to 11g on the Windows box, then migrate the 11g database from Windows to Linux. One complication for that is that 11gR2 isn't available on Windows. Also, I think you'd need to upgrade to the terminal release for 9iR2 (I think before upgrading the database.

Another option is the imp/exp option. You can do a full exp of the source database, but you'd want to do schema level imports into the destination (as you don't want to override built-in objects with 9i versions). You'd need to manually recreate PUBLIC objects (such as public synonyms, directories, database links). DBMS_METADATA.GET_DDL can help extracting the SQL for that.

If the data volumes are small enough, I'd go for the latter option. If they are too large, and the exp/imp takes too long, I'd probably go with the former where you should be able to use cross-platform transportable tablespaces (which came in with 10g) to speed up the data move. That may mean waiting a couple of months for 11gR2 on Windows or moving to 11gR1 on Windows, doing the migration at that level then (optionally) upgrading to 11gR2 on Linux.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.