Showing posts with label Patchset. Show all posts
Showing posts with label Patchset. Show all posts

Thursday, June 3, 2010

java.util.zip.ZipException: reading zip file central directory failed

Problem Description
While applying opatch, from the front end I see following message.
Do you want to proceed? [y|n]
y
User Responded with: Y
Running make for target iextjob
Running make for target iextjobo
Running make for target client_sharedlib
Running make for target idgmgrl
Running make for target ioracle
Running make for target client_sharedlib
Running make for target itnslsnr
Running make for target iwrap
Running make for target genplusso
ApplySession adding interim patch '9119284' to inventory

Verifying the update...
Inventory check OK: Patch ID 9119284 is registered in Oracle Home inventory with proper meta-data.
java.util.zip.ZipException: unexpected EOF
at java.util.zip.ZipInputStream.read(ZipInputStream.java:159)
at java.io.FilterInputStream.read(FilterInputStream.java:90)
at oracle.opatch.MultiJarUtil.writeOneZipEntryToFile(MultiJarUtil.java:422)
at oracle.opatch.MultiJarUtil.doVerifyLeafLevel(MultiJarUtil.java:259)
at oracle.opatch.JarActionHelper.verify(JarActionHelper.java:291)
at oracle.opatch.JarAction.verifyMultiLevel(JarAction.java:2101)
at oracle.opatch.JarAction.verify(JarAction.java:2022)
at oracle.opatch.OPatchSessionHelper.verifyPatchAction(OPatchSessionHelper.java:2928)
at oracle.opatch.ApplySession.verify(ApplySession.java:2781)
at oracle.opatch.ApplySession.wasThisPatchApplied(ApplySession.java:2391)
at oracle.opatch.ApplySession.processLocal(ApplySession.java:4463)
at oracle.opatch.ApplySession.process(ApplySession.java:5584)
at oracle.opatch.OPatchSession.main(OPatchSession.java:1718)
at oracle.opatch.OPatch.main(OPatch.java:630)
There are 3 jar files under ORACLE_HOME that are not patched.
Files check failed: Some files under ORACLE_HOME are not patched. Please see log file for details.
ApplySession failed: ApplySession failed in system modification phase... 'Verification of patch failed: Files are not updated completely.'
OPatch will attempt to restore the system...
Restoring the Oracle Home...
Checking if OPatch needs to invoke 'make' to restore some binaries...
OPatch was able to restore your system. Look at log file and timestamp of each file to make sure your system is in the state prior to appl ying the patch.
--------------------------------------------------------------------------------
The following warnings have occurred during OPatch execution:
1) OUI-67160:ApplySession for patch ID '9119284': Could not back up following actions for patch rollback:
1) null
2) null
3) null

2) OUI-67124:java.lang.NullPointerException

3) OUI-67124:Files check failed: Some files under ORACLE_HOME are not patched. Please see log file for details.
--------------------------------------------------------------------------------

OPatch failed with error code 73

