I have a situation where my processes are not getting cleared after the parent session is closed - hence reaching max process limit every other day. These sessions belong to either oracle background or siebel application system user and not routine created oracle users.
All the open sessions has their maching process in v$process
(select count(*) FROM V$SESSION S, V$PROCESS P WHERE S.PADDR = P.ADDR)
=
(Select count (*) from V$session)
Q : Is it safe to orakill all the processes (spid in v$process) whose addr doesn't match with paddr in v$session.
All the orphan processes in V$process are non background processes.
Attached are the query results of V$session & V$process.
Attached is another related udump trace file giving me details of
ORA-00600: internal error code, arguments: [12333], [7], [5], [49], [], [], [], []
Current SQL information unavailable - no session.
Please help me sugesting the solution/workaround.
Thanks
-D
as a temporary work around you could set a job which kills alls processes / sessions which have been inactive for a period of time or set profiles and give a time limit before they are diconnected.
But your best bet is to look into your application and fix the real problem
Originally posted by davey23uk as a temporary work around you could set a job which kills alls processes / sessions which have been inactive for a period of time or set profiles and give a time limit before they are diconnected.
But your best bet is to look into your application and fix the real problem
No body answered my question yet. Sessions are being closed but not the related process. I generally have 30-40 sessions and processes range from 32 to maxlimit (800)
Originally posted by daljitsb All the open sessions has their maching process in v$process
(select count(*) FROM V$SESSION S, V$PROCESS P WHERE S.PADDR = P.ADDR)
=
(Select count (*) from V$session)
Q : Is it safe to orakill all the processes (spid in v$process) whose addr doesn't match with paddr in v$session.
All the orphan processes in V$process are non background processes.
Attached are the query results of V$session & V$process.
I have restarted the server to gain nothing. I do not have access to the siebel code to fix it in the code. Attached file has sessions, processes and ora600 details.
Oracle on Windows NT and 2000 runs as a service that is implemented as a single multi-threaded process. There is a thread running for each background and user process (session).
Yea, go ahead and "orakill.exe sid thread" all non-background processes. That'll have the effect of killing all user sessions. How about a startup force?
My suggestions ..
Fix the source of the problem .. code. Then think seriously about migrating to Linux. Granted, it is a bit geeky, but it's less expensive and much more reliable for Oracle (IMHO).
Originally posted by KenEwald
Yea, go ahead and "orakill.exe sid thread" all non-background processes. That'll have the effect of killing all user sessions. How about a startup force?
Problem are not sessions not clearing - they are claring fine. But proceeses started by cleared session is still running making it orphan. Thats what giving me ora600 error also
=====from trace file===
ORA-00600: internal error code, arguments: [12333], [7], [5], [49], [], [], [], []
Current SQL information unavailable - no session.
====
My question is - Is it safe to kill all the orphan processes (not linked to any session in v$session) using orakill.exe as batch process for workaround solution.