1.1 概念

statspack,用于收集系统信息,诊断数据库故障,也方便第三方技术支持进行远程阅读和建议。它连续收集数据信息,能够提供趋势分析,同时也需要单独分配一个表空间来存储这些统计数据。即在安装的过程中需要指定一个表空间和临时表空间。

从编程开发的角度来看,startspace就是一段PLSQL,分析查看相关数据字典及视图,并定时运行,并可生成相关报表提供给DBA。

1.2 系统参数

为了能够顺利安装和运行Statspack你可能需要设置以下系统参数:

1. job_queue_processes
为了能够建立自动任务,执行数据收集,该参数需要大于0。你可以在初试化参数文件中修改该参数。

2. timed_statistics
收集操作系统的计时信息,这些信息可被用来显示时间等统计信息、优化数据库和 SQL 语句。要防止因从操作系统请求时间而引起的开销,请将该值设置为False。

使用statspack收集统计信息时建议将该值设置为 TRUE,否则收集的统计信息大约只能起到10%的作用,将timed_statistics设置为True所带来的性能影响与好处相比是微不足道的。

该参数使收集的时间信息存储在在V$SESSTATS 和V$SYSSTATS 动态性能视图中。
Timed_statistics参数可以在实例级进行更改

SQL> alter system set timed_statistics = true;
System altered
SQL>

1.3 安装statspack

1.3.1 查看数据库实例信息

SQL> select instance_name,host_name,version,startup_time from v$instance;

INSTANCE_NAME HOST_NAME VERSION STARTUP_TIME

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

orcl2 r8 11.2.0.4.0 2015/11/4 8:

1.3.2 创建表空间

查看现在磁盘空间

# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda3 56G 13G 40G 24% /

tmpfs 1.3G 437M 881M 34% /dev/shm

/dev/sda1 194M 28M 156M 16% /boot

/dev/asm/app1-210 19G 11G 8.5G 56% /app

查看数据库ASM磁盘空间

SQL> select name, total_mb, free_mb from v$asm_diskgroup;

NAME TOTAL_MB FREE_MB

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

DATA_ASM 10275 9019

DATA_DB 36875 34689

查看表空间默认路径

SQL> select file_name from dba_data_files where rownum < 3;

FILE_NAME

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

+DATA_DB/orcl/datafile/system.259.892839139

+DATA_DB/orcl/datafile/sysaux.260.892839151

创建表空间

SQL> create tablespace perfstat datafile '+DATA_DB/orcl/datafile/ts_perfstat.dbf' size 1204M autoextend on next 10M maxsize 4096M extent management local autoallocate;

1.3.3 执行脚本

查看脚本

[oracle@r7 ~]$ cd $ORACLE_HOME/rdbms/admin

[oracle@r7 admin]$ ls | grep spcreate

spcreate.sql

执行脚本

SQL> @$ORACLE_HOME/rdbms/admin/spcreate.sql

有三个地方需要输入,密码、表空间及临时表空间

Enter value for perfstat_password: orcl

Enter value for default_tablespace: perfstat

Enter value for temporary_tablespace: temp

如果创建过程出现错误,可以执行spdrop.sql 脚本删除之前创建的对象,然后重新执行spcreate.sql脚本。

1.3.4 测试

执行一次“exec statspack.snap”可以生产一次快照,执行两次便可生成一份基于这两个快照的报告 。

SQL> exec statspack.snap

PL/SQL procedure successfully completed.

SQL> /

Package body created.

SQL> @$ORACLE_HOME/rdbms/admin/spreport.sql

1.3.5 设置自动任务Job

spauto.sql脚本中有如何设置自动任务的例子,具体如下:

-- Schedule a snapshot to be run on this instance every hour, on the hour

variable jobno number;

variable instno number;

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表示每隔一小时,1/(24*60)就是每隔一分钟,从这里可以看到这完全就是个自动任务Job,它的启动、停止自然也受自动任务的管理,这里不再描述。

创建自动任务如下:

SQL> variable jobno number;

SQL> variable instno number;

SQL> begin

2 select instance_number into :instno from v$instance;

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

4 commit;

5 end;

6 /

PL/SQL procedure successfully completed

instno

---------

2

jobno

---------

21

执行该自动任务

begin

dbms_job.run(21); --执行job

end;

1.3.6 生成分析报告

执行spreport.sql可生成,具体步骤执行时会有提示,与awr报告生成方式差不多。生成时最好使用spool 将生成的内容写入到指定文件中,不然一屏幕不够显示。

spool report.txt

@spreport.sql

spool off

1.4 调整STATSPACK的收集门限

Statspack有两种类型的收集选项:

级别(level):控制收集数据的类型

门限(threshold):设置收集的数据的阈值。

1.4.1 级别(level)

Statspack共有三种快照级别,默认值是5

a.level 0: 一般性能统计。包括等待事件、系统事件、系统统计、回滚段统计、行缓存、SGA、会话、锁、缓冲池统计等等。

b.level 5: 增加SQL语句。除了包括level0的所有内容,还包括SQL语句的收集,收集结果记录在stats$sql_summary中。

c.level 10: 增加子锁存统计。包括level5的所有内容。并且还会将附加的子锁存存入stats$lathc_children中。在使用这个级别时需要慎重,建议在Oracle support的指导下进行。

可以通过statspack包修改缺省的级别设置

SQL>execute statspack.snap(i_snap_level=>0,i_modify_parameter=>’true’);

通过这样的设置,以后的收集级别都将是0级。

