http://www.itpub.net/thread-1077321-1-1.html(出处)

关于v$process与v$session中process的理解

说明
v$session有个process字段,V$PROCESS有个SPID字段,这两个字段是不是一个意思呢?是不是都代表会话的操作系统进程呢?
官方文档上的解释:
SPID      VARCHAR2(12)  Operating system process identifier
PROCESS   VARCHAR2(9)   Operating system client process ID

本文以数据库服务器安装在unix上为例进行说明。
V$PROCESS中的SPID表示的是操作系统的进程,v$session中的process表示客户端进程ID,即客户端进程在客户端机器上的进程ID号。一个表示客户端进程在客户端机器上的进程号,一个表示服务器进程在服务器上的进程号。
连接服务器的会话,发起会话的客户端进程可能是unix进程,也可能是windows进程。
-------------------
windows客户端进程
-------------------
例如,使用windows进程连接unix上的数据库,对应会话sid=35,对应客户端windows的988:5412
格式为"客户端PID:线程ID"。如"988:5412",
表明连接到数据库的客户端程序在客户计算机上的进程ID是 988 ,该进程内的5412号线程执行了数据库的连接。
set linesize 200
col machine format a30
col program format a50
col status format a10
col username format a10
select machine,program,username,status from v$session where sid=&oracle_sid;

Enter value for oracle_sid: 35
old   1: select machine,program,username,status,process from v$session where sid=&oracle_sid
new   1: select machine,program,username,status,process from v$session where sid=35
MACHINE                        PROGRAM          USERNAME   STATUS     PROCESS
------------------------------ ---------------- ---------- ---------- ------------
WORKGROUP\HXC                  plsqldev.exe     SYS        INACTIVE   988:5412

sid=35对应的unix数据库服务器上的服务器进程为 16805
SQL> select spid os_sid
  2    from v$process
  3   where addr = (select paddr from v$session where sid = &oracle_sid);
Enter value for oracle_sid: 35
old   3:  where addr = (select paddr from v$session where sid = &oracle_sid)
new   3:  where addr = (select paddr from v$session where sid = 35)
OS_SID
------------
16805

[monitor:/]#ps -ef|grep 16805
    root 17278 17174  0 14:27:23 pts/tA    0:00 grep 16805
  oracle 16805     1  0 14:22:56 ?         0:00 oraclerobin (LOCAL=NO)
[monitor:/]#

-------------------
Unix客户端进程
-------------------
再来看看unix客户端连接到unix服务器端的实例
连接服务器的会话sid=260
对应的客户端进程号为 26349
SQL> set linesize 200
SQL> col machine format a30
SQL> col program format a50
SQL> col status format a10
SQL> col username format a10
SQL>
SQL> select machine,program,username,status,process from v$session where sid=&oracle_sid;
Enter value for oracle_sid: 260
old   1: select machine,program,username,status,process from v$session where sid=&oracle_sid
new   1: select machine,program,username,status,process from v$session where sid=260
MACHINE   PROGRAM                              USERNAME   STATUS     PROCESS
--------- ------------------------------------ ---------- ---------- ------------
zhzw01    [email=accountrefresh@zhzw01]accountrefresh@zhzw01[/email] (TNS V1-V3)    BILL_GATHE ACTIVER    26349

对应的服务器进程号为 13472
SQL> select spid os_sid
  2    from v$process
  3   where addr = (select paddr from v$session where sid = &oracle_sid);
Enter value for oracle_sid:  260
old   3:  where addr = (select paddr from v$session where sid = &oracle_sid)
new   3:  where addr = (select paddr from v$session where sid =  260)
OS_SID
------------
13472

hnzzzw01:/arraybill/home/oracle$ ps -ef|grep 13472
orabill 25649 25452  0 14:22:56 pts/ta    0:00 grep 13472
orabill 13472     1 255 10月  3  ?        30969:04 oraclehnbill (LOCAL=NO)
hnzzzw01:/arraybill/home/oracle$

-------------------
说明
-------------------
如果是通过sid,查询到进程spid,使用操作系统命令直接杀掉进程
kill -9 spid
注意,是 spid,而不是v$session中对应的客户端的process,别杀错了进程。

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

转载于:http://blog.itpub.net/15142212/viewspace-566463/

