oracle多线程类连接数,数据库连接数,服务器进程,线程之间什么关系?
服务器进程--spid
大部分系统都表示server process在OS层面的process ID==操作系统进程ID;
数据库进程--这里用Oracle做例子 pid
这里可以理解为Oracle自己用的,Oracle进程的ID;
还有一个session标识,我们这里一般称为sid;
下边在看一下几个试图,能更清楚的理解这些。
v$process视图:
v$process视图包含当前系统oracle运行的所有进程信息。常被用于将oracle或服务进程的操作系统进程ID与数据库session之间建立联系。
常用列:
ADDR:进程对象地址
PID:oracle进程ID
SPID:操作系统进程ID
V$PROCESS中的连接列
Column View Joined Column(s)
ADDR V$SESSION PADDR
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语句的详细
信息.
v$sqltext视图
v$sqltext视图包括Shared pool中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;
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 ’SQLNet message%’;
多数的session都是空闲事件如:SQLNet message from client, pipe get, PMON timer等.收起
oracle多线程类连接数,数据库连接数,服务器进程,线程之间什么关系?相关推荐
- 进程线程及堆栈关系的总结
进程线程及堆栈关系的总结 突然想到进程的栈和线程的栈,就顺便说一下,线程的栈被自动分配到进程的内存空间中 进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性. ...
- 域名、服务器、IP之间的关系
文章转载自:[https://www.jianshu.com/p/c3d3f6629c13](https://www.jianshu.com/p/c3d3f6629c13) 本文主要针对域名.服务器和 ...
- 学校(School)主要有3大角色:学校(School),讲师(Teacher),学员(Student)。请用Python语言简要实现这些类及及其属性,以及它们之间的关系。
学校(School)主要有3大角色:学校(School),讲师(Teacher),学员(Student). 学校可以注册学员,统计有多少学员 讲师负责讲课 学生听课,提问,学习,交学费 Teacher ...
- Day04 数据库设计01 ~多表之间的关系(一对一,一对多,多对多)
前言 数据库的设计 首先需要我们了解表与表之间的关系,其次是掌握设计库的规范.今天学习的是数据库中表与表之间的关系,一对一,一对多(多对一),多对多. 一.多表之间的关系 概念:现实生活中,实体与实体 ...
- 服务器与项目之间的关系,项目 服务器 和数据库的关系
项目 服务器 和数据库的关系 内容精选 换一换 华为云关系型数据库服务提供使用内网.公网和数据管理服务(Data Admin Service,简称DAS)的连接方式.VPC:虚拟私有云(Virtual ...
- Java大厂面试题:从 JVM 角度说进程和线程之间的关系
下面来思考这样一个问题:为什么程序计数器.虚拟机栈和本地方法栈是线程私有的呢?为什么堆和方法区是线程共享的呢? 1.3.2 程序计数器为什么是私有的? 程序计数器主要有下面两个作用: 字节码解释器通过 ...
- 一文带你了解数据库隔离级别和锁之间的关系
前言: 很多人在学习数据库知识时,往往在学习到隔离级别和数据库锁这里有一些疑问: 隔离级别和数据库锁之间有什么关联呢? 本文就和大家聊聊这两者之间的联系,希望对大家有帮助! 聊聊两者之间的联系: 在具 ...
- java 线程间变量共享_多线程:(五)多个线程之间共享数据
简单的总结一下多线程共享数据的方式.其实,最重要的,是一个思想,一个面向对象的编程思想的建立. 说两点: 一.如果每个线程执行的代码相同,可以使用同一个Runnable对象,这个Runnable对象中 ...
- 网络中的计算机之间的关系,有关服务器与主机之间的关系
局域网,是指"存在于某一个较小地理区域内的计算机网络".通常把两台以上的电脑通过各种介质(比如双绞线.同轴电缆.电话线等等,空气也算是一种介质,这就是无线网络)连接起来,这就构成了 ...
最新文章
- Java学习总结:51(对象序列化)
- python number函数_Python3 数据类型-Number
- 类的笔记整理__7-10__
- Android 是移动世界的鸭嘴兽
- python epoll 并发_Python语言之python并发原理(阻塞、非阻塞、epoll)
- atoi函数_吊打面试官 | 腾讯经典考点写代码实现atoi函数
- python数据分类_Python数据挖掘实践—KNN分类
- dijkstra算法学习
- 织梦自定义表单地区联动类型不可用的解决办法
- 垃圾回收算法与实现系列-GC 标记-清除算法
- Communication System--ZOJ 1409
- Mixtile Garage产品简介
- C语言实现汉诺塔【图文讲解】
- Drool7s 什么叫KIE和生命周期-系列03课
- 4场直播丨EsgynDB连接服务层、Oracle、openGauss
- Borderline-SMOTE算法介绍及Python实现【内附源代码】
- 《人月神话》阅读心得
- 网络编程(含 UrlConnection 发送 HTTP 请求下载文件)
- 丹佛大学计算机专业,丹佛大学计算机工程排名第79(2020年TFE美国排名)
- npm创建Vue工程【element UI】