Statspack之十-调整STATSPACK的收集门限(转帖)

本文详细介绍了Oracle数据库性能分析工具Statspack的两种主要收集选项:级别和门限。级别包括0、5、10三个等级,分别对应不同深度的性能统计数据收集。门限则用于控制SQL语句的收集标准,如执行次数、磁盘读取次数等,以优化stats$sql_summary表的数据量。

Statspack有两种类型的收集选项:

级别(level):控制收集数据的类型

门限(threshold):设置收集的数据的阈值。

 

1.级别(level)

Statspack共有三种快照级别,默认值是5

a.level 0: 一般性能统计。包括等待事件、系统事件、系统统计、回滚段统计、行缓存、SGA、会话、锁、缓冲池统计等等。

b.level 5: 增加SQL语句。除了包括level0的所有内容,还包括SQL语句的收集,收集结果记录在stats$sql_summary中。

c.level 10: 增加子锁存统计。包括level5的所有内容。并且还会将附加的子锁存存入stats$lathc_children中。在使用这个级别时需要慎重,建议在Oracle support的指导下进行。

可以通过statspack包修改缺省的级别设置

 

SQL>execute statspack.snap(i_snap_level=>0,i_modify_parameter=>’true’);

 

 

通过这样的设置,以后的收集级别都将是0级。

如果你只是想本次改变收集级别,可以忽略i_modify_parameter参数。

 

 

SQL>execute statspack.snap(i_snap_level=>10);

 

 

2.快照门限

 

快照门限只应用于stats$sql_summary表中获取的SQL语句。

因为每一个快照都会收集很多数据,每一行都代表获取快照时数据库中的一个SQL语句,所以stats$sql_summary很快就会成为Statspack中最大的表。

 

门限存储在stats$statspack_parameter表中。让我们了结一下各种门限:

a. executions_th这是SQL语句执行的数量(默认值是100)

b. disk_reads_tn这是SQL语句执行的磁盘读入数量(默认值是1000)

c. parse_calls_th这是SQL语句执行的解析调用的数量(默认值是1000)

d. buffer_gets_th这是SQL语句执行的缓冲区获取的数量(默认值是10000)

 

任何一个门限值超过以上参数就会产生一条记录。

通过调用statspack.modify_statspack_parameter函数我们可以改变门限的默认值。

例如:

 

SQL>execute statspack.modify_statspack_parameter(i_buffer_gets_th=>100000,i_disk_reads_th=>100000;

 

 

转自:http://www.eygle.com/statspack/statspack10.htm

转载于:https://www.cnblogs.com/Monday/archive/2011/09/07/2169991.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值