From the logfile,
INFO:Is the local system ready for patching? [y|n]
INFO:Start to wait for user-input at Fri May 28 00:29:59 EDT 2010
INFO:Finish waiting for user-input at Fri May 28 00:30:05 EDT 2010
INFO:User Responded with: Y
INFO:Start saving patch at Fri May 28 00:30:05 EDT 2010
INFO:Finish saving patch at Fri May 28 00:30:15 EDT 2010
INFO:Start backing up system for restore at Fri May 28 00:30:15 EDT 2010
INFO:Backing up files and inventory (not for auto-rollback) for the Oracle Home
INFO:Backing up files affected by the patch '9119284' for restore. This might take a while...
INFO:Finish backing up system for restore at Fri May 28 00:30:32 EDT 2010
INFO:******* create file /SIDS/app/oracle/product/10.2.0/db/.patch_storage/interim_inventory.txt
INFO:Start backing up system for rollback at Fri May 28 00:30:32 EDT 2010
INFO:Backing up files affected by the patch '9119284' for rollback. This might take a while...
INFO:Going to backup for rollback Jar Action(s) in a consolidated mode.
INFO:Jar Path -> /SIDS/app/oracle/product/10.2.0/db/rdbms/jlib/qsma.jar
INFO:--- Clubbed Actions for this Jar Path to backup for rollback NOW ->
INFO:Backup For Rollback starts for the clubbed jars at --> Fri May 28 00:30:37 EDT 2010
INFO:Stack Description: java.util.zip.ZipException: reading zip file central directory failed
INFO:StackTrace: java.util.zip.ZipFile.open(Native Method)
INFO:StackTrace: java.util.zip.ZipFile.(ZipFile.java:123)
INFO:StackTrace: java.util.jar.JarFile.(JarFile.java:127)
INFO:StackTrace: java.util.jar.JarFile.(JarFile.java:92)
INFO:StackTrace: oracle.opatch.JarActionHelper.backupForRollback(JarActionHelper.java:1032)
INFO:StackTrace: oracle.opatch.JarAction.backupForRollback(JarAction.java:1575)
INFO:StackTrace: oracle.opatch.PatchObject.backupForRollback(PatchObject.java:4339)
INFO:StackTrace: oracle.opatch.ApplySession.processLocal(ApplySession.java:4388)
INFO:StackTrace: oracle.opatch.ApplySession.process(ApplySession.java:5584)
INFO:StackTrace: oracle.opatch.OPatchSession.main(OPatchSession.java:1718)
INFO:StackTrace: oracle.opatch.OPatch.main(OPatch.java:630)
INFO:Stack Description: java.lang.NullPointerException
INFO:StackTrace: oracle.opatch.JarActionHelper.backupForRollback(JarActionHelper.java:1204)
INFO:StackTrace: oracle.opatch.JarAction.backupForRollback(JarAction.java:1575)
INFO:StackTrace: oracle.opatch.PatchObject.backupForRollback(PatchObject.java:4339)
INFO:StackTrace: oracle.opatch.ApplySession.processLocal(ApplySession.java:4388)
INFO:StackTrace: oracle.opatch.ApplySession.process(ApplySession.java:5584)
INFO:StackTrace: oracle.opatch.OPatchSession.main(OPatchSession.java:1718)
INFO:StackTrace: oracle.opatch.OPatch.main(OPatch.java:630)
INFO:Going to backup for rollback Jar Action(s) in a consolidated mode.
INFO:Jar Path -> /SIDS/app/oracle/product/10.2.0/db/rdbms/jlib/qsma.jar
INFO:--- Clubbed Actions for this Jar Path to backup for rollback NOW ->
INFO:Backup For Rollback starts for the clubbed jars at --> Fri May 28 00:30:37 EDT 2010
INFO:Stack Description: java.util.zip.ZipException: reading zip file central directory failed

The following actions have failed:
WARNING:OUI-67124:java.lang.NullPointerException

