Oracle10g的ASH及历史信息记录
2017-02-07 00:00
260 查看
性能调整和问题诊断是任何数据库管理人员必须面临的最大挑战和必须完成的重要管理任务。基于管理上的简化和易用性的努力,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
注意,ASH buffers的大小按照以下算法分配:
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
根据这个算法,系统分配的ASH Buffers为6M.
这些历史信息记录在数据库中,可以通过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
显然ASH/ADDM是Oracle在管理上的又一巨大提高。
相关文章推荐
- Oracle重建控制文件恢复丢失表空间一例
- Oracle10g如何释放flash_recovery_area,解决ORA-19815错误
- 使用Oracle10g新特性简化数据库镜像COPY
- Oracle10g备份集压缩新特性(Backupset Compression)
- 如何启用Oracle10g闪回数据库特性
- oracle 判断是否是数字
- oracle md5实现
- Oracle 游标使用全解
- Oracle删除用户和表空间
- oracle内存粒度
- oracle的基本指令
- Oracle 实现邮件发送
- Oracle创建表空间
- OIFCFG命令
- Ubuntu 安装 oracle-javax-installer
- Oracle之唯一性约束(UNIQUEConstraint)用法详解
- Oracle 内存顾问
- Oracle 内存管理
- Oracle sql执行计划
- Oracle 获取ddl语句