我的编程空间,编程开发者的网络收藏夹
学习永远不晚

ORACLE sid,pid,spid总结

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

ORACLE sid,pid,spid总结

概念上:
1.spid (system process id)  是操作系统层面的进程id .
2.pid(process id)  这个是基于oracle的进程id个人理解为就是oracle给自己的进程的一个编号。
3.sid.(这个就是session 的id) 这个个人理解为,就是有人在同oracle连接会话,oracle为其分配的一个编号。长用于连接其他列。

说道这还的和几个动态性能视图联系起来。
1.v$process视图  
此视图包含当前系统中oracle的所有的进程信息,常被用于将oracle或服务进程的操作系统进程ID与数据库session之间建立联系。
常用列:
         ADDR:进程对象地址
         PID:oracle进程ID
         SPID:操作系统进程ID
         V$PROCESS中的连接列 ADDR 通常與V$SESSION PADDR相連接。
如:select p.addr,P.PID,P.PID, s.paddr from v$process p,v$session s
where P.ADDR=S.PADDR
2.v$session视图
         V$SESSION是基础信息视图,用于找寻用户SID或SADDR。不过,它也有一些列会动态的变化,可用于检查用户。
常用列:
         SID:SESSION标识,常用于连接其它列。
         SERIAL#:如果某个SID又被其它的session使用的话则此数值自增加(当一个SESSION结束,另一个SESSION开始并使用了同一个SID)。
         AUDSID:审查session ID唯一性,确认它通常也用于当寻找并行查询模式
         USERNAME:当前session在oracle中的用户名。
         STATUS:这列用来判断session状态是:
         Achtive:正执行SQL语句(waiting for/using a resource)
         Inactive:等待操作(即等待需要执行的SQL语句)
         Killed:被标注为删除
         paddr, process addr, 通过这个字段我们可以查看当前进程的相关信息, 系统进程id,操作系统用户信息等等.
         (sql_address,sql_hash_value) (prev_sql_addr,prev_hash_value) 根据这两组字段, 我们可以查询到当前session正在执行的sql语句的详细
3.v$sqltext视图
        此视图包括共享池(share poll)中sql语句的完整文本,一条sql语句可能被分成多个快被保存。
常用列:
         HASH_VALUE:SQL语句的Hash值
         ADDRESS:sql语句在SGA中的地址
         SQL_TEXT:SQL文本。
         PIECE:SQL语句块的序号
V$SQLTEXT中的连接列
Column                                 View                             Joined Column(s)
HASH_VALUE, ADDRESS                  V$SQL, V$SESSION          HASH_VALUE, ADDRESS
HASH_VALUE. ADDRESS                  V$SESSION                   SQL_HASH_VALUE, SQL_ADDRESS
按pid查看正在执行的程序:
         select sid,program from v$session b where paddr in (select addr from v$process where spid=$pid);
按pid查看正在执行的sql语句
         select sql_text from v$sqltext where hash_value in (select sql_hash_value from v$session where   
         PADDR in (select addr from v"$process where spid=$pid)) order by piece;
4.V$SESSION_WAIT视图
         这是一个寻找性能瓶颈的关键视图。它提供了任何情况下session在数据库中当前正在等待什么(如果session当前什么也没在做,则显示它最后的等待事件)。当系统存在性能问题时,本视图可以做为一个起点指明探寻问题的方向。
         V$SESSION_WAIT中,每一个连接到实例的session都对应一条记录。
常用列:
         SID: session标识
         EVENT: session当前等待的事件,或者最后一次等待事件。
         WAIT_TIME: session等待事件的时间(单位,百分之一秒)如果本列为0,说明session当前session还未有任何等待。
         SEQ#: session等待事件将触发其值自增长
         P1, P2, P3: 等待事件中等待的详细资料
         P1TEXT, P2TEXT, P3TEXT: 解释说明p1,p2,p3事件
附注:
         1.State字段有四种含义:
         Waiting:SESSION正等待这个事件。
         Waited unknown time:由于设置了timed_statistics值为false,导致不能得到时间信息。表示发生了等待,但时间
很短
         Wait short time:表示发生了等待,但由于时间非常短不超过一个时间单位,所以没有记录。
         Waited knnow time:如果session等待然后得到了所需资源,那么将从waiting进入本状态。
         Wait_time值也有四种含义:
值>0:最后一次等待时间(单位:10ms),当前未在等待状态。
         值=0:session正在等待当前的事件。
         值=-1:最后一次等待时间小于1个统计单位,当前未在等待状态。
         值=-2:时间统计状态未置为可用,当前未在等待状态。
3.Wait_time和Second_in_wait字段值与state相关:
         如果state值为Waiting,那么wait_time值无用。Second_in_wait值是实际的等待时间(单位:秒)。
         如果state值为Wait unknow time,那么wait_time值和Second_in_wait值都无用。
         如果state值为Wait short time,那么wait_time值和Second_in_wait值都无用。
         如果state值为Waiting known time,那么wait_time值就是实际等待时间(单位:秒),Second_in_wait值无用。
V$SESSION_WAIT中的连接列
Column View Joined Colum
SID V$SESSION SID
查看session等待事件:
         select sid,event from v$session_wait where event not like ’rdbms%’ and event not like ’SQL*Net message%’;
         多数的session都是空闲事件如:SQL*Net message from client, pipe get, PMON timer等

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

ORACLE sid,pid,spid总结

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

ORACLE sid,pid,spid总结

概念上:1.spid (system process id) 是操作系统层面的进程id .2.pid(process id) 这个是基于oracle的进程id个人理解为就是oracle给自己的进程的一个编号。3.sid.(这个就是ses
2023-06-06

oracle 通过pid 找到sid 再找出执行sql

通过sid找出对应系统的pidSQL> select spid from v$process where addr in (select paddr from v$session where sid=1323);
2023-06-06

oracle总结

1.创建表空间create tablespance 表名datafile ‘’;-- 放在的位置size --设置大小autoextend onnext ;--扩展大小-- 2删除表空间drop tablespance 表名;-- 创建序列increment
oracle总结
2014-09-13
2024-04-02

oracle的exists用法总结

Oracle的EXISTS用于检查子查询是否返回任何行。它返回一个布尔值,如果子查询返回至少一行,则为true,否则为false。EXISTS的语法如下:SELECT column1, column2, ...FROM table1
oracle的exists用法总结
2024-04-09

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录