v$session & v$session_wait

前端之家收集整理的这篇文章主要介绍了v$session & v$session_wait前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

(1)v$session

v$session视图记录了当前连接到数据库的session信息

@H_502_6@ Column Description SADDR session address SID Session identifier SERIAL# session序列号,当某个session结束,另一个新开始的session使用了前者的sid,则此数值自加1 AUDSID auditing session ID,具有唯一性 PADDR session对应的操作系统进程地址 USER# Oracle user number USERNAME Oracle user name COMMAND 当前session正在执行的sql命令类型,具体编号代表什么可以查看v$sqlcommand lOCKWAIT 正在等待的会话需要的的锁的地址,如果没有锁,则为空。(oracle:address of the lock the session is waiting for;NULL if none) STATUS session的状态:
    --ACTIVE:当前session正在执行sql
    --INACTIVE:等待操作,即等待执行sql语句;
    --KILLED:session被标注为KILLED、
    --等等… SERVER server类型有:
    --DECICATED
    --SHARED
    --PSEUDO  
    --POLLED
    --NONE SCHEMA schema用户id SCHEMANAME schema用户名 OSUSER 连接到数据库的操作系统用户名 PROCESS 操作系统进程编号 MACHINE 连接到数据库的机器名称 PORT 连接到数据库的客户端端口 TERMINAL 连接到数据库的终端名称 PROGRAM 客户端执行的客户端程序 TYPE session类型 sql_ADDRESS 与“sql_HASH_VALUE”一起去确认当前正在被执行的sql语句 sql_HASH_VALUE 与“sql_ADDRESS”一起去确认当前正在被执行的sql语句 sql_ID 当前正在被执行的sql语句的ID logoN_TIME 登录时间 LAST_CALL_ET

如果session状态为active,则该值表示session成为active到现在的时间;
如果session状态为inactive,则该值表示session成为inactive到现在的时间

通过该列可以确定会话的非活动时间,对于清理长时间不活动的会话,非常有用

SEQ# 唯一标识session当前或最后等待的数目(每次等待都递增) EVENT# event number EVENT session正在等待的事件

 

注:COMMAND:表明当前session正在执行的sql命令类型。

sql> select * from v$sqlcommand;
 
COMMAND_TYPE COMMAND_NAME
------------ ----------------------------------------------------------------
           0 
           1 CREATE TABLE
           2 INSERT
           3 SELECT
           4 CREATE CLUSTER
           5 ALTER6 UPDATE
           7 DELETE
           … …

 

(2)v$session_wait

v$session_wait记录了当前或最近等待的session信息,其列信息与v$session相差不大,不再介绍。

猜你在找的Oracle相关文章