4

We have a client who is using Oracle 9i on their old server, and they want to switch to Oracle 11 on the new server.

They want to backup the old database and restore it on the new server. Is this possible to do directly, or do they need to upgrade the old server to 11 first?

Both servers are Windows, so there won't be any OS translation to deal with.

Wayne
  • 43
  • 3

3 Answers3

3

One solution would be to use export/import. Depending on the size of the database, this could be quite slow.

Doing database upgrades from 9i to 11g could be painful too.

EDIT: With that much data, it might be faster to upgrade. I don't know what the path is from 9i to 11g, but you may have to upgrade twice (9i->10g, then 10g->11g). It still could be faster because it typically doesn't need to do much with your data. However you do it, it's not going to be a one-hour job ;-) Can the customer afford much downtime?

DCookie
  • 2,098
  • 17
  • 18
  • It's close to a terabyte, with the larger sized tables having around 2 million records, and the largest table by count has 28 million records. Is that something that would be "slow"? – Wayne Dec 15 '10 at 18:38
  • Likely so, although that's going to depend on hardware too. It's too bad you're stuck with 9i, because the data pump utility (replacement for export) in 10g is MUCH faster. – DCookie Dec 15 '10 at 18:54
2

Actually you can do this. You dont have to upgrade the old server.

If you upgrade a database on a server you have to do the following steps:

1) install the new software on the server
2) prepare the new environment for the upgrade (e.g. spfile)
3) prepare the old database for the upgrade
4) shutdown the old database
5) startup the database in the new environment (startup uprade)
6) apply the upgrade procedure to the new database

If restore it a new server for upgrade you have the following steps:

1) install the new software on the NEW server
2) prepare the new environment for the upgrade (e.g. spfile)
3) prepare the old database for the upgrade
4) RESTORE the database to the new server to the point in time you want (but after the point in time where the preparation for the upgrade was finishe) but don' t open it
5) OPEN the database in the new environment (alter database open upgrade;)
6) apply the upgrade procedure to the new database

So RMAN helps you to transport the database to the new server but it does not help you to avoid the upgrade steps. You can leave your old database open but all changes that are made after the point in time you recovered to are left in the old database and therefore lost.

There are some documents from Oracle Support that cover this topic

  • Frequently Asked Questions about Restoring Or Duplicating Between Different Versions And Platforms (Doc ID 369644.1)
  • Complete Checklist for Manual Upgrades to 11gR2 (Doc ID 837570.1)
  • Restoring a database to a higher patchset (Doc ID 558408.1)
miracle173
  • 133
  • 4
0

Assuming you are only talking about database here:

Because you are moving to a new machine, rman is the way to go. Export and then import.

If you were not moving to a new machine, upgrading the database would be the way to go.

If you had any Oracle apps, you would need to upgrade and not export/import.

Mike
  • 181
  • 3
  • I'm curious as to how this would work. Are you saying RMAN will convert a 9i database to an 11g version? Could you elaborate with a basic outline of what steps you had envisioned with your answer? – DCookie Dec 16 '10 at 16:37