Finding out which process is accessing Oracle binaries



Ever had the error message "The process cannot access the file because it is being used by another process"? Well, on Windows it is unfortunately a common occurrence, and this morning it happened again while upgrading a 10.2.0.3 database to 10.2.0.4



This time I decided to put an end to it and I looked for a command or tool that might help me find out which process were running on the Windows server and which files they were accessing. Google took me to ProcessExplorer



This tools offers the tree of the processes running on a Windows system



The culprit in my case (see the first screenshot) was accessing java.exe. Which process to kill? Maybe javaw?
Before killing a process, let's try to find out what javaw is doing; infact, we don't want to kill the installer itself!



The process must be emagent.exe (in fact, I should have used the "Find" function, see below, and look for "java")

taskkill

As a result of stopping emagent.exe the installation continued without any other werror or warning.




As and example of the usage of the "Find" command, we determine which process is currently accessing catupgrd.sql. I am running two upgrades in parallel.


Find handle

The answer is, of course, sqlplus.exe.

The same useful information is provided by handle.exe , but not in graphical form.

Rate this note ...
Useless Poor Average Good Very helpful