ITPub博客

首页 > 数据库 > Oracle > Oracle statspack工具使用解析

Oracle statspack工具使用解析

原创 Oracle 作者:贺子_DBA时代 时间:2014-08-18 22:31:12 0 删除 编辑
首先应该知道,statspack工具的作用,它是Oracle 8.1.6开始被引入的用来辅助工作人员诊断数据库性能的工具,同过它收集的数据生成分析报告,也可以使远程技术支持人员迅速了解数据库的运行状况,它可以通过手工方式来执行,也可以用过定时任务来进行定期采样。
接下来展示使用过程:
一:为了能够顺利的安装和使用statspack,可能需要设置一下两个系统参数,
1,job_queue_processes
为了能够建立自动任务,执行数据收集,该参数需要大于0,
SYS@ENMOEDU> alter system set job_queue_processes = 8 scope=both;             #both  是指在当前和重启后都有效,

System altered.
2. timed_statistic     这个参数设置为true时,Oracle 将实时收集操作系统的计时信息,这些信息可被用来显示时间等统计信息,优化数据库和SQL语句。
SYS@ENMOEDU> alter system set timed_statistics=true; 

System altered.
二:安装statspack 
1.首先登录到数据库,最好切换到$ORACLE_HOME/rdbms/admin 目录   以便执行脚本,
[oracle@ENMOEDU admin]$ pwd 
/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/admin 
[oracle@ENMOEDU admin]$ sqlplus / as sysdba 

SQL*Plus: Release 11.2.0.3.0 Production on Mon Aug 18 21:44:36 2014 

Copyright (c) 1982, 2011, Oracle. All rights reserved. 


Connected to: 
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production 
With the Partitioning, OLAP, Data Mining and Real Application Testing options 

SYS@ENMOEDU>
2.由于statspack需要一定的存储空间,最好建立独立的的表空间,如果采样间隔短,周期较长,打算长期使用,那么就可能需要一个大一点的表空间。(不要太小,至少要建立100M)
SYS@ENMOEDU> create tablespace dbpower datafile '/u01/app/oracle/oradata/ENMOEDU/dbpower.dbf' size 500m autoextend on ; 


Tablespace created. 
3.接下来  就开始安装了,这期间会提示输入缺省表空间和临时表空间的名字,
SYS@ENMOEDU>@spcreate     #直接跑脚本就可以了     显示以下信息  证明你已经成功安装了
Creating Package STATSPACK...

Package created.

No errors.
Creating Package Body STATSPACK...

Package body created.

No errors.

NOTE:
SPCPKG complete. Please check spcpkg.lis for any errors.
三:运行statspack.snap 就可以产生系统快照,运行两次,然后执行spreport.sql   就会生成一个基于两个时间点的报告。如果一切正常,说明安装成功。生成的报表的名称可以自定义,也可以缺省,默认在当前目录下生成一个报告,
PERFSTAT@ENMOEDU> execute statspack.snap 

PL/SQL procedure successfully completed.
PERFSTAT@ENMOEDU> execute statspack.snap 

PL/SQL procedure successfully completed. 

Listing all Completed Snapshots

                                                       Snap
Instance DB Name Snap Id Snap Started Level Comment
------------ ------------ --------- ----------------- ----- --------------------
ENMOEDU ENMOEDU 1 18 Aug 2014 22:02 5
                                  2 18 Aug 2014 22:02 5



Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for begin_snap: 1
Begin Snapshot Id specified: 1

Enter value for end_snap: 10
End Snapshot Id specified: 10
注意:一个statspack的报告不能跨越一次停机,但是之前或之后的连续区间,收集的信息依然有效,可以选择之前或之后的采样生成report
四:移除定时任务
先通过下面的语句查出job  号  
SYS@ENMOEDU> select JOB,LOG_USER,PRIV_USER,LAST_DATE,NEXT_DATE,INTERVAL from user_jobs;
然后
SYS@ENMOEDU> execute dbms_job.remove('查出来的job号')
五:删除历史数据 
删除stats$snapshot 数据表的数据,其他表的数据也会级联的删除掉
SYS@ENMOEDU> select max(snap_id) from stats$snapshot; 

MAX(SNAP_ID) 
------------ 
2
SYS@ENMOEDU> delete from stats$snapshot where snap_id <=2; 

2 rows deleted.
六;可以通过运行脚本 spdrop.sql来删除由脚本spcreate产生的对象; 
总结:statspack工具产生的报告不含系统信息,不能对系统资源进行评估,这是他的一个欠缺之处,但是后来的AWR报告中有了这些内容,弥补了它的不足。



































来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29654823/viewspace-1253481/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
10年数据库管理员从业经历,熟悉Oracle、mysql、tidb、oceanbase、redis、 mongodb 、python等技术栈,持有11g ocm 、mysql 5.7 ocp 、tidb 5.0 ptcp、tidb 6.0 ptca、oceanbase obcp等

注册时间:2014-05-12

  • 博文量
    327
  • 访问量
    2149023