Statspack是Oracle 8i以上提供的一个非常好的性能监控与诊断工具,基本上全部包含了BSTAT/ESTAT的功能,更多的信息可以参考附带文档$ORACLE_HOME/rdbms/admin/spdoc.txt。

STATSPACK文件: SPDOC.TXT         安装运行文档 SPCREATE.SQL         安装文件 SPDROP.SQL         反安装文件 SPREPORT.SQL         性能报告生成文件       SPUEXP.PAR         statspack参数文件 spauto.sql - 利用dbms_job提交一个作业,自动的进行STATPACK的信息收集统计  sppurge.sql - 清除一段范围内的统计信息,需要提供开始快照与结束快照号 sptrunc.sql - 清除(truncate)所有统计信息 存储数据的表空间最小要求:45M 表空间的大小主要取决于采集数据的频率,数据库的大小,以及收集数据的数据量。

安装Statspack:  SQL> connect internal         SQL> @?/rdbms/admin/spcreate.sql 安装生成一个用户perfstat/perfstat,输入DEFAULT TABLESPACE、TEMPORARY TABLESPACE 如果安装失败,一定要用反安装程序删除,反安装STATSPACK: SQL> connect internal SQL> @?/rdbms/admin/spdrop.sql

使用Statspack:  设置参数timed_statistics=true: 在init<sid>.ora中设置该参数,并让其生效;用alter system set timed_statistics=true; $ sqlplus perfstat/perfstat SQL> exec statspack.snap; -- 进行信息收集统计,每次运行都将产生一个快照号

数据自动采集1: $ crontab -e 30 23 * * * su - oracle -c "/oracle/app/oracle/product/8.1.6/rdbms/admin/spauto.sh" $ vi spauto.sh sqlplus perfstat/perfstat @spauto.sql << EOF 数据自动采集2: 使用DBMS_JOB过程自动激活数据采集。 在init.ora中设置job_queue_processes值大于0,在OPS环境中,各个Node都应该设置。 Example: exec dbms_job.submit(:jobno,'statspack.snap;',trunc(SYSDATE,'HH'),'trunc(SYSDATE+1/24,''HH'')',TRUE,:instno); 修改数据收集的间隔时间 SQL>execute dbms_job.interval(1, sysdate+(1/24)); 让数据收集立即开始 SQL>execute dbms_job.run(<job number>); 除去数据收集 SQL>execute dbms_job.remove(<job number>); 注意: 不要用和STATSPACK 相同的用户(eg. perfstat) 去运行UTLBSTAT/UTLESTAT,因为它们有一个表的名称一样(stats$waitstat),如果这样做, stats$waitstat表将被删除

生成报告: 当执行了二次以上数据采集后,就可以生成系统运行报告;数据采集点之间数据库关闭过生成的报告无效,这同BSTAT/ESTAT相同,原因在于收集的数据来源于数据库中的动态视图中,当数据库关闭后,这些数据便被重置,而系统运行报告是以采集点的数据相比较得出来的。 执行生成系统报告的数据库用户必须是PERFSTAT。 SQL> select SNAP_ID, SNAP_TIME from STATS$SNAPSHOT; -- 获得快照号,必须要有两个以上的快照,才能生成报表 SQL> @?/rdbms/admin/spreport.sql -- 输入需要查看的开始快照号与结束快照号

报告主要内容: Instance efficientcy percentages top wait event top SQL statistic tablespace IO stats for DB file IO stats for DB buffer pool statistics for DB rollback segment stats for DB rollback segment storage for DB latch activity for DB dictionary Cache stats for DB SGA memory summary for DB init.ora parameters for DB

参数设置的方法: 在收集数据时设置但不影响以后的数据收集 execute statspack.snap(i_snap_level=>5,i_modify_parameter =>false); 在收集数据时设置且作为以后数据收集的参数值 execute statspack.snap(i_snap_level=>5,i_modify_parameter =>true); 只改变参数值供以后数据收集使用 execute statspack.modify_statspack_parameter(i_snap_level=>5,i_buffer_gets_th=>1000); 数据收集级别参数: i_snap_level >=0 collect genernal performance statistics >=5 collect level 0 and high resource SQL >=10 This level includes capturing Child Latch statistics, along with all data captured by lower levels 控制数据收集的门槛参数: i_executions_th 正整数[缺省100]。SQL语句执行次数超过此数值的SQL语句归于数据采集范围 i_disk_reads_th 正整数[缺省1000]。SQL语句执行硬盘读取次数超过此数值的SQL语句归于数据采集范围。 i_parse_calls_th 正整数[缺省1000]。SQL语句解析次数超过此数值的SQL语句归于数据采集范围。 i_buffer_gets_th 正整数[缺省10000]。SQL语句请求的BUFFER过此数值的SQL语句归于数据采集范围 i_sharable_mean_th i_version_count_th 其他参数: i_ucomment 字串。为数据采集提加备注 i_session_id [缺省0,no session]session编号,用于对指定的 session进行数据采集 i_modify_parameter true/false。是否将参数修改值作为缺省值 存储参数的表: STATS$STATSPACK_PARAMETER

数据导出: ORACLE提供了一个EXP的参数文件用于复制STATSPACK数据,statsuexp.par file=spuexp.dmp log=spuexp.log compress=y grants=y indexes=y rows=y constraints=y owner=PERFSTAT consistent=y $exp userid=perfstat/perfstat parfile=statsuexp.par 数据输入: $imp userid=perfstat/perfstat fromuser=perfstat

