Wednesday, May 20, 2015

Unlocking oci.dll when Upgrading or Patching Oracle


       

   If the patch fails with a message as

$ORACLE_HOME/bin/oci.dll
Recommended actions: OPatch needs to modify files which are being used by some processes.


Please follow the following procedure,


1) Try to check the OPatch version using the following command and upgrade the optach with the latest version using the patch

   opatch version


2) If still the problem persists, then try to use the following procedure:


 a) 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: $ORACLE_HOME\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, $ORACLE_HOME\bin\oci.dll) in the tasklist command will not work.



Command Output:
Image Name PID Modules
========================= ======== ========
dllhost.exe 3544 oci.dll

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
========================= ======== =======================
dllhost.exe 3544 ComSysApp


Check if the services related to the Image Names can be stopped until the patch is applied.

recheck if still the oci.dll is used by the process and if not continue the patching.