The Oracle patching best practice

On windows, patching an Oracle database can be tricky.

Very often for example, the dll file will be used by some process which is a bit… Undefined. So to make sure everything run smoothly, the following process must be used.

It should in fact be used as a best practice on windows.

Stopping Oracle services might not be enough.

– the instances,
– the Intelligent Agent,
– the OLAP agent,
– the Oracle Management Server,
– the TNSListener,
– HTTP server.

– SNMP service,
– MSDTC (Microsoft Distributed Transaction Coordinator) service,
– Microsoft IIS (admin) service,
– Microsoft COM+ Event System,
– MTSrecovery service,
– BackupExec agent,
– ArcServe Agent,
– IBM Director Support Program.


The list above comes from oracle support.

  1. Stop OracleService, Listener, DBConsole and anything else related to Oracle + additional services as stated above.
    1. Change the services start mode to manual
  2. Go to system>Environment variable.
    1. Backup PATH environment variable to notepad
    2. Remove all Oracle path from PATH (I had c:\oracle\product\102\bin)
  3. Reboot the server
  4. Install the patch:
    1. Make sure to select the correct oracle_home. By default, it will install the patch in a new home.
  5. Put the oracle path back in PATH environment variable.
  6. start the oracle service using the following command: C:\>oradim -startup -sid [SID] starttype srvc
  7. Start the listener via windows service manager
  8. In SqlPlus, log in as sysdba:
    1. C:\>set oracle_sid=[SID]
    2. C:\>sqlplus / as sysdba
    3. SQL>startup upgrade
    4. spool d:\somewhere\upgde.log
    5. @[oracle_home]\RDBMS\admin\catupgrd.sql (depending on the machine it can take up to 40 minutes)
    6. spool off
    7. Check if there is any ORA- error (this is long because there are a lot in the comments)
    8. shutdown
    9. startup
    10. @[oracle_home]\RDBMS\admin\utlrp.sql (takes up to 10 minutes)
    11. @[oracle_home]\RDBMS\admin\utlrp.sql (takes about 1 minute)

5 Responses to “The Oracle patching best practice”

  1. May 10, 2007 at 11:53 am

    Great article! I had same issue, but with multiple Oracle Homes and DB versions. I needed to use set ORACLE_HOME=X:\path\to\oracle_home; and then X:\> %ORACLE_HOME%\bin\sqlplus …

    One question – did you mind:
    10. @[oracle_home]\RDBMS\admin\utlirp.sql
    and not utlrp.sql?

  2. May 10, 2007 at 12:54 pm


    I think it’s utlrp.sql…

    But let me check. I’ll have a look tomorrow and let you know.

    Thanks for your nice comment by the way it motivates me to keep going.

    I have a lot of things cooking right now but not really finding the time to update as much as I would like.

  3. August 22, 2007 at 10:06 am

    Additional information to the best practice:

    The following should be done before applying any patches:
    1) Look for any ORA- errors in the alert log and validate them.
    2) Copy the oracle binaries (oracle home) and paste it to a different location as a backup.

  4. September 7, 2007 at 1:47 am

    @Dejan> Sorry for the very late reply but I’ve performed a couple of upgrades recently and it’s utlrp.sql all the way.


  5. March 3, 2015 at 7:02 pm

    Moreover, these plug-ins such as shockwave flash, java etc.
    org offers so many links to online casinos that you can find a game where you
    can play at stake levels you can afford. Free spins
    and a match bonus is what the sign up offer entails.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

April 2007
« Mar   Jun »


Blog Stats

  • 515,599 DB lovers

%d bloggers like this: