Re: DBD::Oracle with oracle child process with parent ID of 1



Kong, Alan wrote:
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.

So what is the *problem* here? Do you think this is causing
some actual problem, or are you just concerned because you think
it is not "right"?

Anyway, here's a demonstration that this is normal, and depends
on how you connect. I will demo using sqlplus:

#1 baseline - no client processes running on DEMO db

%ps -opid,ppid,command ax | grep oracleDEMO | grep -v grep
[ no results ]

#2 connect via listener and look at processes

% sqlplus -s scott/tiger@DEMO

SQL> !ps -opid,ppid,command ax | grep oracleDEMO | grep -v grep

4619 1 oracleDEMO (LOCAL=NO)

So now there is an oracle process spawned for me. It has parent id 1,
because it was not started by sqlplus, it was started by the
oracle listener ( which leaves it to run as a "daemon" -- you might
want to call it "orphan", but that's just semantics.)


#3 connect via BEQ

% setenv ORACLE_SID DEMO
% sqlplus -s scott/tiger
SQL> !ps -opid,ppid,command ax | grep oracleDEMO | grep -v grep

4660 4659 oracleDMEO (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))

SQL> !ps -opid,ppid,command -p 4659

4659 4586 sqlplus

In this case, sqlplus itself started the oracle process, so it
is the parent.


So if you have an actual problem, and/or your system behaves differently,
feel free to reply, but I suggest off-list at this point, since it's
not perl/dbi related.

Mark



-----Original Message-----
From: markd [mailto:mark@xxxxxxxxxxxxx] Sent: Tuesday, May 30, 2006 12:04 PM
To: Kong, Alan
Cc: dbi-users@xxxxxxxx
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



.



Relevant Pages

  • RE: DBD::Oracle with oracle child process with parent ID of 1
    ... 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. ... Subject: DBD::Oracle with oracle child process with parent ID of 1 ... The difference between your systems is probably that you are connecting ...
    (perl.dbi.users)
  • Oracle shadow process parent id of 1
    ... I ma using Oracle 10.1.0.4 on hp unix 11i. ... When I connect to database using sqlplus or any other means, ... sahdow process created has a parent id of 1, as shown from output of ps ...
    (comp.databases.oracle.server)
  • RE: Breakable
    ... One of the problems with this is that sqlplus assumes that the user must ... permissions to run svrmgrl as the oracle user so they can ... at least pose some other security risks. ... the database rather than the client also suggests to me that Oracle's ...
    (Bugtraq)
  • Re: DBD::Oracle 1.19 fails to find Oracle version, problem and solution
    ... I don't understand your response since the problem I am seeing is that sqlplus will NOT run if ORACLE_HOME is defined and it does not seem related to combining libraries into one. ... Just attempted to install DBD::Oracle 1.19 on an Ubuntu Server 7.04 Feisty machine running Perl v5.8.8 (and instant client 10.2.0.3-20061115) and hit a problem with the Makefile.PL not being able to determine my Oracle version. ... WARNING: The tests will probably fail unless you set ORACLE_HOME yourself! ... You may need to set ORACLE_HOME to your Oracle software directory ...
    (perl.dbi.users)
  • Re: Ok, call me silly...
    ... And so are there number of rdbms products which can beat Oracle ... out it will also use substantially fewer resources than Informix too. ... SQL> CREATE TABLE parent ( ... SQL> CREATE TABLE child AS ...
    (comp.databases.informix)