INFO:
Do you want to proceed? [y|n]
INFO:Start to wait for user-input at Fri May 28 01:43:18 EDT 2010
INFO:Finish waiting for user-input at Fri May 28 01:45:24 EDT 2010
INFO:User Responded with: Y
INFO:Running make for target iextjob
INFO:Start invoking 'make' at Fri May 28 01:45:25 EDT 2010Fri May 28 01:45:25 EDT 2010
INFO:Finish invoking 'make' at Fri May 28 01:45:28 EDT 2010
INFO:Running make for target iextjobo
INFO:Start invoking 'make' at Fri May 28 01:45:28 EDT 2010Fri May 28 01:45:28 EDT 2010
INFO:Finish invoking 'make' at Fri May 28 01:45:29 EDT 2010
INFO:Running make for target client_sharedlib
INFO:Start invoking 'make' at Fri May 28 01:45:29 EDT 2010Fri May 28 01:45:29 EDT 2010
INFO:Finish invoking 'make' at Fri May 28 01:47:12 EDT 2010
INFO:Running make for target idgmgrl
INFO:Start invoking 'make' at Fri May 28 01:47:12 EDT 2010Fri May 28 01:47:12 EDT 2010
INFO:Finish invoking 'make' at Fri May 28 01:47:14 EDT 2010
INFO:Running make for target ioracle
INFO:Start invoking 'make' at Fri May 28 01:47:14 EDT 2010Fri May 28 01:47:14 EDT 2010
INFO:Finish invoking 'make' at Fri May 28 01:48:18 EDT 2010
INFO:Running make for target client_sharedlib
INFO:Start invoking 'make' at Fri May 28 01:48:18 EDT 2010Fri May 28 01:48:18 EDT 2010
INFO:Finish invoking 'make' at Fri May 28 01:49:42 EDT 2010
INFO:Running make for target itnslsnr
INFO:Start invoking 'make' at Fri May 28 01:49:42 EDT 2010Fri May 28 01:49:42 EDT 2010
INFO:Finish invoking 'make' at Fri May 28 01:49:44 EDT 2010
INFO:Running make for target iwrap
INFO:Start invoking 'make' at Fri May 28 01:49:44 EDT 2010Fri May 28 01:49:44 EDT 2010
INFO:Finish invoking 'make' at Fri May 28 01:49:54 EDT 2010
INFO:Running make for target genplusso
INFO:Start invoking 'make' at Fri May 28 01:49:54 EDT 2010Fri May 28 01:49:54 EDT 2010
INFO:Finish invoking 'make' at Fri May 28 01:49:56 EDT 2010
INFO:Finish modifying the system at Fri May 28 01:49:57 EDT 2010
INFO:ApplySession adding interim patch '9119284' to inventory
INFO:Start saving patch to inventory at Fri May 28 01:49:57 EDT 2010
INFO:Registered Encoding value is : 8859_1 for the file /SIDS/app/oracle/product/10.2.0/db/inventory/oneoffs/9119284/etc/config/actions.xml
INFO:Finish saving patch to inventory at Fri May 28 01:50:03 EDT 2010
INFO:PatchObject::createPatchObject() Patch location is /SIDS/app/oracle/product/10.2.0/db/inventory/oneoffs/9119284
INFO:PatchObject::createPatchObject() patch location is /SIDS/app/oracle/product/10.2.0/db/inventory/oneoffs/9119284
INFO:
Verifying the update...
INFO:PatchObject::PatchObject() Patch location is /nas/sysadm/oracle/psu/HP/9119284
INFO:PatchObject::createPatchObject() Patch location is /nas/sysadm/oracle/psu/HP/9119284
INFO:PatchObject::createPatchObject() patch location is /nas/sysadm/oracle/psu/HP/9119284
INFO:PatchObject::createPatchObject() Patch location is /SIDS/app/oracle/product/10.2.0/db/inventory/oneoffs/9119284
INFO:PatchObject::createPatchObject() patch location is /SIDS/app/oracle/product/10.2.0/db/inventory/oneoffs/9119284
INFO:Inventory check OK: Patch ID 9119284 is registered in Oracle Home inventory with proper meta-data.
INFO:   verifying 38 copy files.
INFO:   verifying 4 jar files.
INFO:Verify top-level entry oracle/CDC/Purge.class using file /SIDS/app/oracle/product/10.2.0/db/.patch_storage/9119284_Dec_28_2009_03_45_13/scratch/work/Purge.class and /nas/sysadm/oracle/psu/HP/9119284/files//rdbms/jlib/CDC.jar/oracle/CDC/Purge.class
INFO:Verify top-level entry oracle/qsma/QsmaDataManager.class using file /SIDS/app/oracle/product/10.2.0/db/.patch_storage/9119284_Dec_28_2009_03_45_13/scratch/work/QsmaDataManager.class and /nas/sysadm/oracle/psu/HP/9119284/files//rdbms/jlib/qsma.jar/oracle/qsma/QsmaDataManager.class
INFO:Verify top-level entry oracle/qsma/QsmaDataReports.class using file /SIDS/app/oracle/product/10.2.0/db/.patch_storage/9119284_Dec_28_2009_03_45_13/scratch/work/QsmaDataReports.class and /nas/sysadm/oracle/psu/HP/9119284/files//rdbms/jlib/qsma.jar/oracle/qsma/QsmaDataReports.class
INFO:java.util.zip.ZipException: unexpected EOF
INFO: at java.util.zip.ZipInputStream.read(ZipInputStream.java:159)
INFO: at java.io.FilterInputStream.read(FilterInputStream.java:90)
INFO: at oracle.opatch.MultiJarUtil.writeOneZipEntryToFile(MultiJarUtil.java:422)
INFO: at oracle.opatch.MultiJarUtil.doVerifyLeafLevel(MultiJarUtil.java:259)
INFO: at oracle.opatch.JarActionHelper.verify(JarActionHelper.java:291)
INFO: at oracle.opatch.JarAction.verifyMultiLevel(JarAction.java:2101)
INFO: at oracle.opatch.JarAction.verify(JarAction.java:2022)
INFO: at oracle.opatch.OPatchSessionHelper.verifyPatchAction(OPatchSessionHelper.java:2928)
INFO: at oracle.opatch.ApplySession.verify(ApplySession.java:2781)
INFO: at oracle.opatch.ApplySession.wasThisPatchApplied(ApplySession.java:2391)
INFO: at oracle.opatch.ApplySession.processLocal(ApplySession.java:4463)
INFO: at oracle.opatch.ApplySession.process(ApplySession.java:5584)
INFO: at oracle.opatch.OPatchSession.main(OPatchSession.java:1718)
INFO: at oracle.opatch.OPatch.main(OPatch.java:630)
INFO:Verify top-level entry oracle/qsma/QsmaFileManager.class using file /SIDS/app/oracle/product/10.2.0/db/.patch_storage/9119284_Dec_28_2009_03_45_13/scratch/work/QsmaFileManager.class and /nas/sysadm/oracle/psu/HP/9119284/files//rdbms/jlib/qsma.jar/oracle/qsma/QsmaFileManager.class
INFO:   verifying 300 archive files.
SEVERE:There are 3 jar files under ORACLE_HOME that are not patched.
WARNING:OUI-67124:Files check failed: Some files under ORACLE_HOME are not patched. Please see log file for details.
SEVERE:OUI-67073:ApplySession failed: ApplySession failed in system modification phase... 'Verification of patch failed: Files are not updated completely.'


