关于v$process与v$session中process的理解(转载)
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的理解(转载)相关推荐
- 关于v$process与v$session中process的理解
v$session有个process字段,V$PROCESS有个SPID字段,这两个字段是不是一个意思呢?是不是都代表会话的操作系统进程呢? 官方文档上的解释: SPID VARCHAR2( ...
- process java类_Java中Process类的用途是什么?
Java.lang.Process是Object类的子类,可以描述由Runtime类的exec()方法启动的进程. 进程和对象控制进程并获取有关该进程的信息. Process类是抽象类,因此无法实例化 ...
- 【转载】谈谈我对Java中CallBack的理解
谈谈我对Java中CallBack的理解 转载自: http://www.cnblogs.com/codingmyworld/archive/2011/07/22/2113514.html CallB ...
- 数据库中session与process的区别与联系
session是通讯连接的上下文.建立一个数据库连接产生一个session process是操作系统进程 两者概念上不一致,但是经常可以配置process,session参数来限制并发连接数 alte ...
- 连接数process与会话session
1.连接数与会话的关系 在已建立的连接上,建立会话. 1个process对应1个或者对于1个的session. Oracle的sessions和processes的关系是: ...
- 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 ...
- 马尔可夫“折棍子”过程 Markovian Stick-breaking Process 在直方图平滑中的应用
马尔可夫"折棍子"过程 Markovian Stick-breaking Process 在直方图平滑中的应用 用Dirichlet prior做Histogram Smoothi ...
- 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 ...
- 关于.Net中Process和ProcessStartInfor的使用
System.Diagnostics.Process.Start(); 能做什么呢?它主要有以下几个功能: 1.打开某个链接网址(弹窗). 2.定位打开某个文件目录. 3.打开系统特殊文件夹,如&qu ...
最新文章
- iOS9定位获取经纬度 swift
- 十问十答 Apache 许可证
- Linux系统中安装软件的三种方法(一)
- 免责协议怎么写_员工辞职时,HR得让他这样写离职申请!
- 话题:什么是前端工程化?
- 人设倒了扶起来:Lazarus 组织利用含木马的IDA Pro 攻击研究员
- Markdown语言调整图片居中、大小
- springboot实现权限列表_SpringBoot+shiro+mybatis+Thymeleaf实现权限登录
- php有空语句吗?,php是空还是空?
- 推荐6款珍藏已久的网盘搜索工具
- 机器学习实战:支持向量机回归预测财政收入
- CAD迷你画图V3.6版
- 如何让html 兼容IE和chrome,IE Tab(让Chrome兼容IE)
- 论文阅读 (47):DTFD-MIL: Double-Tier Feature Distillation Multiple Instance Learning for Histopathology..
- MFC 树形控件的使用
- python中lines是什么类型_python中write和writelines有什么区别
- python用语句输入一个3*3的二维矩阵、并将之输出_从键盘输入一个3行4列的矩阵,将其转置后,变成4行3列的矩阵输出。这个c语言的代码咋写...
- 如何把pdf文件变小一点
- EXCEL文件打开缓慢的问题解决
- input 验证码 密码 输入框
热门文章
- redis泡菜5_大学英语课文a dill pickle 什么意思啊?为什么用这个题目呢?
- 腾讯正式发布《区块链方案白皮书》5大行业应用即将全面爆发
- C++那些事之SFINAE
- 计算机专业应该掌握的数学知识
- 卡罗拉中控安卓手机互联程序的修改
- 借助KafkaTool在海量Kafka数据快速精准定位/查询目标数据
- [OpenGL - 游戏开发] 仿制《Minecraft/我的世界》 - 总结及演示程序
- android novate乱码,QMUI_Android github 上的开发利器
- 十八、新人成才之路《做人七项原则 做一个端庄律己的人 之 心胸端正》
- 挑战光纤?电话线上也能实现10Gbps宽带