Chinaunix首页 | 论坛 | 博客
  • 博客访问: 579043
  • 博文数量: 80
  • 博客积分: 2393
  • 博客等级: 大尉
  • 技术积分: 1434
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-03 21:46
个人简介

己所不欲勿施于人!

文章分类

全部博文(80)

文章存档

2017年(1)

2016年(9)

2014年(1)

2013年(17)

2012年(5)

2011年(13)

2010年(9)

2009年(8)

2008年(17)

分类: Oracle

2013-04-30 12:35:47

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类型的统计报告。












阅读(1741) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~