Cause of the Problem
The file "$ORACLE_HOME/rdbms/jlib/qsma.jar" itself is corrupted

The command jar tvf $ORACLE_HOME/rdbms/jlib/qsma.jar generates "java.util.zip.ZipException: unexpected EOF"

Solution of the Problem

For 10.2.0.4, we can consider extracting this file from 10.2.0.4 patchset staging kit.

- cd 10.2.0.4 Patchset Staging kit>/Disk1/stage/Patches/oracle.rdbms.rsf/10.2.0.4.0/1/DataFiles
- mkdir /tmp/qsma_jar
- cp filegroup4.1.1.jar /tmp/qsma_jar
- cd /tmp/qsma_jar
- jar xvf filegroup4.1.1.jar

-- This will give many files , including "qsma.jar" .

Rename the existing qsma.jar in the 10.2.0.4 Oracle Home and replace it with the file present in
-- /tmp/qsma_jar

Now use the ORACLE_HOME/jdk/bin/jar to check if we can list contents of this qsma.jar

If successful, proceed to apply the remaining CPU patch.

Sunday, April 4, 2010

OPatch failed with error code = 1 java.lang.UnsupportedClassVersionError

Problem Description
Issuing "opatch version" failed with Exception in thread "main" java.lang.UnsupportedClassVersionError: oracle/opatch like below.

$ opatch version
Received the following error:

Exception in thread "main" java.lang.UnsupportedClassVersionError: oracle/opatch
/OPatch (Unsupported major.minor version 48.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:11
at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)
at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)

OPatch failed with error code = 1

Cause of the Problem
The problem happened because opatch version is latest and it is higher than the oracle database version. When you download 11.1.0.6.3 OPatch utility for Oracle 9.2 Release, 11.1.6.0.3 OPatch expects the Oracle Home JDK version to be 1.4 and above, whereas the 9.2 ORACLE_HOME jdk version was 1.3 and hence it errored out with Java exceptions.

Solution of the Problem
Download the correct OPatch utility for your Database Release.
The new OPatch utility is available at Metalink as Patch 6880880.
Select Release "10.1.0.0.0" for 9.2 and 10gR1,
"10.2.0.0.0" for 10gR2 and
"11.1.0.0.0" for 11gR1.

Related Documents
UtilSession failed: Prerequisite check "CheckActiveFilesAndExecutables" failed
OPatch failed with error code 74 - CheckActiveFilesAndExecutables failed
How to Download Patchset or Opatch from metalink
List of Patchset number in metalink
SEVERE:OUI-67073: Apply Session failed: ApplySession::processLocal() failed in system
OPatch supported patch methods in RAC environment

Friday, April 2, 2010

OPatch supported patch methods in RAC environment

Before starting this article let's have an idea about oracle Interim Patch (formerly known as a "one-off" patch). An oracle Interim Patch or "one-off" patch is a bug fix (or set of fixes) made available to customers to solve a particular bug. This is necessary because for business reasons many ones cannot wait till the next Patch Set or new product release to get a fix. Oracle sometimes recommend interim patches specially security patches to be applied to your systems. Note that , interim patches can only be applied to a particular product version (base release or patch set). That is an interim patch created for 10.2.0.2 should NOT be installed on 10.2.0.3 or 10.2.0.4.

