题目部分

在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$SESSION

WHERE  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程序员面试笔试宝典》,作者:小麦苗

---------------优质麦课------------

详细内容可以添加麦老师微信或QQ私聊。

About Me:小麦苗

● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用

● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/

● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处

● QQ:646634621  QQ群:618766405

● 提供OCP、OCM和高可用部分最实用的技能培训

● 题目解答若有不当之处,还望各位朋友批评指正,共同进步

DBA宝典

长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。

©著作权归作者所有:来自51CTO博客作者小麦苗DB宝的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 【DB笔试面试702】在Oracle中,如何定时清理INACTIVE状态的会话?
  2. 【DB笔试面试716】在Oracle中,集群有哪几种心跳机制?
  3. 【DB笔试面试689】在Oracle中,如何收集systemdump?如何收集hangana
  4. 【DB笔试面试703】在Oracle中,怎么杀掉特定的数据库会话?
  5. 【DB笔试面试698】在Oracle中,如何查看某一个会话是否被其它会话
  6. 【DB笔试面试695】在Oracle中,什么是Oracle RDA(Remote Diagnostic
  7. 【DB笔试面试684】在Oracle中,什么是DUAL表?
  8. 【DB笔试面试710】在Oracle中,用哪个参数可以判断一个数据库是否
  9. 【DB笔试面试687】在Oracle中,常用的10046及10053诊断事件的区别

随机推荐

  1. 克隆对象的方法实例教程
  2. 分享html元素调用服务器实例
  3. C#基础之操作优化实例教程
  4. 什么是链表?链表与数组的区别?
  5. 详解一篇搭建快速开发平台的实例步骤
  6. C#中在构造函数中访问虚成员有什么问题?
  7. Unity C# GetSaveFileName()的实例详解
  8. 什么是AspectCore Project ?
  9. 详解.net正则表达式怎么使用?
  10. 使用 VSCode 编写 .NET Core 项目的实例