前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【DB笔试面试697】在Oracle中,V$SESSION视图中有哪些比较实用的列?

【DB笔试面试697】在Oracle中,V$SESSION视图中有哪些比较实用的列?

作者头像
小麦苗DBA宝典
发布2019-11-29 11:37:04
1.5K0
发布2019-11-29 11:37:04
举报
题目部分

在Oracle中,V$SESSION视图中有哪些比较实用的列?

答案部分

讲到Oracle的会话,就必须首先对V$SESSION这个视图中的每个列都非常熟悉。该视图在Oracle 11gR2下包含97列,在Oracle 12cR2下增加了6列,共包含103列。下面作者以表格的形式对这个视图中的重要列做详细说明。

表 3-26 V$SESSION视图

数据类型

说明

SADDR

RAW(4 | 8)

会话地址,对应于V$TRANSACTION.SES_ADDR列。

SID

NUMBER

会话标识符。

SERIAL#

NUMBER

会话序列号,用来唯一地标识会话对象。如果该会话结束且其它会话以相同的会话ID开始,那么可以保证会话级的命令被应用到正确的会话对象。

AUDSID

NUMBER

审计会话ID,审查SESSION ID的唯一性,通常也用于寻找并行查询模式。SELECT SID, OSUSER, USERNAME, MACHINE, PROCESS FROM V$SESSIONWHERE AUDSID = USERENV('SESSIONID');

PADDR

RAW(4 | 8)

拥有这个会话的进程地址,对应于V$PROCESS.ADDR列,通常用于查询会话对应的OS进程号:SELECT B.SID, B.SERIAL#, C.SPID FROM V$SESSION B, V$PROCESS C WHERE B.PADDR = C.ADDR;

USER#

NUMBER

Oracle用户标识符。

USERNAME

VARCHAR2(30)

Oracle用户名。

COMMAND

NUMBER

正在执行的SQL语句类型(分析的最后一个语句)。关于该列值的含义,请参阅V$SQLCOMMAND.COMMAND列。如果该列的值为0,那么表示并没有在V$SESSION视图里记录。

OWNERID

NUMBER

如果值为2147483644,那么此列的内容无效,否则此列包含拥有可移植会话的用户标符。对于利用并行从服务器的操作,将这个值解释为一个4字节的值,其低位两字节表示会话号,而高位字节表示查询协调程序的实例ID。

TADDR

VARCHAR2(8)

表示事务处理状态对象的地址,对应于V$TRANSACTION.ADDR列。

LOCKWAIT

VARCHAR2(8)

等待锁的地址,对应于V$LOCK的KADDR列;若当前会话没有被阻塞则为空

STATUS

VARCHAR2(8)

会话的状态:•ACTIVE:当前正在执行SQL语句(waiting for/using a resource);•INACTIVE:等待操作(即等待需要执行的SQL语句);•KILLED:标记为终止,删除;•CACHED:为Oracle*XA使用而临时高速缓存;•SNIPED:会话不活动,在客户机上等待,该状态不再被允许变为ACTIVE。

本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DB宝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档