Oracle DBA – A lifelong learning experience

Applying the 10.2.0.4.1 Patch Set Update (PSU)

Posted by John Hallas on July 28, 2009

Oracle have now provided a Patch Set Update (PSU) policy in conjunction with the existing Critical Patch Updates. Both patches will be delivered quarterly (Jan,Apr,Jul,Oct) and the PSU will contain the CPU so it is a bit of no-brainer to move to PSU patching if you already perform CPU patching.

The core statement around PSU is mentioned in Note 854428.1 is

PSU patches are intended to be low-risk. This is accomplished by controlling content and thorough testing. Included in the criteria for the bug fixes in the Database PSU are:

  • Critical technical issues with fixes that may affect a large number of customers and that are already proven in the field
  • Critical Patch Update fixes

PSU patches do not include any of the following:

  • Changes that require re-certification (for example, fixes that cause optimizer plan changes)
  • Fixes that require configuration changes

Each PSU has limited new content, typically between 50 and 100 new bug fixes.

PSU patches are guaranteed to be rolling RAC installable.

Available on most platforms (which is nice for those of us not on Linux) except Windows. Patches will be available but as part of the CPU bundles.

The patches are also cumulative so PSU 10.2.0.4.1 is the current one and when 10.2.0.4.2 is available then that can be applied on top.

As I had a clean Oracle 10.2.0.4 with the latest CPU set applied I added the PSU and here are a few notes.

You need to get the latest Opatch installation which is version 10.2.0.4.07 and is patch 680880. Copy it to the OH folder and unzip it from there, updating the existing Opatch binaries.

After ensuring that the correct OH and OPatch folder are in your path then check the opatch version 

/home/oracle $opatch version
Invoking OPatch 10.2.0.4.7

OPatch Version: 10.2.0.4.7

OPatch succeeded.

Unzip the CPU patch 8576156 and run the opatch pre-requisite check

I have shown all my actions here and note that the pre-req command is different from that in the documentation where the -ph parameter is referred to as -phBaseDir

opatch prereq CheckConflictAgainstOHWithDetail -ph ./8576156_Jul2009PSU

It then gives a list of patches to be applied, patches that will be rolled back and no longer required patches (superceded by those in this PSU). Note that you may need to get patches that are required but not available in the PSU patch.  

cd /shared/oracle/rdbms_patches/PSU patches/10.2.0.4/

README.html  README.txt   custom       etc          files        patchmd.xml  psu_root.sh
opatch prereq CheckConflictAgainstOHWithDetail -ph ./8576156_Jul2009PSU
Invoking OPatch 10.2.0.4.7

Oracle Interim Patch Installer version 10.2.0.4.7
Copyright (c) 2009, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /app/oracle/product/10.2.0.4/db_1
Central Inventory : /app/oracle/oraInventory
   from           : /var/opt/oracle/oraInst.loc
OPatch version    : 10.2.0.4.7
OUI version       : 10.2.0.4.0
OUI location      : /app/oracle/product/10.2.0.4/db_1/oui
Log file location : /app/oracle/product/10.2.0.4/db_1/cfgtoollogs/opatch/opatch2009-07-28_19-05-21PM.log

Patch history file: /app/oracle/product/10.2.0.4/db_1/cfgtoollogs/opatch/opatch_history.txt

Invoking prereq "checkconflictagainstohwithdetail"

ZOP-40: The patch(es) has conflicts/supersets with other patches installed in the Oracle Home (or) among themselves.

Prereq "checkConflictAgainstOHWithDetail" failed.

Summary of Conflict Analysis:

Patches that can be applied now without any conflicts are :
8576156

Following patches are not required, as they are subset of the patches in Oracle Home or subset of the patches in the given list :
8309642, 8309639, 8309637, 8309632, 8309623, 8309592, 8309587, 8290506, 7609058, 7609057, 7375617, 7375613, 7375611, 7197583, 7155254, 7155253, 7155252, 7155251, 7155250, 7155249, 7155248

Following patches will be rolled back from Oracle Home on application of the patches in the given list :
8309642, 8309639, 8309637, 8309632, 8309623, 8309592, 8309587, 8290506, 7609058, 7609057, 7375617, 7375613, 7375611, 7197583, 7155254, 7155253, 7155252, 7155251, 7155250, 7155249, 7155248

Once all pre-reqs are met then run opatch apply from the PSU patch directory

Afterwards run the psu_root.sh script from the patch installation directory (as root).

If you do not run psu_root.sh script which changes the permissions on the binary extjob, executable jobs can fail with the following error:

ORA-27369: job of type EXECUTABLE failed with exit code: ...

