Active Session History(ASH)
ASH的引入是为了保留最近活动会话的信息。
ASH 以V$Session 为基础,每秒采样一次,记录活动会话的等待事件。采样由新引进的进程MMNL来进行。
该工具直接访问Oracle10g内部结构,是十分高效的,并且几乎不会对性能造成影响。
ASH 的存储
ASH在内存中是滚动存放的。这也导致在空间不足的情况下,早期的信息会被覆盖。
ASH 存储在 ASH Buffers 中,最小值为1M,最大为30M. 期望值为记录最近一小时内的数据。
SQL> col byte format A20
SQL> select pool,name,bytes/1024/1024||'M' byte from v$sgastat where name like '%ASH%';
POOL NAME BYTE
------------ -------------------------- --------------------
shared pool ASH buffers 4M
shared pool UNDO INFO HASH .0028533935546875M
ASH可以通过v$active_session_history 视图来访问,这个实例每个样本的每个活动会话有一行记录。
生成ASH报告
1.@$ORACLE_HOME/rdbms/admin/ashrpt.sql 生成指定时间段内的HTML或者Text类型的统计报告。
2.@$ORACLE_HOME/rdbms/admin/ashrpti.sql 生成指定时间段,指定数据库和实例 的 HTML或者Text类型的统计报告。
阅读(1751) | 评论(0) | 转发(0) |