Oracle10g的ASH及历史信息记录
2011-12-08 13:59
162 查看
性能调整和问题诊断是任何数据库管理人员必须面临的最大挑战和必须完成的重要管理任务。基于管理上的简化和易用性的努力,Oracle推出了Autometic Database Diagnostic Monitor (ADDM) ,通过ADDM,Oracle试图使数据库的维护工作变得更简单更容易。
AWR是新的管理体系结构的中心元素,它为了发现问题和自我调整,为oracle内部服务组件提供了采集,处理,维护和访问性能统计数据.
AWR每60分钟就进行一次快照,所以最近的一次快照可能在一小时之前,这样AWR就没有足够的信息来进行当前的分析.典型的情况下,当前的分析需要最近的五到十分钟的详细信息.ASH(Active Session History)因此被引入用以保留最近的会话活动的历史信息.
因为记录会话的活动是非常昂贵的,ASH每秒采样V$session,记录会话等待的事件.不活动的会话不会被采样.这个采样工具是非常有效的,因为它直接访问oracle10g内部结构.
ASH设计为在内存中的滚动的,在需要的时候早期的信息是会被覆盖的.ASH可以通过v$active_session_history视图来访问.这个实例每个样本的每个活动会话有一行.
由于数据量巨大,把所有的ASH数据写到磁盘上是不可接受的。一般是在写到磁盘的时候过滤这个数据。这是通过MMON和MMNL自动完成的。
注意,ASH buffers的大小按照以下算法分配:
Min(shared_pool_size*5%,2M*cpu_count)
根据这个算法,系统分配的ASH Buffers为6M.
这些历史信息记录在数据库中,可以通过v$session_wait_history进行查询:
显然ASH/ADDM是Oracle在管理上的又一巨大提高。
AWR是新的管理体系结构的中心元素,它为了发现问题和自我调整,为oracle内部服务组件提供了采集,处理,维护和访问性能统计数据.
AWR每60分钟就进行一次快照,所以最近的一次快照可能在一小时之前,这样AWR就没有足够的信息来进行当前的分析.典型的情况下,当前的分析需要最近的五到十分钟的详细信息.ASH(Active Session History)因此被引入用以保留最近的会话活动的历史信息.
因为记录会话的活动是非常昂贵的,ASH每秒采样V$session,记录会话等待的事件.不活动的会话不会被采样.这个采样工具是非常有效的,因为它直接访问oracle10g内部结构.
ASH设计为在内存中的滚动的,在需要的时候早期的信息是会被覆盖的.ASH可以通过v$active_session_history视图来访问.这个实例每个样本的每个活动会话有一行.
由于数据量巨大,把所有的ASH数据写到磁盘上是不可接受的。一般是在写到磁盘的时候过滤这个数据。这是通过MMON和MMNL自动完成的。
SQL> select * from v$sgastat where name like '%ASH%'; POOL NAME BYTES ------------ -------------------------- ---------- shared pool ASH buffers 6291456 |
Min(shared_pool_size*5%,2M*cpu_count)
SQL> select name,value,display_value from v$parameter 2 where name in ('shared_pool_size','cpu_count'); NAME VALUE DISPLAY_VALUE ------------------------------ -------------------- -------------------- cpu_count 4 4 shared_pool_size 125829120 120M |
这些历史信息记录在数据库中,可以通过v$session_wait_history进行查询:
SQL> desc v$session_wait_history Name Type Nullable Default Comments ---------- ------------ -------- ------- -------- SID NUMBER Y SEQ# NUMBER Y EVENT# NUMBER Y EVENT VARCHAR2(64) Y P1TEXT VARCHAR2(64) Y P1 NUMBER Y P2TEXT VARCHAR2(64) Y P2 NUMBER Y P3TEXT VARCHAR2(64) Y P3 NUMBER Y WAIT_TIME NUMBER Y WAIT_COUNT NUMBER Y |
相关文章推荐
- Oracle10g的ASH及历史信息记录
- Android 后台自动发送信息 有历史记录
- 在inet_peer/tcp_metrics_hash中记录通往一个IP地址的链路状况历史的metrics信息
- PHP Cookei记录用户历史浏览信息的代码
- 如何查看域名的历史使用记录,以前注册信息,whois,是否有被K记录
- 历史客人-报表记录信息
- 动态获取Nhibernate的ORM配置信息,实现系统历史记录功能
- Shell之历史操作记录与欢迎信息
- CSS样式控制实现IE提交表单记录历史点击返回信息仍在
- 查询请求历史记录信息
- JavaWeb的Cookie技术显示历史商品( 信息 )浏览记录(学习方立勋老师的教程)
- ORACLE10G如何清除OEM下的历史警告信息
- IE提交表单记录历史,点击返回信息仍在。
- 让Activiti记录变量历史信息
- PHP Cookei记录用户历史浏览信息的代码
- ORACLE10G如何清除OEM下的历史警告信息
- android 查看电量情况,手机信息,电池历史记录,使用情况统计 ,wifi 使用情况
- Activiti学习资料(记录变量历史信息)
- 基于C#带记录历史信息的菜单
- Android开发:还原通讯录、历史通话记录、短信息记录(insert方法)