关于v$process与v$session中process的理解(转载)相关推荐

  1. 关于v$process与v$session中process的理解

    v$session有个process字段,V$PROCESS有个SPID字段,这两个字段是不是一个意思呢?是不是都代表会话的操作系统进程呢? 官方文档上的解释: SPID      VARCHAR2( ...

  2. process java类_Java中Process类的用途是什么?

    Java.lang.Process是Object类的子类,可以描述由Runtime类的exec()方法启动的进程. 进程和对象控制进程并获取有关该进程的信息. Process类是抽象类,因此无法实例化 ...

  3. 【转载】谈谈我对Java中CallBack的理解

    谈谈我对Java中CallBack的理解 转载自: http://www.cnblogs.com/codingmyworld/archive/2011/07/22/2113514.html CallB ...

  4. 数据库中session与process的区别与联系

    session是通讯连接的上下文.建立一个数据库连接产生一个session process是操作系统进程 两者概念上不一致,但是经常可以配置process,session参数来限制并发连接数 alte ...

  5. 连接数process与会话session

    1.连接数与会话的关系     在已建立的连接上,建立会话.     1个process对应1个或者对于1个的session.     Oracle的sessions和processes的关系是:   ...

  6. ORA-01033:ORACLE initialization or shutdown in progress Process ID:0 Session ID:0 Serial number:0

    1 虚拟机中的  oracle  强制关机后,第二天启动后,navicat连接不上. 报错: ORA-01033:ORACLE initialization or shutdown in progre ...

  7. 马尔可夫“折棍子”过程 Markovian Stick-breaking Process 在直方图平滑中的应用

    马尔可夫"折棍子"过程 Markovian Stick-breaking Process 在直方图平滑中的应用 用Dirichlet prior做Histogram Smoothi ...

  8. ORA-03113: end-of-file on communication channel Process ID: 252 Session ID: 1 Serial number: 3

    进入字符界面: sqlplus  / as sysdba startup nomount; alter database mount; alter database open; 报如下错误: * ER ...

  9. 关于.Net中Process和ProcessStartInfor的使用

    System.Diagnostics.Process.Start(); 能做什么呢?它主要有以下几个功能: 1.打开某个链接网址(弹窗). 2.定位打开某个文件目录. 3.打开系统特殊文件夹,如&qu ...

最新文章

  1. iOS9定位获取经纬度 swift
  2. 十问十答 Apache 许可证
  3. Linux系统中安装软件的三种方法(一)
  4. 免责协议怎么写_员工辞职时,HR得让他这样写离职申请!
  5. 话题:什么是前端工程化?
  6. 人设倒了扶起来:Lazarus 组织利用含木马的IDA Pro 攻击研究员
  7. Markdown语言调整图片居中、大小
  8. springboot实现权限列表_SpringBoot+shiro+mybatis+Thymeleaf实现权限登录
  9. php有空语句吗?,php是空还是空?
  10. 推荐6款珍藏已久的网盘搜索工具
  11. 机器学习实战:支持向量机回归预测财政收入
  12. CAD迷你画图V3.6版
  13. 如何让html 兼容IE和chrome,IE Tab(让Chrome兼容IE)
  14. 论文阅读 (47):DTFD-MIL: Double-Tier Feature Distillation Multiple Instance Learning for Histopathology..
  15. MFC 树形控件的使用
  16. python中lines是什么类型_python中write和writelines有什么区别
  17. python用语句输入一个3*3的二维矩阵、并将之输出_从键盘输入一个3行4列的矩阵,将其转置后,变成4行3列的矩阵输出。这个c语言的代码咋写...
  18. 如何把pdf文件变小一点
  19. EXCEL文件打开缓慢的问题解决
  20. input 验证码 密码 输入框

热门文章

  1. redis泡菜5_大学英语课文a dill pickle 什么意思啊?为什么用这个题目呢?
  2. 腾讯正式发布《区块链方案白皮书》5大行业应用即将全面爆发
  3. C++那些事之SFINAE
  4. 计算机专业应该掌握的数学知识
  5. 卡罗拉中控安卓手机互联程序的修改
  6. 借助KafkaTool在海量Kafka数据快速精准定位/查询目标数据
  7. [OpenGL - 游戏开发] 仿制《Minecraft/我的世界》 - 总结及演示程序
  8. android novate乱码,QMUI_Android github 上的开发利器
  9. 十八、新人成才之路《做人七项原则 做一个端庄律己的人 之 心胸端正》
  10. 挑战光纤?电话线上也能实现10Gbps宽带