v$process

一、理解操作系统的派生



  1. [root@localhost ~]# ps -ef|grep sqlplus
  2. oracle 14721 14691 0 03:41 pts/0 00:00:00 sqlplus as sysdba

      当使用sqlplus登陆数据库后,重新开启一个secureCRT端,执行ps -ef查询;

      #操作系统进程14691派生出14721


  1. [root@localhost ~]# ps -ef|grep 14691
  2. oracle 14691 14690 0 03:41 pts/0 00:00:00 -bash
  3. oracle 14721 14691 0 03:41 pts/0 00:00:00 sqlplus as sysdba
  4. root 14917 14732 0 03:58 pts/1 00:00:00 grep 14691
        用户的shell环境,linxu下是bash,aix,可能是csh或ksh;

        shell的进程派生给sqlplus的进程14721

  1. [root@localhost ~]# ps -ef|grep 14721
  2. oracle 14721 14691 0 03:41 pts/0 00:00:00 sqlplus as sysdba
  3. oracle 14722 14721 0 03:41 ? 00:00:00 oracledevdb (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
  4. root 14930 14732 0 03:59 pts/1 00:00:00 grep 14721
        sqlplus对应进程又派生出oraect这个用户访问数据库的用户进程14722,即第二行;

二、查看oracle哪一个进程为用户进程14722提供服务


  1. select ADDR,PID,SPID,PNAME,USERNAME,TERMINAL,PROGRAM from v$process;



     根据与14722匹配的行,发现ORACLE实例的服务进程是49;

    可通过addr字段与v$session中的addr字段关联,获得sid;

SELECT s.SID, p.pid, p.spid signaled, s.osuser, s.program FROM v$process p, v$session s WHERE p.addr = s.paddr;





三、引申


    上面是在服务器端以sqlplus的方式登陆;
     根据客户端操作系统的 pid 获取对应的服务器连接信息


--查看客户端操作系统的pid,因为同一客户端开了俩个窗口分别做连接,所以下面的ps查询有俩个

  1. [root@localhost ~]# ps -ef|grep sqlplus
  2. oracle 127641 127572 0 01:32 pts/0 00:00:00 sqlplus
  3. oracle 127646 127597 0 01:32 pts/1 00:00:00 sqlplus
  4. root 129732 127699 0 02:05 pts/3 00:00:00 grep sqlplus

    以其中的一个进程127646为例,

 select SID,SERIAL#,SCHEMANAME,OSUSER,PROCESS,TYPE,PADDR from v$session where process='127646';

v$session中的process字段纪录了客户端操作系统的pid信息,可通过此列获得服务器端的sid等信息,进而可以关联v$process获得其他想要的信息。



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29319055/viewspace-2073808/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29319055/viewspace-2073808/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值