- run the Pre-Upgrade Tool - one may think this is an optional step, yet it seems it is not. Once I tried to run the whole operation without an earlier call to it and here You may look at what may go wrong and how to deal with it.
sh > sqlplus / as sysdba -- the Pre-Upgrade Tool -- one have to call it with the ORACLE_HOME set to current binaries -- (in contrast to the new binaries i.e. after upgrade) -- there is no need to copy it to the current home, yet one have to provide a full path -- of course one may expect a change in the name according to the version -- for example utlu121i for the version 12c sql> SPOOL preupg.log sql> @
/rdbms/admin/utlu112i sql> SPOOL OFF - change the ORACLE_HOME to the new home (as it is really inadvisable to install the new binaries in-place) and run the catalog upgrade
-- usually the docs say one should go to ORACLE_HOME/rdbms/admin -- before running the catalog upgrade and this is then specified without a path -- I used to run it as shown below sh > sqlplus / as sysdba sql> STARTUP UPGRADE sql> SPOOL db_upgrade.log sql> @?/rdbms/admin/catupgrd -- these steps below are actually not necessary or even impossible due to -- the shutdown included in catupgrd.sql sql> SPOOL OFF sql> SHUTDOWN IMMEDIATE
- now a normal start, some additional script and check if all seems to go well
sh > sqlplus / as sysdba sql> STARTUP sql> SPOOL postupg.log -- check if the upgrade went well sql> @?/rdbms/admin/utlu112s -- upgrade actions, which do not need UPGRADE mode sql> @?/rdbms/admin/catuppst.sql sql> SPOOL OFF -- compilation sql> @?/rdbms/admin/utlrp
That's all assuming everything went well ;-).