The OPatch (also called the Interim Patch Installer) is the oracle supplied utility which is used to apply interim patches to Oracle's database software. OPatch/Interim Patch Installer supports -
- Applying an interim patch
- Rolling back the application of an interim patch
- Conflict resolution when applying an interim patch after previous interim patches have been applied
- Reporting on installed products and Interim (One-Off) patch

You can download OPatch from metalink as patch 6880880. Patches for Oracle 9i Release 2 Patchset 1 (and beyond) do not include OPatch. OPatch is included from Oracle9i Release 2.

OPatch supports 3 different patch methods on a RAC environment.
1)Patching RAC as a single instance (All-Node Patch)
2)Patching RAC using a minimum down-time strategy (Min. Downtime Patch)
3) Patching RAC using a rolling strategy - No down time (Rolling Patch)

1) Patching RAC as a single instance (All-Node Patch)
In this mode, OPatch applies the patch to the local node first, then propagates the patch to all other nodes, and finally updates the inventory. All instances will be down during the whole patching process.

The flow diagram of All-node patch is,

. Shutdown all Oracle instances on all nodes
. Apply the patch to all nodes
. Bring all nodes up

2) Patching RAC using a minimum down-time strategy (Min. Downtime Patch)
In this mode, OPatch patches the local node, asks users for a sub-set of nodes, which will be the first nodes to be patched. After the initial subset of nodes are patched, Opatch propagates the patch to the other nodes and finally updates the inventory. The downtime would happen between the shutdown of the the second subset of nodes and the startp of the initial subset of nodes patched.

The flow diagram of Minimum downtime is,

. Shutdown the Oracle instance on node 1
. Apply the patch to the Oracle instance on node 1
. Shutdown the Oracle instance on node 2
. Apply the patch to the Oracle instance on node 2
. Shutdown the Oracle instance on node 3
. At this point, instances on nodes 1 and 2 can be brought up
. Apply the patch to the Oracle instance on node 3
. Startup the Oracle instance on node 3

3) Patching RAC using a rolling strategy - No down time (Rolling Patch)
With this method, there is no downtime. Each node would be patched and brought up while all the other nodes are up and running, resulting in no disruption of the system.

The flow diagram of Rolling patch (no downtime) is,

. Shutdown the Oracle instance on node 1
. Apply the patch to the Oracle instance on node 1
. Start the Oracle instance on node 1
. Shutdown the Oracle instance on node 2
. Apply the patch to the Oracle instance on node 2
. Start the Oracle instance on node 2
. Shutdown the Oracle instance on node 3
. Apply the patch to the Oracle instance on node 3
. Start the Oracle instance on node 3

How does OPatch select which method to use?
All oracle one off patches are not rolling patch. Oracle developers determine whether a patch will be rolling patch or not. OPatch also follows an algorithm to determine which methods it will use in RAC environment. The algorithm is,

If (users specify minimize_downtime)
patching mechanism = Min. Downtime
else if (patch is a rolling patch)
patching mechanism = Rolling
else
patching mechanism = All-Node

How to determine if a patch is a "rolling patch" or not?
Based on the oracle database version we can determine whether a patch is a rolling patch or not.

- For oracle version 9i or 10gR1 issue,
$ opatch query -is_rolling

Opatch will ask the patch location and then will inform if the patch is or not a "rolling patch"

- In oracle 10gR2 issue,
$ opatch query -all <patch_location> | grep rolling

For Windows, the following command can be used as grep is not suitable:

> opatch query -all C:\stage\10.2.0.3_Mini_Patches\5731537 | findstr rolling

Related Documents
UtilSession failed: Prerequisite check "CheckActiveFilesAndExecutables" failed
OPatch failed with error code 74 - CheckActiveFilesAndExecutables failed
How to Download Patchset or Opatch from metalink
List of Patchset number in metalink
SEVERE:OUI-67073: Apply Session failed: ApplySession::processLocal() failed in system

Wednesday, March 31, 2010

SEVERE:OUI-67073: Apply Session failed: ApplySession::processLocal() failed in system

Problem Description
OPatch apply Patch failed with the following error.
SEVERE:OUI-67073: Apply Session failed: ApplySession::processLocal() failed in system, inventory

From the OPatch logfile I get the following entries,

