Oracle11g Statspack的安装配置实践

Oracle11g  Statspack的配置实践

一、安装statspack

做好以上两个步骤后,就可以开始安装过程,具体如下:

1、   用sysdba连接(才有权安装)

$sqlplus / as sysdba 或者  $sqlplus /nolog    SQL> conn /as sysdba 

2、检查条件

SQL> show parameter job_queue_processes

NAME TYPE VALUE

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

job_queue_processes integer 10

(需要大于0,这是为了能够建立自动任务,执行数据收集)

 

SQL> show parameter timed_statistics

NAME TYPE VALUE

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

timed_statistics boolean TRUE

(需要至少配置为true,因为statspack就是要针对动态性能视图差值进行对比分析,只要timed_statistics=true时才能收集操作系统的计时统计。)

 

3、创建perfstat表空间

如果想知道具体已有数据文件具体路径,则可以通过

SQL> select file_name from dba_data_files;

FILE_NAME

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

/opt/oracle/oradata/XXX/users01.dbf

/opt/oracle/oradata/XXX/sysaux01.dbf

/opt/oracle/oradata/XXX/undotbs01.dbf

/opt/oracle/oradata/XXX/system01.dbf

查询得知。

SQL> create tablespace perfstat datafile '/opt/oracle/oradata/XXX/perfstat.dbf' size 500m;

Tablespace created.

4、如果安装有错误,在下一次尝试安装Statpack之前, 需要执行spdrop.sql脚本删除用户和已经安装的视图

SQL> @?/rdbms/admin/spdrop.sql

5、执行spcreate.sql脚本并按提示输入新增用户密码及其默认表空间和临时表空间名。脚本路径为$ORACLE_HOME/RDBMS/ADMIN

注意:

perfstat模式使用的密码,如果输入口令不符合规范(如123或以数字开头的口令),创建会失败。这里用perfstat

perfstat使用的默认表空间 ,这里用上面创建的表空间perfstat

perfstat使用的临时表空间,这里使用系统临时表空间temp

 

SQL> @?/rdbms/admin/spcreate.sql

......

Enter value for perfstat_password: perfstat

Enter value for default_tablespace: perfstat

Enter value for temporary_tablespace: temp

.....

SPCUSR complete. Please check spcusr.lis for any errors.

6.用perfstat连接验证

SQL> connect perfstat/perfstat

Connected.

SQL>exit

 

二、生成statspack报告

1、手工执行并形成报告

以perfstat用户登录进去,连续执行两次或以上execute statspack.snap ,再执行@?/rdbms/admin/spreport即可:

$ sqlplus perfstat/perfstat

 

SQL>  execute statspack.snap

PL/SQL procedure successfully completed.

SQL>  execute statspack.snap

PL/SQL procedure successfully completed.

SQL> @?/rdbms/admin/spreport.sql


......

Enter value for begin_snap: 1

Begin Snapshot Id specified: 5

Enter value for report_name:test

.......

End of Report ( test.lst )

SQL> exit

$ ls *.lst

test.lst

 

2、设置定时任务并形成报告

 

设置定时任务的时间间隔

vi $ORACLE_HOME/rdbms/admin/spauto.sql

...

begin

select instance_number into :instno from v$instance;

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

commit;

end;


时间间隔可做对应修改:

1/24 HH -- 每小时一次

1/48 MI -- 每半小时一次

1/144 MI -- 每十分钟一次

1/288 MI -- 每五分钟一次

一般以1小时为时间间隔,过短对系统的性能会产生较大的影响。

这里没有修改

 

任务创建:

$ sqlplus perfstat/perfstat

SQL>@?/rdbms/admin/spauto

 

生成分析报告

SQL>@?/rdbms/admin/spreport

...

Enter value for begin_snap: 1

Begin Snapshot Id specified: 5

Enter value for report_name:autotest

...

End of Report ( autotest.lst )

 

参考http://blog.itpub.net/post/38575/528197

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值