Note that this step has no impact on the implementation of the PSU security fixes; it only affects the successful execution of the Job Scheduling system. That is, if you do not run psu_root.sh when you should, or if you run psu_root.sh but fail to run it as root, the PSU security fixes are still installed; however, the Job Scheduling system will fail. The psu_root.sh needs permission changes and does not work that well so it is easier  to get sys admins to just chmod the permissions detailed in the shell script. 

All in all pretty seamless. Note that I did not have a database to patch but if I did then the two post-installation steps are to run the catbundle scripts and recompile views

For each database instance running on the Oracle home being patched, connect to the database using SQL*Plus. Connect as SYSDBA and run the catbundle.sql script as follows:

cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> @catbundle.sql psu apply
SQL> QUIT

The README.txt in the install directory details the recompilation of views but it is not  too difficult and only needs to be done once, no matter how many PSU sets are applied.

7 Responses to “Applying the 10.2.0.4.1 Patch Set Update (PSU)”

  1. Adrian Angelov said

    Hi jhdba,

    thanks for the useful info.

    We’re on the way to patch to 10.2.0.4.1(from 10.2.0.2). So far, we try to figure out any important fixes on top of 10.2.0.4.0 that are not included in the PSU nor fixed on top of 10.2.0.4.1

    For example, such bug is “Bug 7602341 – 10g Database crash wih 11g ASM ORA-00600 [kffmUnlock_3]” which can lead to primary db(10g) unexpected shutdown during ASM(11g) rebalance operation. Bug 7602341 can occur on 10.2.0.4.0 and there is one-off patch provided. This is not included in the PSU, so we have to :

    1. Install 10.2.0.4.0
    2. Install one-off patches for such bugs(important, but not included in the PSU nor fix provided on top of 10.2.0.4.1 yet)
    3. Check for any incompatabilities between one-off patches and the PSU
    3. Install PSU e.g. patch to 10.2.0.4.1
    4. Install any important patches on top of 10.2.0.4.1

    and my question … 🙂

    Are you aware of any important 10.2.0.4.0 patches that are not included in the PSU nor fix provided for them for 10.2.0.4.1?

    Thanks in advance

    • John Hallas said

      Good question Adrian and I have wondered about it myself. All patches cannot be included in the PSU so it is a bit unclear as to what is actually included.
      The only way is to use opatch lsineventory to determine what is in before and after the PSU patch. When you run precheck routine it does show a nice list of which patches will be added and removed (see the blog entry for an example).

      Good call re Bug 7602341 as I need to get that installed myself as the only reason for the 10.2.0.4 installation is to try a database with 11g ASM to see if we get any sort of disk throughput increase on a Peoplesoft database (currently 10.2.0.3 and cooked storage). Now doubt that will be my next blog subject.

      John

  2. Adrian Angelov said

    Hi John,

    thanks for the feedback.

    I’ve started to check relevant bugs described in 10.2.0.4 Patch Set – Availability and Known Issues
    Doc ID: 555579.1

    ‘General Alerts / Issues’ section contains a reference to bug: 7155655+ Wrong query results possible from predicate push

    and corresponding bug note: Bug 7155655 – Wrong query results possible from predicate push Doc ID: 7155655.8
    states that the bug is fixed in

    * 10.2.0.4.1 (Patch Set Update)

    Unfortunately, I’m not able to get it using opatch lsinventory on a 10.2.0.4.1 test home:

    Invoking OPatch 10.2.0.4.7

    Oracle Interim Patch Installer version 10.2.0.4.7
    Copyright (c) 2009, Oracle Corporation. All rights reserved.

    Oracle Home : /u01/app/oracle/product/102041
    Central Inventory : /u01/app/oracle/oraInventory
    from : /etc/oraInst.loc
    OPatch version : 10.2.0.4.7
    OUI version : 10.2.0.4.0
    OUI location : /u01/app/oracle/product/102041/oui
    Log file location : /u01/app/oracle/product/102041/cfgtoollogs/opatch/opatch2009-08-02_1 3-27-18PM.log

    Patch history file: /u01/app/oracle/product/102041/cfgtoollogs/opatch/opatch_history.txt

    Lsinventory Output file location : /u01/app/oracle/product/102041/cfgtoollogs/opatch/lsi nv/lsinventory2009-08-02_13-27-18PM.txt

    ——————————————————————————–
    Installed Top-level Products (2):

    Oracle Database 10g 10.2.0.1.0
    Oracle Database 10g Release 2 Patch Set 3 10.2.0.4.0
    There are 2 products installed in this Oracle Home.

    Interim patches (2) :

    Patch 8576156 : applied on Wed Jul 29 16:55:55 CEST 2009
    Unique Patch ID: 11423320
    Created on 15 Jun 2009, 06:26:41 hrs PST8PDT
    Bugs fixed:
    7257770, 7363767, 6941717, 6418420, 8267348, 7835247, 7710551, 7592346
    7247217, 6724797, 8328954, 7936993, 7331867, 7552067, 5879114, 6681695
    8344348, 7272297, 7136866, 7661251, 7196894, 6265559, 7013124, 6954829
    5259835, 6500033, 7432601, 7196532, 8568395, 8309587, 8534387, 6509115
    8568397, 8568398, 5147386, 7375644, 6490140, 6052226, 8331466, 5623467
    6070225, 7396409, 6638558, 7424804, 7038750, 6817593, 7553884, 6870937
    7219752, 7278117, 6469211, 6882739, 7527650, 8309592, 5404871, 8373286
    6678845, 6903051, 7936793, 7155248, 7155249, 6403091, 7552082, 6711853
    8304589, 8568402, 8568404, 8568405, 5756769, 6327692, 7460818, 6268409
    6343150, 6923450, 6972843, 7643632, 6145177, 8230457, 6800507, 7027551
    6778714, 6200820, 8347704, 7155250, 7155251, 7155252, 6645719, 7155253
    7393804, 8292378, 7155254, 6219529, 6683178, 6650256, 8227091, 8340379
    7276960, 7528105, 5863926, 6378112, 7123643, 5126719, 6596564, 6413089
    6851438, 7036453, 7494333, 7315642, 8340383, 8247855, 6451626, 8340387
    6926448, 7600026, 6679303, 6874522, 7197583, 7175513, 6960489, 8576156
    7341598, 6797677, 7008262, 8342923, 5895190, 7150470, 7593835, 7356443
    7477934, 7044551, 6733655, 6799205, 6980597, 6084232, 7499353, 6014513
    4695511, 8227106, 7140204, 7298688, 5747462, 7254987, 7197445, 5348308
    7937113, 7569205, 7693128, 6120004, 6163771, 6051177, 6181488, 6858062
    7189645, 6345573, 7033630, 7378661, 7309458, 7457766, 7378735, 8290506
    6658484, 8309623, 7599944, 8324577, 7125408, 6840740, 7257461, 6987790
    7568556, 6919819, 6804746, 6955744, 7375611, 8268054, 6988017, 7375613
    8344399, 6074620, 7149004, 7340448, 8283650, 8362683, 7375617, 8251247
    7238230, 6599920, 7552042, 8287504, 5386204, 6452375, 6352003, 6976005
    6833965, 7136489, 7612639, 6610218, 7606362, 6392076, 7043989, 5476236
    8309632, 7609057, 7609058, 6870047, 8309637, 6374297, 8309639, 6193945
    4693355, 7039896, 7432514, 7330909, 6952701, 7190270, 8287155, 6752765
    7189447, 6802650, 8239142, 6615740, 7155655, 4637902, 7159505, 5868257
    7345904, 8309642, 6917874, 7173005, 6994160, 7691766, 6919764, 7523787
    7385253, 6455659

    Patch 7602341 : applied on Wed Jul 29 16:36:59 CEST 2009
    Unique Patch ID: 11092254
    Created on 16 Mar 2009, 20:42:48 hrs PST8PDT
    Bugs fixed:
    7602341

    ——————————————————————————–

    OPatch succeeded.

    I hope it’s a rare type of Oracle Support’s error affecting only this bug 🙂 Going to log a Service Request tomorrow morning.

  3. Adrian Angelov said

    Oops , my failure … using Notepad search tool
    grep finds it just ok. Please, ignore my previous post.

  4. Rahul said

    Hi,

    Very very nice article with important knowledge sharing. Wonderfull work done. Thanks a lot for sharing great work.

  5. […] Oracle DBA – A lifelong learning experience Just another WordPress.com weblog « Oracle Performance Management with Gaja Vaidyanatha PSU for 11.1.0.7.1 October 29, 2009 One of the most read entries on this site is about the PSU release for 10.2.0.4 https://jhdba.wordpress.com/2009/07/28/applying-the-10-2-0-4-1-patch-set-update-psu/ […]

  6. […] files automaticallyORA-27054 when using RMAN to NAS/NFS disks11g – library cache mutex X – known bugApplying the 10.2.0.4.1 Patch Set Update (PSU)Identifying applied PSU patches « Overview of OEM […]

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s

 
%d bloggers like this: