25
Apr
07

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)

4 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

    Hi.

    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.

    Nico


Leave a Reply




 

April 2007
M T W T F S S
« Mar   Jun »
 1
2345678
9101112131415
16171819202122
23242526272829
30  

Pages

a

Blog Stats

  • 177,243 DB lovers