Skip to Main Content
  • Questions
  • How to find the shadow processes in Unix?

Breadcrumb

Question and Answer

Tom Kyte

Thanks for the question.

Asked: July 12, 2000 - 2:37 pm UTC

Last updated: October 25, 2004 - 11:57 am UTC

Version: 8.1.6

Viewed 1000+ times

You Asked

Solaris 2.6
Oracle 8.1.6

I have a Net 8 connection from a PC program to an Oracle instance.
Is process 4742 in
oracle 4742 1 0 10:40:59 ? 1:34 oracletestdb01 (LOCAL=NO)

the shadow process ?

If not, how do we identifiy shadow processes from Unix ?


ps -ef|grep oracle
oracle 4729 1 0 10:36:13 ? 0:00 ora_pmon_testdb01
oracle 5097 4707 0 14:17:45 pts/1 0:00 -ksh
oracle 894 1 0 Jul 06 ? 0:01 /u01/oracle/product/8.1.6/bin/tns
lsnr listener816 -inherit
oracle 4737 1 0 10:36:16 ? 0:01 ora_smon_testdb01
oracle 4739 1 0 10:36:17 ? 0:00 ora_reco_testdb01
oracle 4735 1 0 10:36:16 ? 0:05 ora_ckpt_testdb01
oracle 4742 1 0 10:40:59 ? 1:34 oracletestdb01 (LOCAL=NO)
oracle 4707 4705 0 10:31:14 pts/1 0:01 -ksh
oracle 4731 1 0 10:36:15 ? 0:01 ora_dbw0_testdb01
oracle 4733 1 0 10:36:16 ? 0:01 ora_lgwr_testdb01

Thanks.

and Tom said...

Yes that is *a* shadow (dedicate server) process. If you want to find your shadow process:


ops$tkyte@8i> select spid from v$session, v$process where addr=paddr and audsid=userenv('sessionid');

SPID
---------
14567
ops$tkyte@8i> !ps 14567
PID TT S TIME COMMAND
14567 ? S 0:01 oracleora8i (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))


You can use that to find the dedicated server for a given user as well:

ops$tkyte@8i> select spid from v$session, v$process where addr = paddr and v$session.username = 'SCOTT';

SPID
---------
14599

ops$tkyte@8i> !ps 14599
PID TT S TIME COMMAND
14599 ? S 0:00 oracleora8i (LOCAL=NO)

ops$tkyte@8i>


thats the shadow process for the user SCOTT.

Rating

  (1 rating)

Is this answer out of date? If it is, please let us know via a Comment

Comments

Cant understand my process listing

syed, October 25, 2004 - 11:37 am UTC

Tom

on all the solaris boxes i've ever managed Oracle on, all the shadow processes have been of the form

oracle 20244 1 0 11:57:46 ? 0:00 oracleSID (LOCAL=NO)

However, one one of my servers, which I believe is configured the same as another I look after has processes listed as

oracle 1677 1 0 10:49:19 ? 0:01 oracle/export/home/oracle/SID (DESCRIPTION=(LOCAL=no)(ADDRESS=(PROTOCOL=BEQ)))

there no leading forward slash "/" at the start, but
/export/home/oracle is the $HOME directory of the oracle user. These are as well as the standard oracleSID (LOCAL=NO) processes, and I dont know why - any ideas ?

This is Solaris 8, and rdbms 8.1.7.2

Tom Kyte
October 25, 2004 - 11:57 am UTC

thats strange looking -- i haven't seen that myself. local=no and beq doesn't look right either -- beq is a fork/exec from a client protocol.