dba_hist_active_sess_history和v$active_session_history

发布时间 2023-03-22 21:09:22作者: RedArmy
 

分类: Oracle

2018-05-06 08:02:34

 
博客文章除注明转载外,均为原创。转载请注明出处。
本文链接地址:http://blog.chinaunix.net/uid-31396856-id-5784934.html

Oracle视图dba_hist_active_sess_history显示了最近系统活动历史内存中的历史活跃会话的内容。此视图属于v$active_session_history历史记录的快照。
相比后者,前者多了except SNAP_ID, DBID, and INSTANCE_NUMBER等字段

dba_hist_active_sess_history视图的详细信息,请见下表
数据类型 NULL 含义
SNAP_ID NUMBER NOT NULL 唯一快照 ID
DBID NUMBER NOT NULL 快照数据库ID
INSTANCE_NUMBER NUMBER NOT NULL 实例号
SAMPLE_ID NUMBER NOT NULL 采样ID
SAMPLE_TIME TIMESTAMP(3) NOT NULL 采样时间
SESSION_ID NUMBER NOT NULL 会话id(Session identifier)
SESSION_SERIAL# NUMBER   会话序列号 serial number (用于会话对象的唯一识别)
SESSION_TYPE VARCHAR2(10)   会话类型:前台,后台
FLAGS NUMBER   保留字段
USER_ID NUMBER   oracle用户ID
SQL_ID VARCHAR2(13)   当前正在执行的SQL语句标识号
IS_SQLID_CURRENT VARCHAR2(1)   说明SQL_ID列的SQL标识id是否被执行(Y)或者未执行 (N) 
SQL_CHILD_NUMBER NUMBER   正在被执行的SQL语句的子号
SQL_OPCODE NUMBER   说明SQL语句所处的执行阶段
SQL_OPNAME VARCHAR2(64)   SQL 命令名称
FORCE_MATCHING_SIGNATURE NUMBER   用于 the CURSOR_SHARING参数被设置为 FORCE的特征
TOP_LEVEL_SQL_ID VARCHAR2(13)   top 级SQL 语句的SQL 标识
TOP_LEVEL_SQL_OPCODE NUMBER   表示 Top级SQL处于什么操作级别
SQL_PLAN_HASH_VALUE NUMBER   SQL执行计划游标的hash数值
SQL_PLAN_LINE_ID NUMBER   SQL执行计划行 ID
SQL_PLAN_OPERATION VARCHAR2(64)   执行计划操作名称
SQL_PLAN_OPTIONS VARCHAR2(64)   执行计划操作选项
SQL_EXEC_ID NUMBER   SQL 执行ID
SQL_EXEC_START DATE   SQL开始执行时间
PLSQL_ENTRY_OBJECT_ID NUMBER   栈内PL/SQL子程序代码对象ID 
PLSQL_ENTRY_SUBPROGRAM_ID NUMBER   栈内子程序代码ID
PLSQL_OBJECT_ID NUMBER   当前执行PL/SQL子程序代码的对象ID(或者即使当前执行sql为空)
PLSQL_SUBPROGRAM_ID NUMBER   当前正在执行PL/SQL子程序代码的子程序代码
QC_INSTANCE_ID NUMBER   查询协调实例 ID
QC_SESSION_ID NUMBER   查询协调会话ID
QC_SESSION_SERIAL# NUMBER   查询协调会话序列号
  NUMBER   内部保留字段