如果你只是想本次改变收集级别,可以忽略i_modify_parameter参数。

SQL>execute statspack.snap(i_snap_level=>10);

1.4.2 快照门限

快照门限只应用于stats$sql_summary表中获取的SQL语句。

因为每一个快照都会收集很多数据,每一行都代表获取快照时数据库中的一个SQL语句,所以stats$sql_summary很快就会成为Statspack中最大的表。

门限存储在stats$statspack_parameter表中。

a. executions_th 这是SQL语句执行的数量(默认值是100)

b. disk_reads_tn 这是SQL语句执行的磁盘读入数量(默认值是1000)

c. parse_calls_th 这是SQL语句执行的解析调用的数量(默认值是1000)

d. buffer_gets_th 这是SQL语句执行的缓冲区获取的数量(默认值是10000)

任何一个门限值超过以上参数就会产生一条记录。

通过调用statspack.modify_statspack_parameter函数我们可以改变门限的默认值。

例如:

SQL>execute statspack.modify_statspack_parameter(i_buffer_gets_th=>100000,i_disk_reads_th=>100000)

Statspack安装配置及使用的更多相关文章

  1. Hive安装配置指北(含Hive Metastore详解)

    个人主页: http://www.linbingdong.com 本文介绍Hive安装配置的整个过程,包括MySQL.Hive及Metastore的安装配置,并分析了Metastore三种配置方式的区 ...

  2. Hive on Spark安装配置详解(都是坑啊)

    个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/p/a7f75b868568 简介 本文主要记录如何安装配置Hive on Sp ...

  3. ADFS3.0与SharePoint2013安装配置(原创)

    现在越来越多的企业使用ADFS作为单点登录,我希望今天的内容能帮助大家了解如何配置ADFS和SharePoint 2013.安装配置SharePoint2013这块就不做具体描述了,今天主要讲一下怎么 ...

  4. Hadoop的学习--安装配置与使用

    安装配置 系统:Ubuntu14.04 java:1.7.0_75 相关资料 官网 下载地址 官网文档 安装 我们需要关闭掉防火墙,命令如下: sudo ufw disable 下载2.6.5的版本, ...

  5. redis的安装配置

    主要讲下redis的安装配置,以及以服务的方式启动redis 1.下载最新版本的redis-3.0.7  到http://redis.io/download中下载最新版的redis-3.0.7 下载后 ...

  6. Windows环境下的NodeJS+NPM+Bower安装配置

    npm作为一个NodeJS的模块管理,之前我由于没有系统地看资料所以导致安装配置模块的时候走了一大段弯路,所以现在很有必要列出来记录下.我们要先配置npm的全局模块的存放路径以及cache的路径,例如 ...

  7. ubuntu kylin 14.04安装配置MongoDB v2.6.1(转)

    1.获取最新版本 https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.1.tgz 2.解压并进入bin目录 tar zxvf mongo ...

  8. Django基础之安装配置

    安装配置 一 MVC和MTV模式 著名的MVC模式:所谓MVC就是把web应用分为模型(M),控制器(C),视图(V)三层:他们之间以一种插件似的,松耦合的方式连接在一起. 模型负责业务对象与数据库的 ...

  9. 【转】Windows平台下的Subversion安装配置新手指南

    原文地址:http://developer.51cto.com/art/201005/199628.htm 本文介绍Subversion安装配置快速指南,首先讲Subversion的安装和配置,Uni ...

随机推荐

  1. hdu1081 To the Max

    直接暴力枚举所有子矩形至少需要O(n^4)的复杂度,显然这不是一个合理的解决方法. 上述方案忽略了矩形之间的联系,进行了过多不必要的计算. 实际上如果固定矩形的左右边界,则底边在i行的矩形内数值之和与 ...

  2. 【20160924】GOCVHelper 图像增强部分(3)

    //顶帽去光差,radius为模板半径     Mat moveLightDiff(Mat src,int radius){         Mat dst;         Mat srcclone ...

  3. php四种基础算法:冒泡,选择,插入和快速排序法

    转自:http://www.php100.com/html/php/rumen/2013/1029/6333.html 许多人都说 算法是程序的核心,一个程序的好于差,关键是这个程序算法的优劣.作为一 ...

  4. 2016年12月10日 星期六 --出埃及记 Exodus 21:5

    2016年12月10日 星期六 --出埃及记 Exodus 21:5 "But if the servant declares, `I love my master and my wife ...

  5. JaveScript变量作用域说明

    JaveScript变量作用域说明     一:将var类型的变量视为变量,不带var类型的变量视为常量(但是注意php的常量不可以重新定义,而javascript中不带var类型的变量可以重新定义) ...

  6. XML学习笔记(二)-- DTD格式规范

    标签(空格分隔): 学习笔记 XML的一个主要目的是允许应用程序之间自由交换结构化的数据,因此要求XML文档具有一致的结构.业务逻辑和规则.可以定义一种模式来定义XML文档的结构,并借此验证XML文档 ...

  7. Give My Text Back

    Give My Text Back 标签(空格分隔): 算法 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 To prepare for the English exa ...

  8. [Effective Java]第十章 并发

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  9. 指令随笔之:tail、cat、scp、&、&&、;、|、>、>>

    tail(中文意思是跟踪)   tail默认只看文件的最后10行内容,cat则一次显示全部内容 ping 192.168.120.204 > zyx.log &    #  &表 ...

  10. Google's Open Source SLAM Library ---- Cartographer

    What is Cartographer? Google announce the open source release of Cartographer, a real-time simultane ...