数据删除: SQL>@sppurge         删除不再需要的数据(ID1-ID2) SQL>@sptrunc         删除所有的数据 使用sppurge 删除数据需要较大的回滚段,最好指定一个较大的回滚段或每次只删除较小的范围内的数据

Statspack的使用的更多相关文章

  1. 媲美oracle awr/statspack的mysql awr第一版发布

    现发布alpha版mysql awr,其提供的特性类似于oracle awr或statspack+集中式监控.对于原来从事oracle dba或者相关运维的人原来说,这会是个不错的选择. 至于我为什么 ...

  2. 如何读懂 STATSPACK 报告 (转) & Toad 结合

    可与 toad 相结合的内容, 用 这种颜色可以利用 toad(database->monitor->server statistics)查看到下边的很多信息, 比如 wait event ...

  3. Statspack安装配置及使用

    1.1 概念 statspack,用于收集系统信息,诊断数据库故障,也方便第三方技术支持进行远程阅读和建议.它连续收集数据信息,能够提供趋势分析,同时也需要单独分配一个表空间来存储这些统计数据.即在安 ...

  4. 0环境设置 - Statspack设置

    简单说明 Statspack主要用于永久存储performance statistics 信息 只有作为sysdba连接时才能安装Statspack. 然后改目录到#cd $ORACLE_HOME/r ...

  5. statspack系列8

    原文:http://jonathanlewis.wordpress.com/2006/12/27/analysing-statspack-8/ 作者:Jonathan Lewis 在前面的关于stat ...

  6. statspack系列7

    原文:http://jonathanlewis.wordpress.com/2006/12/27/analysing-statspack-7/ 作者:Jonathan Lewis 这是一段Oracle ...

  7. statspack系列4

    原文:http://jonathanlewis.wordpress.com/2006/12/27/analysing-statspack-4/ 作者:Jonathan Lewis 使用statspac ...

  8. statspack系列3

    原文:http://jonathanlewis.wordpress.com/2006/12/27/analysing-statspack-3/ 作者:Jonathan Lewis 下面的例子中的结果并 ...

  9. statspack系列2

    Analysing Statspack 2       命中率陷阱 原文:http://jonathanlewis.wordpress.com/2006/12/27/analysing-statspa ...

  10. Oracle Statspack报告中各项指标含义详解~~学习性能必看!!!

    Oracle Statspack报告中各项指标含义详解~~学习性能必看!!! Data Buffer Hit Ratio#<#90# 数据块在数据缓冲区中的命中率,通常应该在90%以上,否则考虑 ...

随机推荐

  1. img和div的宽度不一样问题和li之间空隙问题的解决方案

    img和div宽度不一致问题 今天写代码,遇到一个小问题,我把一张图片放进一个div里,然后没有设置任何的padding和margin,但是发现图片和div的高度不一样,在img的下方出现了3px的空 ...

  2. css relative设置top为百分比值

    前言: 最近在学习HTML.CSS的过程中,想模仿一下百度首页.发现搜索框这一部分与上下其它元素的空白距离可以随着窗口大小变化(效果如下图所示),于是自己研究了一下并记录下来. 效果实现 <!D ...

  3. hdu4009 Transfer water 最小树形图

    每一户人家水的来源有两种打井和从别家接水,每户人家都可能向外输送水. 打井和接水两种的付出代价都接边.设一个超级源点,每家每户打井的代价就是从该点(0)到该户人家(1~n)的边的权值.接水有两种可能, ...

  4. chrome、firefox、IE中input输入光标位置错位解决方案

    以前在项目里碰到过一个问题 input输入框用一个背景图模拟,设置height和line-height一样的高度,使里面的输入文字能够居中, 在FF下出现的情况是:点击input时,输入光标其实上跟i ...

  5. (转)RabbitMQ学习之安装

    http://blog.csdn.net/zhu_tianwei/article/details/40832185 RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客 ...

  6. ZBrush带你发掘脸部雕刻的秘诀(上)

    骨骼,是一门基础艺术,几百年来一直为伟大的艺术大师所研究,它曾经,也将一直是创作现实且可信角色的关键,提高骨骼知识更将大大提高雕刻技能. 当然,这对于现实角色很重要,对卡通和风格化的角色也同样重要,底 ...

  7. python爬虫简单架构原理及示例

    网页下载器示例: # coding:utf-8 import urllib2 import cookielib url = "http://www.baidu.com" print ...

  8. Editing a Book 搜索 + meet in the middle

    我们可以发现最多只会进行5次操作. 由此我们从双向跑dfs,用一个unordered_map来保存状态,枚举一下两边的深度即可. 如果4次仍然不可行,则只有可能是5次.所以正反最多只需要搜2层 cod ...

  9. 路飞学城Python-Day114

    120-基于用户认证组件的登陆验证信息存储 from django.shortcuts import render, HttpResponse, redirect from django.contri ...

  10. Camera三维动画

    一.概述 在Android中说到3D开发,我们首先想到的是OpenGL,但用起来比较复杂繁琐,不适合做应用级别的3D变换.Android为我们提供了一个简化版的3D开发入口:Camera(这里的Cam ...