Two questions:

  1. I have database. I need to upgrade to a higher version either or Which one I should upgrade it to? Im not going to upgrade on the same server. I will have to do it in a new server. So how can I proceed with the upgrade? Export/import? DBCA? Manual upgrade? What is the procedure to do this?

  2. Same as above question except that this is another database but 10g. Which version I should upgrade it to and how to?

Added info::

I will be moving from OEL 5 to 6 or above.

Downtime I will get over an weekend.

No change in character set or licensing features.

Database size is approx 50 GB.

This is only development instance and not prod.

Should I install 12c database and then import everything from 11g to 12c database or run DBUA?



Version 10 is out of support and is out as well except for those who paid for extended. Upgrading to 12 is the best choice if you want a database that is supported with security patch sets and bug fixes.

Many other factors need to be considered as well and some are outlined in this answer here:

  • downtime allowed: an hour, a day, a weekend?
  • are you changing character sets (if you are will need to use the oracle tool to check for possible issues)
  • are you adding or removing licensed features? Example: Enterprise to Standard means partitioning is not allowed
  • databases with a large code base can have migration issues where things don't work the same way. QA and testing need to be done.
  • changing operating systems? Directory paths need adjusting
  • what other systems interact with the database? They all need to have configuration changes too
  • what resources do you have to test your migration? Believe me you will want to do it more than once. VMWare snapshots allow a go-back facility that is handy.

Migration paths

  • Easiest way is to create an installation script that can be used on the new production and development instances and install the latest version of Oracle.
  • Create table spaces to match your existing ones or take this opportunity to improve the organization of them.
  • use the data pump to export the contents from existing and import into the new
  • check that grants, directories, jobs and database links are copied over
  • test and test again

Given the specifics you have added to your answer the choice of the upgrade assistant or a clean install is still an "It depends" issue. The upgrade assistant makes things easier but does things like locking the user accounts that can catch one by surprise. If you want total control over the upgrade do a clean install and import. If you are not changing table spaces then try the assistant.

The important thing is to test and test again.

  • kevin, I have added more info as per your answer.. – tesla747 Oct 21 '15 at 16:43
  • 1
    Just a quick note that extended support fees are waived for one more year till May 2017. – Mindaugas Riauba Oct 22 '15 at 3:47
  • noted.! thats fine. I have got two days to upgrade the database from 11g/10g to 12c. which is the best way to proceed? – tesla747 Oct 22 '15 at 7:36
  • @MindaugasRiauba from here it now says extended support until 2020, fees waived until 2017 but I think this means you must have an extended support contract to get patches blogs.oracle.com/UPGRADE/entry/no_extra_fee_for_extended – kevinskio Oct 22 '15 at 12:47
  • @kevinsky nope. Standard support contract is OK. It automagically becomes extended. :) – Mindaugas Riauba Oct 22 '15 at 13:20

If you consider to go to the 12c ,you can do it either with expdp/impdp or Transport Database option (available only for onwards). We actually do it manually on the same server (recommended). If you consider the option you can again use expdp/impdp or clone the on the new server and upgrade it either manually or with DBUA. Regarding the 10g "Direct upgrades to 12c are possible from existing databases with versions,, or release Upgrades from other versions are supported only via intermediate upgrades to a supported upgrade version."

  • thats fine. I have got two days to upgrade the database from 11g/10g to 12c. which is the best way to proceed? – tesla747 Oct 22 '15 at 7:36
  • If you can, clone to the new server and upgrade there with one of the many possible ways (manually, DBCA, expdp/impdp, transport database) . This will require 2 DB Homes and enough space that you need to consider. – Petar Spasov Oct 22 '15 at 18:51

I see in another one of your threads that you use Dataguard. In that case, may I suggest you look into rolling upgrades using a Transient Logical Standby Database (11gR1 onward, so this won't be an option for your 10g DB):


This has 2 advantages:

1) you shoulder the responsibility of the upgrade itself while your primary DB is up and running... so if you run into any issues with the upgrade process, you can fix said issues without affecting your primary DB.

2) The actual downtime needed to perform the switch over is about 2 minutes. Compared to an exp/imp approach which could take hours to complete (depending on the size of the DB), and that is if you don't run into any issues.

There are a few gotcha's with a Logical Standby vs a Physical Standby. With a Logical Standby, the database is open in Read/Write mode, so you will want to turn off any triggers that could update data before you transition the DB to a Logical Standby, or they may interfere with the SQL Apply. Because of this, turning off the Job scheduler isn't a bad idea either (just make sure you enable anything you turned off when you switch-over to the primary role).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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