Statspack学习(一).安装配置
Statspack学习(一).安装配置
Statspack是Oracle提供的一个非常强大的工具,用于检测Oracle系统在某段时间内的执行性能,是用来判断、排查Oracle故障和系统瓶颈的最主要和最常用的手段。从今天开始就来学习一下这个工具的使用方法。
一、参数设置
安装和运行Statspack需要配置以下参数
1、job_queue_processes
为了可以建立自动任务,执行数据手机,该参数需要大于0(默认是10)
2、timed_statistics
收集操作系统的计时信息,用以先是时间等统计信息,优化数据库和SQL语句。在使用statspack收集统计信息时建议将该值设置为TRUE,否则收集的统计信息大概只能起到10%的作用。timed_statistics设置为true会引起系统的开销,但是其带来的影响与好处相比是微不足道的
注:该参数收集的时间信息存储在v$sysstat和v$sesstat等动态视图中。
二、安装Statspack
以SYSDBA身份登陆,执行安装脚本
1、查看基础信息
SQL> select instance_name,host_name,version,startup_time from v$instance;
INSTANCE_NAME HOST_NAME VERSION STARTUP_TIME
---------------- ---------- ----------------- ------------
dodo WXQ-0099 10.2.0.1.0 2009-2-21
INSTANCE_NAME HOST_NAME VERSION STARTUP_TIME
---------------- ---------- ----------------- ------------
dodo WXQ-0099 10.2.0.1.0 2009-2-21
2、查看现有数据文件位置
SQL> select file_name from dba_data_files;
FILE_NAME
---------------------------------------------------------
E:\ORACLE\PRODUCT\10.2.0\ORADATA\DODO\USERS01.DBF
E:\ORACLE\PRODUCT\10.2.0\ORADATA\DODO\SYSAUX01.DBF
E:\ORACLE\PRODUCT\10.2.0\ORADATA\DODO\UNDOTBS01.DBF
E:\ORACLE\PRODUCT\10.2.0\ORADATA\DODO\SYSTEM01.DBF
FILE_NAME
---------------------------------------------------------
E:\ORACLE\PRODUCT\10.2.0\ORADATA\DODO\USERS01.DBF
E:\ORACLE\PRODUCT\10.2.0\ORADATA\DODO\SYSAUX01.DBF
E:\ORACLE\PRODUCT\10.2.0\ORADATA\DODO\UNDOTBS01.DBF
E:\ORACLE\PRODUCT\10.2.0\ORADATA\DODO\SYSTEM01.DBF
3、创建表空间,用于存放统计信息
注:如果采样间隔短、周期长则使用大一点的表空间。例如每半小时采样一次,持续一周,则数据量比较大,需要500M左右空间。
注:表空间不能太小,否则创建对象会失败,至少需要100M空间
SQL> create tablespace perfstat
2 datafile 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\DODO\PERFSTAT.DBF'
3 size 500M
4 extent management local;
Tablespace created
2 datafile 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\DODO\PERFSTAT.DBF'
3 size 500M
4 extent management local;
Tablespace created
4、执行spcreate脚本创建Statspack
SQL> @E:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\spcreate.sql
开始创建之后需要输入以下几个值:
Enter value for perfstat_password:perfstat
Enter value for defaulttablespace:perfstat
Entwe value for temporary_tablespace:temp
最后如果安装成功会出现以下信息:
Started spooling to D:\Program Files\PLSQL Developer\spcpkg.lis
Creating Package STATSPACK...
Package created
No errors for PACKAGE PERFSTAT.STATSPACK
Creating Package STATSPACK...
Package created
No errors for PACKAGE PERFSTAT.STATSPACK
Creating Package Body STATSPACK...
Package body created
No errors for PACKAGE BODY PERFSTAT.STATSPACK
NOTE:
SPCPKG complete. Please check spcpkg.lis for any errors.
Stopped spooling to D:\Program Files\PLSQL Developer\spcpkg.lis
如果安装出现问题或者想要删除statspack,执行spdrop.sql脚本删除创建的所有对象。
注:不要用PLSQL DEV进行执行脚本,因为有些指令无法编译通过。
三、测试Statspack
首先模拟执行n次的statspack.snap
SQL> execute statspack.snap;
PL/SQL procedure successfully completed
SQL> execute statspack.snap;
PL/SQL procedure successfully completed
SQL> execute statspack.snap;
PL/SQL procedure successfully completed
然后执行spreport.sql脚本
SQL> @E:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\spreport.sql;
Enter value for begin_snap:1
Enter value for end_snap:3
Enter value for report_name:test
注1:snap代码会在脚本执行的过程中展示出来
注2:会在当前目录下生成一个名为test.lst的文件保存信息