Resolving Issues with the Oracle Patches on Windows Servers
APTARE provides patches to third-party products, as needed. While applying the latest Oracle 11g patch on a Windows server, the process may fail when some files are in use. A message similar to the following will indicate which files are in use.
Sample Error Message During the Oracle 11g Windows Patch Process
[exec] Oracle Home : c:\opt\oracle
[exec] Central Inventory : C:\opt\oracle\oraInventory
[exec] OPatch version : 11.2.0.1.6
[exec] OUI version : 11.2.0.2.0
[exec] Log file location : c:\opt\oracle\cfgtoollogs\opatch\opatch2012-03-20_13-51-50PM.log
[exec]
[exec] Applying interim patch '13247523' to OH 'c:\opt\oracle'
[exec] Verifying environment and performing prerequisite checks...
[exec] Prerequisite check "CheckActiveFilesAndExecutables" failed.
[exec] The details are:
[exec]
[exec] Following files are active :
[exec] c:\opt\oracle\bin\oci.dll
[exec] Log file location: c:\opt\oracle\cfgtoollogs\opatch\opatch2012-03-20_13-51-50PM.log
[exec]
[exec] Recommended actions: OPatch needs to modify files which are being used by some processes.
Procedure to Resolve the Patch Issue
If the patch fails with a message similar to the above sample error message, follow these steps.
Note: These steps refer to the Sample Error Message above, but you will need to substitute the file names and services specific to your error message.
1. Open a command prompt window.
2. Run the following tasklist command to list the processes that are using the file mentioned in the error message. In our example, the file is: c:\opt\oracle\bin\oci.dll. Use the file name that is referenced in your error message.
Example Command: tasklist /m oci.dll
Note that using the full path (for example, c:\opt\oracle\bin\oci.dll) in the tasklist command will not work.
Command Output:
Image Name PID Modules
========================= ======== ========
oracle.exe 2744 oci.dll
TNSLSNR.EXE 2784 oci.dll
oravssw.exe 3064 oci.dll
3. Use the following command to identify the process associated with the Image Names from the tasklist command output.
tasklist /svc
Command Output:
Image Name PID Services
========================= ======== =======================
oracle.exe 1120 OracleServicescdb
svchost.exe 2432 RemoteRegistry
vmtoolsd.exe 2460 VMTools
TNSLSNR.EXE 2876 OraclescdbTNSListener
dllhost.exe 3304 COMSysApp
msdtc.exe 3480 MSDTC
4. Check if the services related to the Image Names can be stopped until the patch is applied.
• Do NOT stop any Oracle services (check for service names that include Oracle).
• Services names may not be exactly as you expect, as vendors may change names with new releases. You may need to do an internet search to identify the service.
5. If the services can be stopped, use the Windows Services Panel to stop the services associated with the Image Names.
6. Re-apply the patch using the patch upgrade script.
C:\opt\aptare\upgrade\patches\patch.bat
7. As a final step, go to the Windows Services Panel and re-start all the processes that you stopped in step 5.