The problem of oracle dll files being still active (and locked against modification) inspite of a clear shutdown of all oracle services on windows has been around for lightyears it seems.
What changes, though, is the net of dependencies that has to be checked prior to an upgrade or patch execution to find the processes that actually keep hooking up the dll’s in question. I was hit again lately, when trying to apply the server 18.104.22.168 Patch 18 (the APR2013 bundle patch) on win x64. The infamous error message on executing
opatch apply read:
e:\_downloads\p16345834_112030_MSWIN-x86-64\16345834>opatch apply Oracle Interim Patch-Installationsprogramm Version 22.214.171.124.3 Oracle Home : e:\oracle\product\11.2.0\dbhome_2 Central Inventory : C:\Program Files\Oracle\Inventory ... Verifying environment and performing prerequisite checks... ... Prerequisite check "CheckActiveFilesAndExecutables" failed. The details are: Following files are active : e:\oracle\product\11.2.0\dbhome_2\bin\oci.dll ... Recommended actions: OPatch needs to modify files which are being used by some processes. OPatch failed with error code = 41