Friday 11 October 2013

DB upgrade shortly

This is a very generic and concise description of the upgrade operation an Oracle RDBMS environment to higher version.

  1. 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
    
  2. 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
    
  3. 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 ;-).

No comments: