视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
如何利用ash监控会话
2020-11-09 14:16:42 责编:小采
文档


ash是非常有效的监控工具之一,1秒抓一次select max(sample_time)over(),min(sample_time)over() from dba_hist_active_sess_history; --8天 select max(sample_time)over(),min(sample_time)over() from v$active_session_history; --当天首先先了解几个视

ash是非常有效的监控工具之一,1秒抓一次
select max(sample_time)over(),min(sample_time)over() from dba_hist_active_sess_history; --8天 
select max(sample_time)over(),min(sample_time)over() from v$active_session_history; --当天

首先先了解几个视图:
V$ACTIVE_SESSION_HISTORY: 是ASH的核心,用以记录活动SESSION的历史等待信息,每秒采样一次,这部分内容记录在内存中,期望值是记录一个小时的内容。
WRH#_ACTIVE_SESSION_HISTORY : 是V$ACTIVE_SESSION_HISTORY在AWR的存储地。 
V$ACTIVE_SESSION_HISTORY: 中的信息会被定期(每小时一次)的刷新到负载库中,并缺省保留一个星期用于分析。
DBA_HIST_ACTIVE_SESS_HISTORY: 视图是WRH#_ACTIVE_SESSION_HISTORY视图和其他几个视图的联合展现,通常通过这个视图进行历史数据的访问。

------------------------------------
--V$ACTIVE_SESSION_HISTORY的监控:--
------------------------------------

------------session:1-----------------


SQL> @big

 SID
----------
 131

Elapsed: 00:00:00.00
drop table big
 *
ERROR at line 1:
ORA-00942: table or view does not exist


Elapsed: 00:00:00.03
Elapsed: 00:00:00.31
Elapsed: 00:00:00.34
Elapsed: 00:00:00.29
Elapsed: 00:00:00.73
Elapsed: 00:00:01.75
Elapsed: 00:00:10.59
Elapsed: 00:00:24.62
Elapsed: 00:00:00.01

 BIG_M
----------
 522
Elapsed: 00:00:00.36

 COUNT(*)
----------
 4650368
Elapsed: 00:00:26.70


------------session:2-----------------

SQL> @getash_sid
Enter value for sid: 131

SESSION_ID NAME P_NAME P_VALUE SQL_ID WAIT_TIME CURRENT_OBJ# CURRENT_FILE# CURRENT_BLOCK#
---------- ---------------------------------------------------------------- --------------- --------------- ------------- ---------- ------------ ------------- ---------
 131 db file sequential read file# 1 d2wbn28rdk8z4 0 547 1 3604
 block# 53206
 blocks 1

 131 db file sequential read file# 1 d2wbn28rdk8z4 0 -1 0 0
 block# 3009
 blocks 1

 131 db file scattered read file# 4 03b71c07nsc1a 0 134 1 10
 block# 4845
 blocks 8

 131 log buffer space 0 aq32z6wjx1s4h 0 76851 4 6046
 0
 0

 131 log file switch (checkpoint incomplete) 0 aq32z6wjx1s4h 0 76851 4 6046
 0
 0

 131 log file switch (checkpoint incomplete) 0 aq32z6wjx1s4h 0 76851 4 6046
 0
 0

 131 log file switch (checkpoint incomplete) 0 aq32z6wjx1s4h 0 76851 4 6046
 0
 0

 131 log file switch (checkpoint incomplete) 0 aq32z6wjx1s4h 0 76851 4 6046
 0
 0

 131 log file switch (checkpoint incomplete) 0 aq32z6wjx1s4h 0 76851 4 6046
 0
 0

 131 log file switch (checkpoint incomplete) 0 aq32z6wjx1s4h 0 76851 4 6046
 0
 0

 131 log file switch (checkpoint incomplete) 0 aq32z6wjx1s4h 0 76851 4 6046
 0
 0

 131 log file switch completion 0 aq32z6wjx1s4h 0 76851 4 6046
 0
 0

 131 log file switch (checkpoint incomplete) 0 aq32z6wjx1s4h 0 76851 4 6046
 0
 0

 131 log file switch (checkpoint incomplete) 0 aq32z6wjx1s4h 0 76851 4 6046
 0
 0

 131 db file scattered read file# 4 aq32z6wjx1s4h 0 76851 4 4995
 block# 4995
 blocks 5

 131 log file switch (checkpoint incomplete) 0 aq32z6wjx1s4h 0 76851 4 7170
 0
 0

 131 log file switch (checkpoint incomplete) 0 aq32z6wjx1s4h 0 76851 4 7170
 0
 0

 131 db file scattered read file# 4 aq32z6wjx1s4h 0 76851 4 8578
 block# 8578
 blocks 126

 131 db file scattered read file# 4 aq32z6wjx1s4h 0 76851 4 12802
 block# 12802
 blocks 126

 131 log file switch (checkpoint incomplete) 0 aq32z6wjx1s4h 0 76851 4 12930
 0
 0

 131 db file sequential read file# 1 aq32z6wjx1s4h 0 65921 201 3585
 block# 2854
 blocks 1

 131 db file scattered read file# 4 aq32z6wjx1s4h 0 76851 4 14084
 block# 14084
 blocks 124

 131 db file scattered read file# 4 aq32z6wjx1s4h 0 76851 4 18436
 block# 18436
 blocks 128

 131 db file scattered read file# 4 aq32z6wjx1s4h 0 76851 4 19972
 block# 19972
 blocks 128

 131 db file scattered read file# 4 aq32z6wjx1s4h 0 76851 4 21252
 block# 21252
 blocks 124

 131 db file parallel read files 1 aq32z6wjx1s4h 0 76851 4 23424
 blocks 29
 requests 29

 131 log file switch (checkpoint incomplete) 0 aq32z6wjx1s4h 0 76851 4 24320
 0
 0

 131 log file switch (checkpoint incomplete) 0 aq32z6wjx1s4h 0 76851 4 24320
 0
 0

 131 db file scattered read file# 4 aq32z6wjx1s4h 0 76851 4 25856
 block# 25856
 blocks 128

 131 db file scattered read file# 4 aq32z6wjx1s4h 0 76851 4 27652
 block# 27652
 blocks 124

 131 db file scattered read file# 4 aq32z6wjx1s4h 0 76851 4 29312
 block# 29312
 blocks 32

 131 Disk file operations I/O FileOperation 2 aq32z6wjx1s4h 0 76851 4 29952
 fileno 0
 filetype 2

 131 db file scattered read file# 4 aq32z6wjx1s4h 0 76851 4 30724
 block# 30724
 blocks 124

 131 db file scattered read file# 4 aq32z6wjx1s4h 0 76851 4 34530
 block# 34530
 blocks 14

 131 log file switch (checkpoint incomplete) 0 aq32z6wjx1s4h 0 76851 4 35716
 0
 0

 131 log file switch (checkpoint incomplete) 0 aq32z6wjx1s4h 0 76851 4 35716
 0
 0

 131 Disk file operations I/O FileOperation 5 aq32z6wjx1s4h 0 76851 4 37632
 fileno 0
 filetype 2

 131 db file sequential read file# 4 fqcxb1n332x 0 9 1 86832
 block# 4999
 blocks 1

 131 db file scattered read file# 4 fqcxb1n332x 0 9 1 86832
 block# 10344
 blocks 8

 131 db file scattered read file# 4 fqcxb1n332x 0 9 1 86832
 block# 17409
 blocks 8

 131 db file scattered read file# 4 fqcxb1n332x 0 9 1 86832
 block# 22083
 blocks 8

 131 db file scattered read file# 4 fqcxb1n332x 0 9 1 86832
 block# 28549
 blocks 8

 131 db file scattered read file# 4 fqcxb1n332x 0 9 1 86832
 block# 34733
 blocks 8

 131 db file scattered read file# 4 fqcxb1n332x 0 9 1 86832
 block# 39217
 blocks 8

 131 db file scattered read file# 4 fqcxb1n332x 0 9 1 86832
 block# 45114
 blocks 8

 131 db file scattered read file# 4 fqcxb1n332x 0 9 1 86832
 block# 48836
 blocks 8

 131 db file scattered read file# 4 fqcxb1n332x 0 9 1 86832
 block# 52391
 blocks 8

 131 db file scattered read file# 4 fqcxb1n332x 0 76851 4 5196
 block# 5196
 blocks 6

 131 db file sequential read file# 4 fqcxb1n332x 0 76851 4 8261
 block# 8261
 blocks 1

 131 db file sequential read file# 4 fqcxb1n332x 0 76851 4 11318
 block# 11318
 blocks 1

 131 db file scattered read file# 4 fqcxb1n332x 0 76851 4 144
 block# 144
 blocks 56

 131 db file scattered read file# 4 fqcxb1n332x 0 76851 4 17935
 block# 17935
 blocks 50

 131 db file scattered read file# 4 fqcxb1n332x 0 76851 4 21195
 block# 21195
 blocks 20

 131 db file scattered read file# 4 fqcxb1n332x 0 76851 4 25170
 block# 25170
 blocks 2

 131 db file scattered read file# 4 fqcxb1n332x 0 76851 4 28453
 block# 28453
 blocks 34

 131 db file sequential read file# 4 fqcxb1n332x 0 76851 4 33067
 block# 33067
 blocks 1

 131 db file scattered read file# 4 fqcxb1n332x 0 76851 4 36991
 block# 36991
 blocks 13

 131 db file scattered read file# 4 fqcxb1n332x 0 76851 4 41616
 block# 41616
 blocks 21

 131 db file scattered read file# 4 fqcxb1n332x 0 76851 4 44055
 block# 44055
 blocks 8

 131 db file scattered read file# 4 fqcxb1n332x 0 76851 4 2723
 block# 2723
 blocks 44

 131 db file scattered read file# 4 fqcxb1n332x 0 76851 4 50056
 block# 50056
 blocks 9

 131 db file scattered read file# 4 fqcxb1n332x 0 76851 4 53658
 block# 53658
 blocks 102

 131 db file scattered read file# 4 fqcxb1n332x 0 76851 4 56580
 block# 56580
 blocks 128

 131 db file sequential read file# 4 fqcxb1n332x 0 76851 4 60256
 block# 60256
 blocks 1


 rows selected.

Elapsed: 00:00:00.40
SQL> @getsql_sqlid
Enter 1 for curr sql, 2 for hist sql,default 1:

Enter value for sqlid: fqcxb1n332x

SQL_FULLTEXT
---------------------------------------------------------------------------------------------
select count(*) from big
Elapsed: 00:00:00.00
Elapsed: 00:00:00.00
SQL> @getobj_id
Enter value for dblink:
Enter value for obj_id: 76851

OWNER OBJECT_NAME OBJECT_TYPE CREATED STATUS
-------------------- ------------------------------ ------------------- ------------------- -------
SCOTT BIG TABLE 2014-11-20 15:56:23 VALID

1 row selected.

Elapsed: 00:00:00.01
SQL> @getobj_fb
Enter value for file_id: 4
Enter value for block_id: 60256

OWNER SEGMENT_NAME SEGMENT_TY
--------------- -------------------- ----------
SCOTT BIG TABLE

1 row selected.

Elapsed: 00:00:00.37




--------------------------@脚本--------------------


--@big 

@sid
set feedback off
drop table big;
create table big as select * from dba_objects;
insert into big select * from big;
/
/
/
/
/
commit;
select SUM(bytes) / 1024 / 1024 big_M from dba_segments where segment_name = 'BIG';
select count(*) from big;
set feedback on


--@getash_sid
col p_name for a15
col p_value for a15
select SESSION_ID,
 NAME,
 P1TEXT||chr(10)||P2TEXT||chr(10)||P3TEXT p_name,
 p1||chr(10)||p2||chr(10)||p3 p_value,
 sql_id,
 WAIT_TIME,
 CURRENT_OBJ#,
 CURRENT_FILE#,
 CURRENT_BLOCK#
 from v$active_session_history ash, v$event_name enm
 where ash.event# = enm.event#
 and SESSION_ID = &sid
 order by sample_time; 
 
 

----------------------------------------
--DBA_HIST_ACTIVE_SESS_HISTORY的监控:--
----------------------------------------

--查当前时间
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

--根据时间找到snap_id(8天内,1小时前),因为基表非常大,利用snap_id的索引才能快速查询
select distinct snap_id from dba_hist_snapshot b where to_date('2014-11-20 14:08:12','yyyy-mm-dd hh24:mi:ss') between b.begin_interval_time and b.end_interval_time;

--top instance
select /*+parallel(a,8)*/instance_number,count(*) from dba_hist_active_sess_history a where a.snap_id=67421 group by instance_number;

--top event
select /*+parallel(a,8)*/event,count(*) from dba_hist_active_sess_history a 
where a.snap_id=67421
and instance_number=2
and sample_time>=to_timestamp('2014-11-20 14:07:12','yyyy-mm-dd hh24:mi:ss')
and sample_time<=to_timestamp('2014-11-20 14:08:12','yyyy-mm-dd hh24:mi:ss')
group by event
order by count(*) desc;

--top user
select /*+parallel(a,8)*/user_id,(select username from dba_users b where b.user_id=a.user_id) username,count(*) from dba_hist_active_sess_history a 
where a.snap_id=67421
and instance_number=2
and sample_time>=to_timestamp('2014-11-20 14:07:12','yyyy-mm-dd hh24:mi:ss')
and sample_time<=to_timestamp('2014-11-20 14:08:12','yyyy-mm-dd hh24:mi:ss')
group by user_id
order by count(*) desc;

--top sql
select /*+parallel(a,8)*/sql_id,count(*) from dba_hist_active_sess_history a 
where a.snap_id=67421
and instance_number=2
and sample_time>=to_timestamp('2014-11-20 14:07:12','yyyy-mm-dd hh24:mi:ss')
and sample_time<=to_timestamp('2014-11-20 14:08:12','yyyy-mm-dd hh24:mi:ss')
group by sql_id
order by count(*) desc;

-- select SQL_TEXT from dba_hist_sqltext where sql_id='49p4hfj6azw19';


--top program
select /*+parallel(a,8)*/program,count(*) from dba_hist_active_sess_history a 
where a.snap_id=67421
and instance_number=2
and sample_time>=to_timestamp('2014-11-20 14:07:12','yyyy-mm-dd hh24:mi:ss')
and sample_time<=to_timestamp('2014-11-20 14:08:12','yyyy-mm-dd hh24:mi:ss')
group by program
order by count(*) desc;



下载本文
显示全文
专题