使用STATSPACK调整数据库性能(一)

 

1、             简介

该工具包可以在%oracle_home%/rdbms/admin路径下找到,包括以下的脚本:

$ pwd

/oracle/product/10.2.0/rdbms/admin

$ ls sp*.sql

spauto.sql    spcusr.sql    sppurge.sql   sprepsql.sql  spup816.sql

spcpkg.sql    spdrop.sql    sprepcon.sql  sprsqins.sql  spup817.sql

spcreate.sql  spdtab.sql    sprepins.sql  sptrunc.sql   spup90.sql

spctab.sql    spdusr.sql    spreport.sql  spup10.sql    spup92.sql

2、             安装

创建一个表空间,以存储STATSPACK收集的性能数据。该表空间的大小需要视收集时间而定,尽量分配大一些。

sysdba身份登录到服务器,运行脚本Spcreate.sql即可完成STATSPACK的安装。在安装过程中会自动创建perfstat用户,需要指定该用户的密码,默认表空间和临时表空间。

3、             收集性能数据

收集性能数据需要使用perfstat用户登录,提供自动收集和手动收集两种方式:

1)  建立自动运行任务

运行脚本spauto.sql即可设置自行采集任务。在默认情况下,该任务会每小时收集一次性能值。

如果需要修改收集性能值的时间粒度,可以修改该脚本中的行:

dbms_job.submit(:jobno,'statspack.snap;',trunc(sysdate+1/24,'HH'),'trunc(SYSDATE+1/24,''HH'')', TRUE, :instno)

这个JOB脚本定义了收集性能值的时间间隔:

1/24 HH  每小时一次

1/48 MI  30分钟一次

1/144MI  10分钟一次

2)  手动收集

执行statspack.snap过程,这会将当前性能值存储到STATSPACK表中。可以用一次快照与另一次快照进行比较,来得到这一段时间的性能数据。

4、             生成报告

运行spreport.sql脚本即可生成报告。如果中间出现停机会出现错误(这次调整没有遇到)。

5、             删除任务

当完成性能调整后,需要删除自动运行的任务。

1)  取得自动运行的任务号:

SQL> Select job, log_user, last_date, next_date, interval from user_jobs;

JOB  LOG_USER  LAST_DATE    NEXT_DATE  INTERVAL

--------------------------------------------------------------------------------------------------------

21  PERFSTAT    20-MAY-09    20-MAY-09   trunc(SYSDATE+1/24,'HH')

2)  移除自动任务

Exec Dbms_job.remove(‘21’)

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值