Mark,

First of all, thanks for your reply.

The problem that I am having is the parent process is still running, and
the child process shouldn't become a orphan process.  The reason why I
posted this problem in DBI user group is because the problem is not
there when I login to Oracle with SQL*PLUS, only when I run PERL DBI
connecting to Oracle shows the child process like an orphan process.

Alan

 

-----Original Message-----
From: markd [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, May 30, 2006 12:04 PM
To: Kong, Alan
Cc: [email protected]
Subject: Re: DBD::Oracle with oracle child process with parent ID of 1

Kong, Alan wrote:

> Hi all,
> 
> Does anyone know why the oracle child process initiated by my perl 
> program with parent ID of 1?
> 
> My system is HPUX 11.11 with PERL5.8.0, DBI1.48, DBD-Oracle-1.16, 
> Oracle10.2.0.
> 
> I have another system with HPUX11.00, PERL5.6.1, DBI1.48, 
> DBD-Oracle-1.16, Oracle8.1.7 where oracle child process is the pid of 
> perl program which initiated it.

When a process's parent exits, the unix kernel assigns process 1 (the
init process) to be the parent.  This is normal unix behavior, and the
way all "daemons" run.

The difference between your systems is probably that you are connecting
differently.  In the one case, you're connecting via sqlnet listener,
and on the other, via the 'beq' scheme.

When you connect via typical sqlnet setup, your client program (be is
perl, sqlplus, or anything) makes a TCP connection to the oracle
listener, and the listener starts the oracle client process for your
connection.  That process then runs as 'daemon'.

When you connect directly by setting ORACLE_SID, your program itself
starts the oracle process, so it's the parent.

Note this has nothing to do with perl or DBI.  This is just oracle
behavior and the same with any oracle client application.
Also, this is perfectly normal.

Mark

Reply via email to