> (Rob E. Allan) writes:
> > We are having a big problem with ORACLE V7.015 on a sparc 5 server
> > running solaris 1.1.1 ver B. Over time, the process table fills
> > up with immortal defunct processes. "kill -9" doesn't work.
> > These processes grow until the server hangs and only a reboot
> > gets rid of them.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ our symptoms are the same.
have you written oci or pro*c programs? and do you suppose that these may be a
possible source of the zombies? do the <defunct> process have a -l of
'oracle:blahblahblah'?
A solution was created in-house here that supposedly fixes the problem.
Basically,
create a signal handler in your c (.pc) code. This handler will be
inherited by the
oralibs and any 'oracle:' processes forked. when the parent receives a
signal of some
sort the child will act accordingly.
I've got some code fragments, but I havent't looked them over too much
yet; and my
fragement was written for a Pyramid's SVR4 port. I say this because signal
handling
can be an art on each specific port.
If interested I'll post what info I have to date. Checking a man page on
signal will
give you some general info, and the ports programmers docs help. I have a
reference called
'The Design of the UNIX Operating System' Maurice J. Bach
ISBN0-13-201799-7 025 has some
some detail on signals as well.
feel free to contact me directly if you prefer or I'll post a code frag
when I know some
more (next week?)
Quote:> Rob
> Not sure if this will help or not but on SUN/OS if you have zombies or
> processes with the <exiting> status, the following command should kill them:
> trace -p PID
humm...
> Please email me if it works.
> ta
> tony
> --
> _____ ________ / ____ |Tony Jambu, Database Administrator
> /_ _ /_ __ / |Colonial Mutual Invest Mgmt,Aust (ACN004021809)
> \_______/ |PHONE: +61-3-2831639 FAX: +61-3-2831090