EVENT VARCHAR2(64)   如果 SESSION_STATE = WAITING, 在采样时间内会话正在等待的事件event
如果SESSION_STATE = ON CPU,这列将显示为 NULL.
EVENT_ID NUMBER   会话正在等待或者会话最后等待的资源或者事件标识符
SEQ# NUMBER   等待唯一表示序列号
P1TEXT VARCHAR2(64)   第一个额外参数描述
P1 NUMBER   第一个额外参数
P2TEXT VARCHAR2(64)   第二个额外参数描述
P2 NUMBER   第二个额外参数
P3TEXT VARCHAR2(64)   第三个额外参数描述
P3 NUMBER   第三个额外参数
WAIT_CLASS VARCHAR2(64)   采样时间会话事件等待类别名称.同V$SESSION.WAIT_CLASS相似
WAIT_CLASS_ID NUMBER   采样时间会话事件等待类别标识ID.同V$SESSION.WAIT_CLASS_ID相似
WAIT_TIME NUMBER   会话最后或者正在等待的总共等待时间(microseconds 微秒)
SESSION_STATE VARCHAR2(7)   会话状态:WAITING 、ON CPU
TIME_WAITED NUMBER   当前会话实际消耗的等待时间 (微妙microseconds). 这列被设置为采样时候正在进行的等待
BLOCKING_SESSION_STATUS VARCHAR2(11)    阻塞会话(blocking session)状态:VALID,NO HOLDER,GLOBAL,NOT IN WAIT,UNKNOWN
BLOCKING_SESSION NUMBER   阻塞会话的SID
只有 当前正处于enqueue等待 或者 "buffer busy" 等待的会话才会拥有. 同 V$SESSION.BLOCKING_SESSION含义
BLOCKING_SESSION_SERIAL# NUMBER   阻塞会话的序列号
BLOCKING_INST_ID NUMBER    BLOCKING_SESSION中显示的阻塞者的实例号
BLOCKING_HANGCHAIN_INFO VARCHAR2(1)   表示 BLOCKING_SESSION 信息是否来自会话挂起链(Y)或者不(N)
CURRENT_OBJ# NUMBER   当前会话使用的数据库对象的object ID。这些信息只有当会话等待集群、并发和用户IO等等待事件才会提供此信息。同  V$SESSION.ROW_WAIT_OBJ#.
CURRENT_FILE# NUMBER   会话正在使用的数据块的文件的文件号,只有当会话等待群集、并发和用户I/O等待事件时,才会提供此信息。同 V$SESSION.ROW_WAIT_FILE#.
CURRENT_BLOCK# NUMBER   会话正用到的数据块的block ID
CURRENT_ROW# NUMBER   会话所正使用到数据的行的row id
TOP_LEVEL_CALL# NUMBER   Oracle top level call number
TOP_LEVEL_CALL_NAME VARCHAR2(64)   Oracle top level call name
CONSUMER_GROUP_ID NUMBER   Consumer group ID
XID RAW(8)   采样时间内会话的事务ID,V$SESSION 不包含此信息
REMOTE_INSTANCE# NUMBER   会话在等待的数据块是在远程实例上的远程实例ID . 只有会话仅在cluster等待的时候可见
TIME_MODEL NUMBER   时间模型信息
IN_CONNECTION_MGMT VARCHAR2(1)   采样时间内会话是否在连接管理 (Y) or  (N)
IN_PARSE VARCHAR2(1)   采样时间内会话是否在做解析:(Y) or (N)
IN_HARD_PARSE VARCHAR2(1)   采样时间内会话是否在做硬解析 (Y) or  (N)
IN_SQL_EXECUTION VARCHAR2(1)   采样时间内会话是否在执行语句 (Y) or (N)
IN_PLSQL_EXECUTION VARCHAR2(1)   采样时间内会话是否正在执行 PL/SQL: (Y) or (N)
IN_PLSQL_RPC VARCHAR2(1)   采样时间内会话是否在执行inbound PL/SQL RPC calls (Y) or(N)
IN_PLSQL_COMPILATION VARCHAR2(1)   采样时间内会话是否在编译compiling PL/SQL (Y) or not (N)
IN_JAVA_EXECUTION VARCHAR2(1)   采样时间内会话是否在执行Java  (Y) or not (N)
IN_BIND VARCHAR2(1)   采样时间内会话是否在执行绑定操作(Y) or not (N)
IN_CURSOR_CLOSE VARCHAR2(1)   采样时间内会话是否在执行关闭 cursor: (Y) or not (N)
IN_SEQUENCE_LOAD VARCHAR2(1)   采样时间内会话是否在加载序列 (sequence load code) (Y) or (N)
CAPTURE_OVERHEAD VARCHAR2(1)   采样时间内会话是否在执行capture code (Y) or not (N)
REPLAY_OVERHEAD VARCHAR2(1)   采样时间内会话是否在执行replay code (Y) or not (N)
IS_CAPTURED VARCHAR2(1)   采样时间内会话是否在被捕获captured (Y) or not (N)
IS_REPLAYED VARCHAR2(1)   采样时间内会话是否在被 回放replayed (Y) or not (N)
SERVICE_HASH NUMBER   服务标识的hash值
PROGRAM VARCHAR2(64)   系统程序名称
  VARCHAR2(48)   当前执行的被 DBMS_APPLICATION_INFO.SET_MODULE过程设置的模块名称
  VARCHAR2(32)   当前执行的被DBMS_APPLICATION_INFO.SET_ACTION过程设置的行为名称
CLIENT_ID VARCHAR2(64)   会话的client ID
MACHINE VARCHAR2(64)   客户端操作系统机器名称
PORT NUMBER   client端口号
ECID VARCHAR2(64)   上下文执行标识(应用服务器发送的)
  NUMBER   如果会话被捕获或重放, DBREPLAY_FILE_ID是工作量捕获或者工作量回放的文件ID ; 否则为 NULL.
  NUMBER   如果会话被捕获或重放, DBREPLAY_CALL_COUNTER 是正在捕获或重放的用户调用的调用计数器。否则为空NULL.
TM_DELTA_TIME NUMBER   TM_DELTA_CPU_TIME 和TM_DELTA_DB_TIMEare 累积的时间间隔(微秒) 的时间间隔
TM_DELTA_CPU_TIME NUMBER   在上一个TM_DELTA_TIME (微秒)中会话花费在CPU上的时间量
TM_DELTA_DB_TIME NUMBER   在上一个TM_DELTA_TIME (微秒)中会话的花费在数据库上的时间量
DELTA_TIME NUMBER    自上次会话被采样或创建以来的时间间隔(微秒),其中累积下五个统计数据
DELTA_READ_IO_REQUESTS NUMBER   此会话在以上DELTA_TIME(微秒)时间内读取的I/O请求数
DELTA_WRITE_IO_REQUESTS NUMBER   此会话在以上DELTA_TIME(微秒)时间内写入的I/O请求数
DELTA_READ_IO_BYTES NUMBER   此会话在以上DELTA_TIME(微秒)时间内读取的I/O字节数
DELTA_WRITE_IO_BYTES NUMBER   此会话在以上DELTA_TIME(微秒)时间内写入的I/O字节数
DELTA_INTERCONNECT_IO_BYTES NUMBER   会话在以上DELTA_TIME(微秒)内通过I/O互连发送的I/O字节数
PGA_ALLOCATED NUMBER   采样时间内会话使用的PGA内存量(bytes)
TEMP_SPACE_ALLOCATED NUMBER   采样时间内会话使用的temp临时内存量(bytes)

--The end