Re: Identify PID for remote database handle
- From: csarnows@xxxxxxxxxxxxxx (Chris Sarnowski)
- Date: Tue, 23 May 2006 10:04:01 -0400
I don't know of any way to do this using DBI or DBD::Oracle.
You might get better answers on an Oracle DBA list
(try http://www.freelists.org/list/oracle-l or http://www.lazydba.com )
This seems to work in Oracle 9.2, but I just hacked it together in a couple of minutes and
it's not thoroughly tested (i.e. testcases = 1 with 100% success). Also, there are probably
better ways to find your own SID. This of course assumes that the user has access to the
V$ tables (which they probably shouldn't have).
select vp.spid from v$process vp, v$session vs
where vs.sid = (select sid from v$mystat where rownum = 1)
and vp.addr = vs.paddr;
I've been thinking about why you might want this and now I'm not sure it's the answer
you want anyway. Running sqlplus inside of perl seems redundant for most purposes.
And now that I think about it I'm sure DBI/DBD::Oracle can't help you here because it is not
going to know anything about the sqlplus connection, just the DBI handle.
So it really is off-topic for this list.
-Chris
On May 22, 2006, at 6:07 PM, Drozdowski, Catharine wrote:
How can I find the server pid for a sqlplus session which is logged on
remotely inside a perl program... I can find the local PID using $$ or
$PID, but how can I find the pid for the statement/database handle which
is actually logged onto the database doing the work...
Env: Oracle, Solaris
Catharine Drozdowski
Mentor Graphics Corporation
IT Systems Services
1 503 685 7906
.
- References:
- Identify PID for remote database handle
- From: Catharine Drozdowski
- Identify PID for remote database handle
- Prev by Date: problem with dbi module.
- Next by Date: RE: problem with dbi module.
- Previous by thread: Identify PID for remote database handle
- Next by thread: Where are the selected rows stored using fetchall_arrayref
- Index(es):
Relevant Pages
|