Oracle Critical Patch Update on Windows fails with error 74 or 73
search cancel

Oracle Critical Patch Update on Windows fails with error 74 or 73

book

Article ID: 159395

calendar_today

Updated On:

Products

Data Loss Prevention Enforce Data Loss Prevention Data Loss Prevention Oracle Standard Edition 2

Issue/Introduction

While attempting to apply the latest CPU patch it fails. (*example from Oracle 10, applies to any version)

C:\OraTemp\OPatch\Version>c:\oracle\product\<Version>\db_1\OPatch\opatch apply
Invoking OPatch <Version>

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


Oracle Home       : c:\oracle\product\<Version>\db_1
Central Inventory : C:\Program Files\Oracle\Inventory
   from           : n/a
OPatch version    : <Version>
OUI version       : <Version>
OUI location      : c:\oracle\product\<Version>\db_1\oui
Log file location : c:\oracle\product\<Version>\db_1\cfgtoollogs\opatch\opatch2010-05-18_14-32-05PM.log

Patch history file: c:\oracle\product\<Version>\db_1\cfgtoollogs\opatch\opatch_history.txt

ApplySession applying interim patch 'xxxxxxx' to OH 'c:\oracle\product\<Version>\db_1'
Interim patch xxxxxxx is a superset of the patch(es) [  xxxxxxx ] in the Oracle Home
OPatch will rollback the subset patches and apply the given patch.

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

Following files are active :
c:\oracle\product\<Version>\db_1\bin\oraclient10.dll
c:\oracle\product\<Version>\db_1\bin\orapls10.dll
c:\oracle\product\<Version>\db_1\bin\oracommon10.dll
c:\oracle\product\<Version>\db_1\bin\orageneric10.dll
c:\oracle\product\<Version>\db_1\bin\oraplp10.dll
c:\oracle\product\<Version>\db_1\bin\oranls10.dll
c:\oracle\product\<Version>\db_1\bin\oraunls10.dll
c:\oracle\product\<Version>\db_1\bin\orasnls10.dll
c:\oracle\product\<Version>\db_1\bin\oranro10.dll
c:\oracle\product\<Version>\db_1\bin\oran10.dll
c:\oracle\product\<Version>\db_1\bin\oranl10.dll
c:\oracle\product\<Version>\db_1\bin\oranbeq10.dll
c:\oracle\product\<Version>\db_1\bin\orannzsbb10.dll
c:\oracle\product\<Version>\db_1\bin\oracore10.dll
c:\oracle\product\<Version>\db_1\bin\orahasgen10.dll
c:\oracle\product\<Version>\db_1\bin\orahasgen10.dll
c:\oracle\product\<Version>\db_1\bin\oraocr10.dll
c:\oracle\product\<Version>\db_1\bin\oraocrb10.dll
c:\oracle\product\<Version>\db_1\bin\sqlplus.exe
c:\oracle\product\<Version>\db_1\bin\oraldapclnt10.dll
c:\oracle\product\<Version>\db_1\bin\oraxml10.dll
ApplySession failed during prerequisite checks: Prerequisite check "CheckActiveFilesAndExecutables" failed.
System intact, OPatch will not attempt to restore the system
--------------------------------------------------------------------------------
...
--------------------------------------------------------------------------------

OPatch failed with error code = 74

C:\OraTemp\OPatch\Version>

Cause

OPatch failure with error code = 74 can be the result of current active sqlplus sessions.

OPatch failure with error code = 73 can be the result of current active java applications.

Resolution

Solution 1) Shut down all Oracle services and sqlplus sessions.

 

regardless of whether they are connected to the database or not, and regardless of which user owns the process, any open sqlplus sessions or active Oracle Services will cause this to fail. Some system services can also hold Oracle files open and cause this error.

Stop the following services during Opatch execution:

  • The Distributed Transaction Coordinator service
  • The Windows Management Instrumentation service
  • The COM+ System Application service
  • On a virtualized system: the VMware Tools service and any other VMware-provided services
  • Use the Windows Task Manager to show processes from all users, and look for any sqlplus.exe processes and stop them.

When searching for which processes might be tying up the Oracle dlls you can use the tasklist command from the command prompt:

Tasklist /m

This displays all of the dlls being used by processes on the system.  However, if the CPU patch is erroring out and specifically mentions a dll, you can search for it with:

Example DLL lookup:

Tasklist /m oci.dll

This will return a list of all processes using the specified dll file.

Note: In some cases, the Windows system can automatically restart these services after they are manually stopped. It may be necessary to temporarily disable the services while Opatch is executing, and re-enable them after the CPU installation has completed.

 

 

If all the steps above do not resolve the "OPatch failure with error code = 73" error, rename the dll files mentioned in the opatch log file.
Then re-run the OPatch installer.

Additional Information

If it fails for other issues, please see Error "Following patches have conflicts" when installing the Oracle CPU