Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: UNIX child processes
In article <877och$80m$1_at_nnrp1.deja.com>,
Ben Ryan <benryan_at_my-deja.com> wrote:
> In article <877cgr$ugv$1_at_nnrp1.deja.com>,
> pminnis_at_sigeco.com wrote:
> > We are running Oracle Applications on a Digital UNIX platform --
but I
> > have duplicated the effect with simple shell script with sqlplus as
> > follows:
> >
> > Shell script written to call sqlplus with PL/SQL block as in:
> > when oserror exit failure rollback;
> > when sqlerror exit failure rollback;
> > sqlplus user/pass <<EOF
> > define
> > ...
> > begin
> > ...
> > end;
> > /
> >
> > I find the unix pid that corresponds with the sqlplus and I find the
> > shell script
> >
> > I close my telnet session
> >
> > Shell script process is gone. sqlplus pid continues running; it is
> > definitely running -- I can watch the CPU% changing up and down.
> >
> > This seems to be normal behavior on our system. Children continue
to
> > run without a parent.
> >
> > So my question is, why doesn't the child process go away? Is there
a
> > way to subvert this behavior? Would I want to?
> >
> > Oracle Applications DBA's:
> > This is occurring when we cancel a custom concurrent request. These
> > programs are written as host shell scripts which run sqlplus,
perhaps
> > multiple times in the same shell script.
>
> Recommend you post a minimal example shell script which will cause
> the problem you are referring to.
>
> Sent via Deja.com http://www.deja.com/
> Before you buy.
>
You have to set the following parameter in sqlnet.ora file and reload
the listener
SQLNET.EXPIRE_TIME= 10
This feature should be supported by OS too and this can be control by
sqlnet parameter SQLNET.EXPIRE_TIME= -- dead connection detection time
parameter. Set a value to alert the server to ping the client to detect
whether the client has terminated unexpectedly and release the
resources associated with it. The default value for sqlnet.expire_time
is OFF. If no other value is assigned to sqlnet.expire_time in the
active sqlnet.ora file, then dead connection detection is inactive. If
set this parameter will release the locks but the 'sniped' connection
has to remove manually from oracle using 'alter system kill ...' stmt.
I hope this will help
Ramesh Joshi
joshir_at_hsn.net
Sent via Deja.com http://www.deja.com/
Before you buy.
Received on Tue Feb 01 2000 - 17:45:24 CST