30.Oracle杂记——Oracle常用动态视图v$session
视图v$session:有关会话的信息
这个视图包含了超级多的列,说明其包含巨大的信息,小伙伴千万要记得使用,不然浪费掉了ORACLE一片苦心啊。
描述如下:
sys@PDB1> desc v$session
Name Null? Type
------------------------------------------------------------- ------------------------------------
SADDR RAW(8)
SID NUMBER
SERIAL# NUMBER
AUDSID NUMBER
PADDR RAW(8)
USER# NUMBER
USERNAME VARCHAR2(30)
COMMAND NUMBER
OWNERID NUMBER
TADDR VARCHAR2(16)
LOCKWAIT VARCHAR2(16)
STATUS VARCHAR2(8)
SERVER VARCHAR2(9)
SCHEMA# NUMBER
SCHEMANAME VARCHAR2(30)
OSUSER VARCHAR2(30)
PROCESS VARCHAR2(24)
MACHINE VARCHAR2(64)
PORT NUMBER
TERMINAL VARCHAR2(30)
PROGRAM VARCHAR2(48)
TYPE VARCHAR2(10)
sql_ADDRESS RAW(8)
sql_HASH_VALUE NUMBER
sql_ID VARCHAR2(13)
sql_CHILD_NUMBER NUMBER
sql_EXEC_START DATE
sql_EXEC_ID NUMBER
PREV_sql_ADDR RAW(8)
PREV_HASH_VALUE NUMBER
PREV_sql_ID VARCHAR2(13)
PREV_CHILD_NUMBER NUMBER
PREV_EXEC_START DATE
PREV_EXEC_ID NUMBER
PLsql_ENTRY_OBJECT_ID NUMBER
PLsql_ENTRY_SUBPROGRAM_ID NUMBER
PLsql_OBJECT_ID NUMBER
PLsql_SUBPROGRAM_ID NUMBER
MODULE VARCHAR2(64)
MODULE_HASH NUMBER
ACTION VARCHAR2(64)
ACTION_HASH NUMBER
CLIENT_INFO VARCHAR2(64)
FIXED_TABLE_SEQUENCE NUMBER
ROW_WAIT_OBJ# NUMBER
ROW_WAIT_FILE# NUMBER
ROW_WAIT_BLOCK# NUMBER
ROW_WAIT_ROW# NUMBER
TOP_LEVEL_CALL# NUMBER
logoN_TIME DATE
LAST_CALL_ET NUMBER
PDML_ENABLED VARCHAR2(3)
FAILOVER_TYPE VARCHAR2(13)
FAILOVER_METHOD VARCHAR2(10)
Failed_OVER VARCHAR2(3)
RESOURCE_CONSUMER_GROUP VARCHAR2(32)
PDML_STATUS VARCHAR2(8)
PDDL_STATUS VARCHAR2(8)
PQ_STATUS VARCHAR2(8)
CURRENT_QUEUE_DURATION NUMBER
CLIENT_IDENTIFIER VARCHAR2(64)
BLOCKING_SESSION_STATUS VARCHAR2(11)
BLOCKING_INSTANCE NUMBER
BLOCKING_SESSION NUMBER
FINAL_BLOCKING_SESSION_STATUS VARCHAR2(11)
FINAL_BLOCKING_INSTANCE NUMBER
FINAL_BLOCKING_SESSION NUMBER
SEQ# NUMBER
EVENT# NUMBER
EVENT VARCHAR2(64)
P1TEXT VARCHAR2(64)
P1 NUMBER
P1RAW RAW(8)
P2TEXT VARCHAR2(64)
P2 NUMBER
P2RAW RAW(8)
P3TEXT VARCHAR2(64)
P3 NUMBER
P3RAW RAW(8)
WAIT_CLASS_ID NUMBER
WAIT_CLASS# NUMBER
WAIT_CLASS VARCHAR2(64)
WAIT_TIME NUMBER
SECONDS_IN_WAIT NUMBER
STATE VARCHAR2(19)
WAIT_TIME_MICRO NUMBER
TIME_REMAINING_MICRO NUMBER
TIME_SINCE_LAST_WAIT_MICRO NUMBER
SERVICE_NAME VARCHAR2(64)
sql_TRACE VARCHAR2(8)
sql_TRACE_WAITS VARCHAR2(5)
sql_TRACE_BINDS VARCHAR2(5)
sql_TRACE_PLAN_STATS VARCHAR2(10)
SESSION_EDITION_ID NUMBER
CREATOR_ADDR RAW(8)
CREATOR_SERIAL# NUMBER
ECID VARCHAR2(64)
sql_TRANSLATION_PROFILE_ID NUMBER
PGA_TUNABLE_MEM NUMBER
CON_ID NUMBER
EXTERNAL_NAME VARCHAR2(1024)
然后来看看各个列描述的含义:
SADDR:会话地址
SID :会话ID
SERIAL# :会话串口号。用于唯一确定会话对象。因为SID可能在关闭后被下一个会话使用
AUDSID :审计会话ID
PADDR:拥有会话的进程地址
USER#:Oracle用户ID
USERNAME:Oracle 用户名字
COMMAND:进程的命令(最后分析的语句)
OWNERID:拥有迁移会话的用户,当为2147483644时候,列无效。
TADDR:交易对象的地址
LOCKWAIT:会话等待的锁地址,NULL表示不等锁
STATUS :会话状态(ACTIVE,KILLED,CACHED,SNIPED)
SERVER :服务类型(DEDICATED,SHARED,PSEUD0,POOLED,NONE)
SCHEMA#:Schema user 的ID
SCHEMANAME:Schema用户名字
OSUSER :操作系统客户 用户名字
PROCESS:曹邹系统客户进程ID
MACHINE:操作系统机器名字
PORT:客户端端口号
TERMINAL:操作系统终名字
PROGRAM:操作系统程序名字
TYPE:会话类型
sql_ADDRESS:使用sql_HASH_VALUE来定位当前正在执行的sql语句
sql_HASH_VALUE:使用sql_address来定位当前正在执行的sql语句
sql_CHILD_NUMBER:当前正在执行的sql语句的子 数量
sql_EXEC_ID :sql执行的ID,如果为sql_ID为NULL则为NULL 或者sql还没开始执行
PREV_HASH_VALUE:上一个语句执行的sql HASH值
PREV_CHILD_NUMBER :上一个sql语句执行的子数量
PREV_EXEC_START:上一个sql语句执行的时间
PREV_EXEC_ID:上一个sql语句执行的 执行ID
PLsql_ENTRY_OBJECT_ID:堆栈中 PL/sql子程序消耗最厉害的对象ID
PLsql_ENTRY_SUBPROGRAM_ID:堆栈中 PL/sql子程序消耗最厉害的子程序ID
PLsql_OBJECT_ID :当前执行PL/sql子程序的对象ID
PLsql_SUBPROGRAM_ID:当前执行PL/sql子程序的 子程序ID
MODULE :当前通过调用DBMS_APPLICATION_INFO.SET_MODULE过程来执行的module名字
MODULE_HASH:modlue列的哈希值
ACTION:通过调用DBMS_APPLICATION_INFO.SET_ACTION过程来设置的执行动作
ACTION_HASH:ACTION列的哈希值
CLIENT_INFO :通过DBMS_APPLICATION_INFO.SET_CLIENT_INFO过程设置的信息
FIXED_TABLE_SEQUENCE:会话 每次完成一个数据库调用都会增长,会被动态性能表查询干涉
ROW_WAIT_OBJ# :包含ROW_WAIT_ROW#的表对象ID
ROW_WAIT_FILE# :包含ROW_WAIT_ROW#的文件ID
ROW_WAIT_BLOCK#:包含ROW_WAIT_ROW#的块ID
ROW_WAIT_ROW#:当前锁住的行
TOP_LEVEL_CALL# :顶级调用号
logoN_TIME:登陆时间
LAST_CALL_ET:如果状态为ACTIVE,表示活动的流逝时间
PDML_ENABLED:已经被PDML_STATUS列代替
FAILOVER_TYPE:透明应用FAILOVER(TAF)是否开启以及开启方式
FAILOVER_METHOD:会话的TAF方法
Failed_OVER:是否允许在FAILOVER模式,以及是否触动
RESOURCE_CONSUMER_GROUP :会话当前资源消耗组
PDML_STATUS:如果ENABLED,会话使用PARALLEL DML
PDDL_STATUS:如果DENABLED,会话使用PARALLELDDL
PQ_STATUS:如果ENABLED,会话使用PRAALLELQUERY 模式
CURRENT_QUEUE_DURATION :如果queued(1),当前会话排队总的时间
CLIENT_IDENTIFIER:会话的客户端ID
BLOCKING_SESSION_STATUS:这个列提供了消息的关于阻塞会话
BLOCKING_INSTANCE:阻塞会话的实例ID
BLOCKING_SESSION:阻塞会话的会话ID
FINAL_BLOCKING_SESSION_STATUS:finalblocking session是等待chain中最后通过被阻塞会话构建的
FINAL_BLOCKING_INSTANCE:最终阻塞会话的实例ID
FINAL_BLOCKING_SESSION:最终阻塞会话的会话ID
SEQ#:唯一确定当前或最后等待
EVENT#:事件号
EVENT:会话等待的资源或事件
P1TEXT :第一个等待事件参数的描述
P1:第一个等待时间参数(10进制)
P1RAW:第一个等待时间参数(16进制
P2TEXT:第2个等待事件参数的描述
P2 :第2个等待时间参数(10进制)
P2RAW:第2个等待时间参数(16进制
P3TEXT:第3个等待事件参数的描述
P3:第3个等待时间参数(10进制)
P3RAW:第3个等待时间参数(16进制
WAIT_CLASS_ID:等待时间的类ID
WAIT_CLASS#:等待事件的类号
WAIT_CLASS:等待时间的类名字
WAIT_TIME:如果会话当前正在等待,则值为0,如果>0,上一次等待时间持续时间,-1上一次等待少于百分之一秒;-2表示TIMED_STATISTICS设置为FALSE
SECONDS_IN_WAIT:如果会话当前正在等待,当前等待的总值
STATE:等待状态
WAIT_TIME_MICRO:等待时间的总计(毫秒)
TIME_REMAINING_MICRO:可以 >0,-1,NULL。 >0 当前等待总计,0当前等待超时,-1 无线等待,NULL会话没在等待
TIME_SINCE_LAST_WAIT_MICRO :上一次等待结束流逝的时间,如果会话当前正在等待,该值为0
SERVICE_NAME:会话服务名字
sql_TRACE_WAITS:等待tracing 是否使能
sql_TRACE_BINDS:绑定tracing 是否使能
sql_TRACE_PLAN_STATS:每个游标DUMP到trace 文件的行资源 统计信息
SESSION_EDITION_ID:通过sys_context('USERENV','SESSION_EDITION_ID')报告的值
CREATOR_ADDR:创建进程的地址
CREATOR_SERIAL# :创建进程的串口号
ECID:执行的文本ID(通过APP SERVER发送)
sql_TRANSLATION_PROFILE_ID :sql 转换profile 的对象号。
PGA_TUNABLE_MEM :可调整PGA内存的总量(不可调的内存是PGA_ALLOC_MEM 建议PGA_TUNABLE_MEM)
CON_ID :容器ID