INFO:Finish backing up system for rollback at Thu Apr 01 12:12:13 EST 2010
INFO:Start the Apply preScript at Thu Apr 01 12:12:13 EST 2010
SEVERE:OUI-67021:SEVERE:OUI-67073: Apply Session failed: ApplySession::processLocal() failed in system, Return Code = 1
INFO:Finish the Apply preScript at Thu Apr 01 12:12:13 EST 2010
INFO:Execution of PRE script failed, with return value = 1

Cause of the Problem
The problem occurred due to oracle bug 6880880. This bug fire if the OPatch version in the $ORACLE_HOME isn't up to date.

Solution of the Problem
Look at the post http://arjudba.blogspot.com/2010/03/severe-oui-67073-applysession-failed.html where the similar error is described.

To solve above bug you have to use the latest released OPatch 10.2, which is available for download from My Oracle Support patch 6880880 by selecting the 10.2.0.0.0 release. After you download that OPatch, install it and then try to apply the patch set again.

Related Documents
UtilSession failed: Prerequisite check "CheckActiveFilesAndExecutables" failed
OPatch failed with error code 74 - CheckActiveFilesAndExecutables failed
How to Download Patchset or Opatch from metalink
List of Patchset number in metalink

SEVERE: OUI-67073: ApplySession failed: Patch ID is null.

Problem Description
While applying Patch 9119284 - 10.2.0.4.3 Patch Set Update it fails with error message "SEVERE: OUI-67073: ApplySession failed: Patch ID is null" like below.
oracle:/nas/sysadm/oracle/psu/HP/9119284>opatch apply
Invoking OPatch 10.2.0.4.3

Oracle Interim Patch Installer version 10.2.0.4.3
Copyright (c) 2007, Oracle Corporation. All rights reserved.


Oracle Home : /oracledba/app/oracle/product/10.2.0/db
Central Inventory : /oracledba/app/oracle/oraInventory
from : /var/opt/oracle/oraInst.loc
OPatch version : 10.2.0.4.3
OUI version : 10.2.0.4.0
OUI location : /oracledba/app/oracle/product/10.2.0/db/oui
Log file location : /oracledba/app/oracle/product/10.2.0/db/cfgtoollogs/opatch/opatch2010-03-31_01-33-24AM.log

ApplySession failed: Patch ID is null.
System intact, OPatch will not attempt to restore the system

OPatch failed with error code 73
Here goes the contents of /oracledba/app/oracle/product/10.2.0/db/cfgtoollogs/opatch/opatch2010-03-31_01-33-24AM.log
SEVERE:OPatch invoked as follows: 'apply '
INFO:
Oracle Home : /oracledba/app/oracle/product/10.2.0/db
Central Inventory : /oracledba/app/oracle/oraInventory
from : /var/opt/oracle/oraInst.loc
OPatch version : 10.2.0.4.3
OUI version : 10.2.0.4.0
OUI location : /oracledba/app/oracle/product/10.2.0/db/oui
Log file location : /oracledba/app/oracle/product/10.2.0/db/cfgtoollogs/opatch/opatch2010-03-31_01-21-26AM.log

INFO:Starting ApplySession at Wed Mar 31 01:21:28 EDT 2010
INFO:Starting Apply Session at Wed Mar 31 01:21:28 EDT 2010
SEVERE:OUI-67073:ApplySession failed: Patch ID is null.
INFO:System intact, OPatch will not attempt to restore the system
INFO:Finishing ApplySession at Wed Mar 31 01:21:29 EDT 2010
INFO:Total time spent waiting for user-input is 0 seconds. Finish at Wed Mar 31 01:21:29 EDT 2010
INFO:Stack Description: java.lang.RuntimeException: Patch ID is null.
INFO:StackTrace: oracle.opatch.PatchObject.getPatchID(PatchObject.java:543)
INFO:StackTrace: oracle.opatch.ApplySession.loadAndInitPatchObject(ApplySession.java:1488)
INFO:StackTrace: oracle.opatch.ApplySession.process(ApplySession.java:5236)
INFO:StackTrace: oracle.opatch.OPatchSession.main(OPatchSession.java:1588)
INFO:StackTrace: oracle.opatch.OPatch.main(OPatch.java:619)

Cause of the Problem
The problem occured because OPatch version in the $ORACLE_HOME isn't up to date. But this Oracle error message seemed bogus to me. According to me at least it show throw message like
" The version of OPatch is too old to support for this patchset ".

