[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index][Thread Index][Top&Search][Original]

Re: More on Oracle defunct processes (DBD::Oracle & use POSIX;)



Here's a puzzle for perl5-porters...

Why should just adding "use POSIX;" to a trivial DBI perl script change
the handling of child processes?

Any ideas?

Tim.

On Mon, Jan 31, 2000 at 04:24:09PM -0500, Bill Hess wrote:
> 
> ah-ha!!!
> Thanks Mark - the script you sent me worked fine - that is no defunct
> processes
> So I started to figure out what was different with my script - well
> alot - so I starte with the modules I was using...
> 
> Very quickly I found the culprit - when I added
> 
>	use POSIX;
> 
> right after  use DBI;  that made the defunct processes show up...
> 
> OK - now that tells us what's been causing it - now why???  I have no
> clue on this one...
> 
> Bill Hess
> Technology Resource Group
>
> ----- Original Message -----
> From: Mark Dedlow <dedlow@voro.lbl.gov>
> To: <bhess@techrg.com>
> Cc: DBI-users <dbi-users@isc.org>
> 
> > Bill Hess wrote:
> >
> > >  Here is another thing I found about the defunct process problem I
> > > am having - for those who are interested...
> > >
> > > If the database is down and you try to connect with a normal
> > > DBI->connect and have RaiseError set to 0 - the defunct processes
> > > appear as long as the perl program which made the connect call is
> > > running - the defunct processes are owned by Oracle but their process
> > > info says their parent is the original perl process.  As soon as
> > > the Perl program dies, then the defunct processes go away
> > > Another thing I noticed is if you keep trying to connect, more
> > > defunct processes appear
> > >
> > > Is there something I can do in Oracle to prevent this from
> > > happening or is this an issue with DBD::Oracle?
> 
> I lost track of your platform/version (was it ever stated?), but I
> know there used to be an OCI bug that had these symptoms on Oracle v7
> and Solaris at least.
> 
> However, I cannot reproduce the problem on Oracle 8.0 or 8.1.
> For example, the test script below leaves no zombies when
> I have ORACLE_SID set to an downed db.  Would this script
> cause you a zombie?
> 
> #!/bin/perl -w
> use DBI;
> my $dbh = DBI->connect('dbi:Oracle:', 'dummy', 'fubar', {RaiseError =>
> 0});
> print STDERR "Check for zombie: ";
> <STDIN>;
> 
> ----------------------------------------------------------------------


[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index][Thread Index][Top&Search][Original]