statspack 使用学习笔记

        使用Utlbstat和Utlestat只能取两点的信息,得到性能差异报表,并进行分析,判断那些是主要影响系统的信息.但是由于两点之间的性能差异的不确定性,如操作时间长短,并发数的变化,而收集的信息是两点之间的比较,时间越长,收集到的信息的准确程度越低,收集的时间短,则收集的信息不全.同时受提供信息有限所限,随Oracle版本的发展,现已经被StatSpack取代.
  与Utlbstat和Utlestat相比,Statspack不仅仅是取两点值,还可以取多点信息,做任意两点的比较.甚至可以基于某一个关心的点,如等待事件,

把多点信息产生一个曲线图,如果曲线图变化平稳,说明该段时间内,该等待事件运行平稳,发生次数很少,并且发生也在正常充许的范围之内.如

果曲线变化幅度大,说明该等待事件事件发生频繁,当前性能差是和该事件有关系的,资源竟争比较激烈.所以,Statspack能更准确的描述出性能

的变化.
   其次,Statspack比Utlbstat和Utlestat多收集了一些信息.如内存中运行的SQL语句信息,同时可以对语句按一定的条件排序,以方便找出最影

响性能的SQL语句。

第一,Statspack存放位置
    和statspack 相关的脚本全部存放在 D:/oracle/ora92/rdbms/admin/ 目录下.
   
第二,Statspack 的安装方法
  Statspack可以认为是一个小软件包.在运行前需要安装,执行Oracle的安装目录 D:/oracle/ora92/rdbms/admin/下的SPCreate.sql就可以完

成安装.安装完成后,以后就可以直接使用,不用再安装了。
   在安装前,确认参数 TIMED_STATISTICS 为True.(Oracle 8I需要更改,9I默认True)

SQL> show parameter timed_statistics

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
timed_statistics                     boolean     TRUE

更改方法:
SQL> alter system set timed_statistics=true;

系统已更改。

说明:TIMED_STATISTICS 参数用于收集时间信息.

另外,要确定有没有可用的表空间用来存放StatsPack的相关对象. Oracle8I要求80M以上,Oracle 9i至少要92M以上,最好使用一个空白的表空间

.
创建表空间的脚本如下:
SQL>create tablespace sp datafile 'd:/oracle/oradata/ora92/sp01.dbf' size 120M;

表空间已创建。

然后,再运行:

SQL> @?/rdbms/admin/spcreate

安装过程中,提示要输入 PERFSTAT 用户的密码,
... Creating PERFSTAT user ...

Choose the PERFSTAT user's password.

Not specifying a password will result in the installation FAILING

Specify PERFSTAT password
输入 perfstat_password 的值:  perfstat
perfstat

如果是生产数据库,一定要设好密码,因为这个用户有相当的权限。

最后,指定使用的表空间:
Specify PERFSTAT user's default   tablespace
输入 default_tablespace 的值:  sp
Using sp for the default tablespace

指定临时表空间:

Choose the PERFSTAT user's temporary tablespace.

Specifying the SYSTEM tablespace will result in the installation
FAILING, as using SYSTEM for the temporary tablespace is not recommended.

Specify PERFSTAT user's temporary tablespace.
输入 temporary_tablespace 的值:  temp
Using temp for the temporary tablespace

提供上述的信息后,可完成安装。
如果是在SQL Plus中运行脚本,如果安装不成功,SQL Plus会自动不报错退出。

第三,Statspack的使用,即收集信息

  信息的收集,可以手动收集,也可以定制任务,让DB自动收集,但最终都是调用了系统包:statspack.snap来完成信息收集的。

SQL> exec statspack.snap;

PL/SQL 过程已成功完成。

执行一次,收集一次,需要花费的时间不一定,根据当前系统运行任务的情况而定.
根据调优的要求,要在业务运行的时候收集,所收集的数据才能体现系统正常运行时的状态.
要产生报告,最少要收集两点以上,才能产行差异报告.

SQL> exec statspack.snap;

PL/SQL 过程已成功完成。
也可以调用
SQL> @?/rdbms/admin/spauto 来自动执行.

一般来说,Statspack收集信息的频度最好是每15分钟到半小时收集一次.时间的多少和系统和繁忙程度有关.不能影响系统的正常运行.

在收集的两点之间,不能跨DB重启.
最后可以调用
SQL> @?/rdbms/admin/spreport
来生成报表,在输入begin_snap 和End_snap时,要从小到大输入.
最后要输入生成报表存放的位置,如不指定,则会放到默认的位置.位置可以是全路径。

第四。Statspack的卸载
    由于Statspack将对象存放在了Sys用户中,如果手工删除,将不能全部删除,下次如果在SQLPlus中安装,装不提示退出,不能成功安装。
可以用下面的方法卸载:
SQL>@?/rdbms/admin/spdrop
就可以完全卸载。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值