Solution of the Problem
In order to apply "Patch 9119284 - 10.2.0.4.3 Patch Set Update" you must use the OPatch 10.2 version 10.2.0.4.7 or later. Oracle recommends to use the latest released OPatch 10.2, which is available for download from My Oracle Support patch 6880880 by selecting the 10.2.0.0.0 release. After you download that OPatch and install it
try to apply the patch set again.

Related Documents
UtilSession failed: Prerequisite check "CheckActiveFilesAndExecutables" failed
OPatch failed with error code 74 - CheckActiveFilesAndExecutables failed
How to Download Patchset or Opatch from metalink
List of Patchset number in metalink

UtilSession failed: Prerequisite check "CheckActiveFilesAndExecutables" failed

Problem Description
When applying a Opatch to a 10.2.0.x installation, applying OPatch failed with the following error:

Running prerequisite checks...
Prerequisite check "CheckActiveFilesAndExecutables" failed.
The details are:

Following executables are active :
/u01/app/oracle/product/10.2.0/lib/libnmemso.so
UtilSession failed: Prerequisite check "CheckActiveFilesAndExecutables" failed.

OPatch failed with error code 73

Cause of the Problem
The problem happened because a process is still using the libnmemso.so library which violates prerequisite check of installing one-off patches or patchsets. To install Opatch or patchsets all processes that use the $ORACLE_HOME being patched MUST be shutdown cleanly, this would include databases, listeners, intelligent agents, database control etc.

Solution of the Problem
A similar type of error and solution is discussed in http://arjudba.blogspot.com/2010/03/opatch-failed-with-error-code-74.html.

To implement the solution, please execute the following steps:

Step 01: Identify the process that is using the library libnmemso.so

$ fuser /u01/app/oracle/product/10.2.0/lib/libnmemso.so

Step 02: Stop that process. libnmemso.so library is used by EM and so often it is necessary to stop the enterprise manager control process.

$ emctl stop

Step 03: After it is stopped apply the patch

Step 04: Restart any processes that were previously stopped.

Related Documents
OPatch failed with error code 74 - CheckActiveFilesAndExecutables failed
How to Download Patchset or Opatch from metalink
List of Patchset number in metalink

OPatch failed with error code 74 - CheckActiveFilesAndExecutables failed

Problem Description
When applying opatch it fails with OPatch failed with error code 74. Further error investigation shows that Prerequisite check "CheckActiveFilesAndExecutables" failed which is displayed below.
oracle:/nas/sysadm/oracle/psu/HP/9119284>opatch apply
Invoking OPatch 10.2.0.4.9

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


Oracle Home : /oracledba/app/oracle/product/10.2.0/db
Central Inventory : /oracledba/app/oracle/oraInventory
from : /var/opt/oracle/oraInst.loc
OPatch version : 10.2.0.4.9
OUI version : 10.2.0.4.0
OUI location : /oracledba/app/oracle/product/10.2.0/db/oui
Log file location : /oracledba/app/oracle/product/10.2.0/db/cfgtoollogs/opatch/opatch2010-03-31_02-17-24AM.log

Patch history file: /oracledba/app/oracle/product/10.2.0/db/cfgtoollogs/opatch/opatch_history.txt

ApplySession applying interim patch '9119284' to OH '/oracledba/app/oracle/product/10.2.0/db'
Interim patch 9119284 is a superset of the patch(es) [ 7609058 7609057 7592346 7375617 7375613 7375611 7197583 715 5252 7155251 7155250 7155249 7155248 ] in the Oracle Home
OPatch will rollback the subset patches and apply the given patch.
Execution of 'sh /nas/sysadm/oracle/psu/HP/9119284/custom/scripts/init -apply 9119284 ':

Return Code = 0

Running prerequisite checks...
Prerequisite check "CheckActiveFilesAndExecutables" failed.
The details are:


Following executables are active :
/oracledba/app/oracle/product/10.2.0/db/bin/oracle
ApplySession failed during prerequisite checks: Prerequisite check "CheckActiveFilesAndExecutables" failed.
System intact, OPatch will not attempt to restore the system
--------------------------------------------------------------------------------
The following warnings have occurred during OPatch execution:
1) OUI-67620:Interim patch 9119284 is a superset of the patch(es) [ 7609058 7609057 7592346 7375617 7375613 737561 1 7197583 7155252 7155251 7155250 7155249 7155248 ] in the Oracle Home
--------------------------------------------------------------------------------

