[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?

Doesn't change anything (i.e. still works correctly) on my 
Solaris 2.6/Oracle 8.1 system.

Mark

> 
> 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>;
> > 
> > ----------------------------------------------------------------------
> 


Follow-Ups from:
"Bill Hess" <bhess@techrg.com>

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