V$ACTIVE_SESSION_HISTORY视图的使用
来源:互联网 发布:程序员技能树 编辑:程序博客网 时间:2024/06/07 18:20
V$ACTIVE_SESSION_HISTORY
显示数据库中的采样会话活动。ASH每秒从v$session中取快照,存在V$ACTIVE_SESSION_HISTORY中,并收集所有活动会话的等待信息。若ASH数据被刷新到磁盘,则需要从DBA_HIS_ACTIVE_SESS_HISTORY视图中查询相关信息。
该视图是ASH的核心,用以记录活动SESSION的历史等待信息,每秒采样一次,这部分内容记录在内存中,期望值是记录一个小时的内容。
SAMPLE_ID
NUMBER
样本的IDSAMPLE_TIME
TIMESTAMP(3)
取样本的时间SESSION_ID
NUMBER
会话标识符; 映射到 V$SESSION.SID
SESSION_SERIAL#
NUMBER
会话序列号 (用于唯一标识一个会话的对象); 映射到 V$SESSION.SERIAL#
USER_ID
NUMBER
Oracle用户标识符; 映射到 V$SESSION.USER#
SQL_ID
VARCHAR2(13)
SQL_CHILD_NUMBER
NUMBER
Child number of the SQL statement that the session was executing at the time of samplingSQL_PLAN_HASH_VALUE
NUMBER
FORCE_MATCHING_SIGNATURE
NUMBER
The signature used when the CURSOR_SHARING
parameter is set to FORCE
SQL_OPCODE
NUMBER
Indicates what phase of operation the SQL statement was in; maps to V$SESSION.COMMAND
。 “V$SESSION” for information on interpreting this columnSERVICE_HASH
NUMBER
Hash that identifies the Service; maps to V$ACTIVE_SERVICES.NAME_HASH
SESSION_TYPE
VARCHAR2(10)
会话类型:FOREGROUND
BACKGROUND
SESSION_STATE
VARCHAR2(7)
会话状态:WAITING
ON CPU
QC_SESSION_ID
NUMBER
查询协调器的会话ID。This information is only available if the sampled session is a parallel query slave. For all other sessions, the value is 0
.QC_INSTANCE_ID
NUMBER
查询协调器实例的ID。 This information is only available if the sampled session is a parallel query slave. For all other sessions, the value is 0
.BLOCKING_SESSION
NUMBER
阻塞会话的会话标识符。Populated only when the session was waiting for enqueues or a “buffer busy” wait. Maps toV$SESSION.BLOCKING_SESSION
.BLOCKING_SESSION_STATUS
VARCHAR2(11)
阻塞会话的状态:VALID
NO
HOLDER
GLOBAL
NOT IN WAIT
UNKNOWN
BLOCKING_SESSION_SERIAL#
NUMBER
阻塞会话的序列号EVENT
VARCHAR2(64)
If SESSION_STATE
= WAITING
, then the event for which the session was waiting for at the time of sampling.If SESSION_STATE
= ON CPU
, then this column will be NULL.See Also: “Oracle Wait Events”EVENT_ID
NUMBER
Identifier of the resource or event for which the session is waiting or for which the session last waited. Interpretation is similar to that of theEVENT
column.EVENT#
NUMBER
Number of the resource or event for which the session is waiting or for which the session last waited. Interpretation is similar to that of theEVENT
column.SEQ#
NUMBER
序列号唯一标识等待(增加每个等待)P1TEXT
VARCHAR2(64)
第一个附加参数的文本P1
NUMBER
第一个附加参数P2TEXT
VARCHAR2(64)
第二个参数的文本P2
NUMBER
第二个附加参数P3TEXT
VARCHAR2(64)
第三个附加参数的文本P3
NUMBER
第三个附加参数WAIT_CLASS
VARCHAR2(64)
Wait class name of the event for which the session was waiting at the time of sampling. Interpretation is similar to that of the EVENT
column. Maps to V$SESSION.WAIT_CLASS
.WAIT_CLASS_ID
NUMBER
等待的会话在等待的时间采样的事件的类标识符。Interpretation is similar to that of the EVENT
column. Maps to V$SESSION.WAIT_CLASS_ID
.WAIT_TIME
NUMBER
0
if the session was waiting at the time of samplingTotal wait time for the event for which the session last waited if the session was on the CPU when sampledWhether or not WAIT_TIME
= 0
is what is useful to find the SESSION_STATE
at the time of sampling, rather than the actual value of WAIT_TIME
itself. Maps to V$SESSION.WAIT_TIME
.TIME_WAITED
NUMBER
If SESSION_STATE
= WAITING
, then the time that the session actually spent waiting for that EVENT. This column is set for waits that were in progress at the time the sample was taken.If a wait event lasted for more than a second and was caught waiting in more than one session sample row, then the actual time spent waiting for that wait event will be populated in the last of those session sample rows. At any given time, this information will not be available for the latest session sample.XID
RAW(8)
Transaction ID that the session was working on at the time of sampling. V$SESSION
does not contain this information.CURRENT_OBJ#
NUMBER
对象ID的会话被引用的对象。此信息仅供如果会话在等待申请,集群,并发和用户I / O等待事件。映射到 V$SESSION.ROW_WAIT_OBJ#
.CURRENT_FILE#
NUMBER
File number of the file containing the block that the session is referencing. This information is only available if the session was waiting for Cluster, Concurrency, and User I/O wait events. Maps to V$SESSION.ROW_WAIT_FILE#
.CURRENT_BLOCK#
NUMBER
ID of the block that the session is referencing. This information is only available if the session was waiting for Cluster, Concurrency, and User I/O wait events. Maps to V$SESSION.ROW_WAIT_BLOCK#
.PROGRAM
VARCHAR2(48)
操作系统程序的名称MODULE
VARCHAR2(48)
Name of the executing module when sampled, as set by the DBMS_APPLICATION_INFO.SET_MODULE
procedureACTION
VARCHAR2(32)
Name of the executing module when sampled, as set by the DBMS_APPLICATION_INFO.SET_ACTION
procedureCLIENT_ID
VARCHAR2(64)
Client identifier of the session; maps to V$SESSION.CLIENT_IDENTIFIER
SELECT sql_id, count(*), round(count(*) / sum(count(*)) over(), 2) pctload
FROM V$ACTIVE_SESSION_HISTORY
WHERE sample_time > sysdate – 1 / (24 * 60)
AND session_type <> 'BACKGROUND’
AND session_state = 'ON CPU’
GROUP BY sql_id
ORDER BY count(*) desc;
SELECT ash.sql_id,count(*)
FROM V$ACTIVE_SESSION_HISTORY ASH,V$EVENT_NAME EVT
WHERE ash.sample_time > sysdate -1/(24*60)
AND ash.session_state = 'WAITING’
AND ash.event_id = evt.event_id
AND evt.wait_class = 'USER I/O’
GROUP BY ash.sql_id
ORDER BY count(*) desc;
SELECT session_id,count(*)
FROM V$ACTIVE_SESSION_HISTORY
WHERE session_state = 'ON CPU’
AND sample_time > sysdate -1/(24*60)
GROUP BY session_id
ORDER BY count(*) desc;
SELECT ash.sql_id,
sum(decode(ash.session_state,'ON CPU’,1,0)) “CPU”,
sum(decode(ash.session_state,'WAITING’,1,0)) -
sum(decode(ash.session_state,'WAITING’,decode(en.wait_class,'USER I/O’,1,0),0)) “WAIT”,
sum(decode(ash.session_state,'WAITING’,decode(en.wait_class,'USER I/O’,1,0),0)) “IO”,
sum(decode(ash.session_state,'ON CPU’,1,1)) “TOTAL”
FROM V$ACTIVE_SESSION_HISTORY ASH,V$EVENT_NAME EN
WHERE SQL_ID is not null and en.event#=ash.event# and ash.sample_time > sysdate -1/(24*60)
GROUP BY ash.sql_id
ORDER BY sum(decode(ash.session_state,'ON CPU’,1,1)) desc;
SELECT ash.session_id,ash.session_serial#,ash.user_id,ash.program,
sum(decode(ash.session_state,'ON CPU’,1,0)) “CPU”,
sum(decode(ash.session_state,'WAITING’,1,0)) -
sum(decode(ash.session_state,'WAITING’,decode(en.wait_class,'USER I/O’,1,0),0)) “WAITING”,
sum(decode(ash.session_state,'WAITING’,decode(en.wait_class,'USER I/O’,1,0),0)) “IO”,
sum(decode(ash.session_state,'ON CPU’,1,1)) “TOTAL”
FROM V$ACTIVE_SESSION_HISTORY ASH,V$EVENT_NAME EN
WHERE en.event# = ash.event# and ash.sample_time > sysdate -1/(24*60)
GROUP BY ash.session_id,ash.user_id,ash.session_serial#,ash.program
ORDER BY sum(decode(ash.session_state,'ON CPU’,1,1))
- V$ACTIVE_SESSION_HISTORY视图的使用
- V$ACTIVE_SESSION_HISTORY视图的使用
- 转载--V$ACTIVE_SESSION_HISTORY视图的使用
- 使用V$ACTIVE_SESSION_HISTORY视图,查看消耗资源的sql
- 使用V$ACTIVE_SESSION_HISTORY视图,查看消耗资源的sql
- V$ACTIVE_SESSION_HISTORY视图的列说明
- V$ACTIVE_SESSION_HISTORY视图的列说明
- ASH的信息通过视图v$active_session_history查看
- v$active_session_history
- v$active_session_history
- 11g v$active_session_history的列说明
- v$active_session_history的wait_time和time_waited 列(转)
- 记一次通过v$active_session_history来分析问题的案例
- sys.wrh$_active_session_history v$active_session_history
- 【性能视图】V$SEGMENT_STATISTICS的使用
- V$LOCK视图的介绍和使用
- v$session,v$session_wait,v$session_wait_history,v$active_session_history
- v$session,v$session_wait,v$session_wait_history,v$active_session_history
- PAT 1103
- 精辟,解读315晚会曝光的信息安全问题!
- 支付宝android/ios端和php端配合支付功能
- 自定义Switch控件二
- PHP面向对象——多态
- V$ACTIVE_SESSION_HISTORY视图的使用
- 如何拆分pdf文件的页面
- js jsp设置编码集
- 解决ViewPager+fragment预加载问题(getItem()两次调用)
- Good学习网址书签
- Redis 安装
- hibernate 映射文件中id 及id Generator的详解
- php:从url中提取扩展名
- GC 日志分析工具 —— GChisto