OPatch failed with error code 74

Cause of the Problem
The Prerequisite check failed because one/more oracle files are active, which violates the requirement of opatch apply.

If there is a RAC environment, then before applying patch shutdown all instances and listeners in the RAC environment.

If this is not a RAC environment, shut down all instances and listeners associated with the Oracle home that you are updating.

As you see in the error message
"Following executables are active :
/oracledba/app/oracle/product/10.2.0/db/bin/oracle"
the problem happened because in one instance oracle binary is still active.

There is also another possible reason of Prerequisite check fail due to oracle bug.

Solution of the problem
Ensure that all database instances/services, processes, listeners are shutdown currently those are being patched. You can check whether any process running or not by issuing query,
$ ps -ef | grep oracle
$ ps -ef | grep tns

If any process running you may want to kill that using kill -9 command.
Note that you might also need to exit from sql*plus client tool if you are connected as sysdba.

sql> exit;

If you see there is no oracle database process then possibly you might hit oracle Bug 6006980.
Workaround to solve this bug
1. Copy fuser executable from /bin to /sbin as root user.
2. Re-run the opatch command as "oracle" user.

Related Documents
How to Download Patchset or Opatch from metalink
List of Patchset number in metalink

Tuesday, October 7, 2008

List of Patchset number in metalink

You want to download patchset from metalink but you don't know the patchset number. In that case it may take some moments to find patchset number. For example you want to upgrade your database version from 10.2.0.1 to 10.2.0.2. Now which patchset number you want to download? In this post the patchset number along with oracle version is below.

A)For Oracle9iR2, Base version 9.2.0.1
i)To upgrade to 9.2.0.2 patchset number 2632931.
ii)To upgrade to 9.2.0.3 patchset number 2761332
iii)To upgrade to 9.2.0.4 patchset number 3095277
iv)To upgrade to 9.2.0.5 patchset number 3501955
v)To upgrade to 9.2.0.6 patchset number 3948480
vi)To upgrade to 9.2.0.7 patchset number 4163445
vii)To upgrade to 9.2.0.8 patchset number 4547809

B)For Oracle10g, Base version 10.1.0.2
i)To upgrade to 10.1.0.3 patchset number 3761843
ii)To upgrade to 10.1.0.4 patchset number 4163362
iii)To upgrade to 10.1.0.5 patchset number 4505133

C)For Oracle10gR2 Base version 10.2.0.1
i)To upgrade to 10.2.0.2 patchset number 4547817
ii)To upgrade to 10.2.0.3 patchset number 5337014
iii)To upgrade to 10.2.0.4 patchset number 6810189
iv)For Warehouse build of 10.2.0.4 patchset number 7005587

D)For Oracle11gR1 Base version 11.1.0.6
i)To upgrade to 11.1.0.7.0 Patchset number 6890831
Related Documents
How to Download Patchset or Opatch from metalink

Monday, September 15, 2008

How to Download Patchset or Opatch from metalink

Update:
If you are using latest support.oracle.com then after login to metalink Dashboard
- Click on Patches and Updates tab
- On the left sidebar under "Oracle Server/Tools" click on "Latest Patchsets".
- A new window will appear.
- Just mouseover on your product in the "Latest Oracle Server/Tools Patchsets" page.
- Corresponding oracle platform version will appear. Then simply choose the patchset version and click on that.
- You will go the download page. From the download page you can also change your platform and patchset version.


To download patchset as well as logon to metalink you must need a MetaLink account. To register for MetaLink, you will need a valid Support Identifier (CSI). To have an account go to https://metalink.oracle.com/ and select Register For MetaLink under First Time Users. Then give your CSI number Support Identifier Country and click proceed. After that follow instruction as indicated.

After you have your metalink account you can downlaod patchset or Opatch from metalink. Steps are stated below.
1)Login to metalink with username and password.

2)Beside quick find drop down menu select Patch Number.

3)Beside this box there is another box where you can give the patch number if you know the patch number previous. It is an integer number. For example,
-If you try to get patchset 10.2.0.3 then give number as 5337014 and click go. In order to know the patchset number just have a look at, List of Patchset number in metalink
-New pop up windows will appear. Enter again username and password.
-Select you platform from drop down menu and click download.
-You have finished download in this stage.

4)If you don't know patch number and you wish to find it out then simply click go.
5)Patches & Updates page will appear. From it you can proceed as you like.