天天看点

SID与系统进程号相互验证

1、查找当前会话的系统进程

a)查看当前sql会话的所有进程

[[email protected] ~]# ps -ef |grep LOCAL |grep-v grep

oracle   4917     1  0 15:15 ?        00:00:00 oracleorcl (LOCAL=NO)

oracle   5130  4800  0 15:40 ?        00:00:02 oracleorcl(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))

oracle   5752  5230  5 16:46 ?        00:02:31 oracleorcl(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))

b)查找并验证这个会话的进程

SQL> select sid from v$mystat whererownum=1; --- v$mystat是当前会话的统计视图,sid是会话ID

      SID

----------

      138

SQL> select paddr from v$session wheresid=138;---查找process在数据库内存的地址

PADDR

----------------

000000006C491170

SQL> select spid from v$process whereaddr='000000006C491170';---查看并验证process进程的系统进程号

SPID

------------------------

5752

2、验证某个系统进程的sid

SQL> select sid from v$sessiona,v$process b where a.paddr=b.addr and spid=5752;

      SID

----------

      138