I have an Oracle Server 11g that we use for integration tests. For some reason, the processes count [select count(*) from v$process;
] keeps increasing up to the limit, causing ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
error when the limit is reached. I tried increasing the processes limit to 300. But after a while the database will still reach this limit and have the same error. When I tried querying
select program, count(*) from v$process group by program order by count(*) desc;
I found that almost all of the processes are owned by Oracle.exe (SHAD)
PROGRAM COUNT(*)
---------------------------------------------------------------- ----------
ORACLE.EXE (SHAD) 135
ORACLE.EXE (J001) 1
ORACLE.EXE (Q001) 1
ORACLE.EXE (PMON) 1
ORACLE.EXE (GEN0) 1
PSEUDO 1
ORACLE.EXE (LGWR) 1
ORACLE.EXE (Q000) 1
ORACLE.EXE (W000) 1
ORACLE.EXE (DBRM) 1
ORACLE.EXE (DBW0) 1
ORACLE.EXE (DIAG) 1
ORACLE.EXE (DIA0) 1
ORACLE.EXE (MMAN) 1
ORACLE.EXE (SMON) 1
ORACLE.EXE (RECO) 1
ORACLE.EXE (SMCO) 1
ORACLE.EXE (W001) 1
ORACLE.EXE (J000) 1
ORACLE.EXE (PSP0) 1
ORACLE.EXE (MMNL) 1
ORACLE.EXE (D000) 1
ORACLE.EXE (S000) 1
ORACLE.EXE (CJQ0) 1
ORACLE.EXE (MMON) 1
ORACLE.EXE (QMNC) 1
ORACLE.EXE (VKTM) 1
ORACLE.EXE (CKPT) 1
Any idea what's causing this process spam and how to fix it? Note, I found many users reporting the issue in the internet, see for example:
- https://forums.oracle.com/forums/thread.jspa?threadID=839381
- https://forums.oracle.com/forums/thread.jspa?threadID=969909
- https://forums.oracle.com/forums/thread.jspa?threadID=2409737
But so far I haven't found any solution or even a sensible theory
SHAD
processes are created when you login to Oracle - they're just normal background processes. Look inv$session
to see if you can find what is responsible. From that you should be able to establish the machine(s) that the logins are coming from along with the usernames.