热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Oracle9i配置Statspack工具

Statspack作为Oracle早期推出的工具包,最早出现在Oracle8,在9i版本中获得广泛的应用。从发展历程上,Statspack奠定了现有AWR的

Statspack作为Oracle早期推出的工具包,最早出现在Oracle 8,在9i版本中获得广泛的应用。从发展历程上,Statspack奠定了现有AWR的

Oracle自诊断工具对日常性能诊断作用很大。从Oracle 8开始,Oracle就在不断地推进综合性的自诊断工具包发展。从最早的Statspack到现在的AWR、ADDM,Oracle正向着自诊断、智能化的方向发展。

Statspack作为Oracle早期推出的工具包,最早出现在Oracle 8,在9i版本中获得广泛的应用。从发展历程上,Statspack奠定了现有AWR的基本工作原理和指标方式。AWR是在Statspack的基础上进行的完善发展。

在一些老系统中,9i依然是数据库主要环境系统,Statspack的诊断功能是需要的。本篇介绍9i环境下Statspack工具安装使用,以及执行计划抽取等常用方法。

--------------------------------------分割线 --------------------------------------

相关阅读:

细化解析Oracle 10g Statspack的新功能

Oracle中暗藏的珍宝:Statspack

使用Statspack进行Oracle性能分析

Oracle Statspack安装使用攻略

Statspack 安装和使用

--------------------------------------分割线 --------------------------------------

1、Statspack安装卸载

默认情况下,Statspack是不会作为默认选项安装的。由于10g版本下AWR的存在,一般情况下我们也不需要额外安装过时的Statspack包。我们着重介绍一下如何实现9i环境的安装。

SQL> select * from v$version;

BANNER

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

Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

PL/SQL Release 9.2.0.1.0 - Production

CORE 9.2.0.1.0 Production

TNS for 32-bit Windows: Version 9.2.0.1.0 - Production

NLSRTL Version 9.2.0.1.0 – Production

简单的说,statspack工具包就是PL/SQL存储过程包和一系列Snapshot基础信息表构成的小程序。保留的Snapshot运行数据需要额外的存储空间进行保存,所以建议创建额外的表空间存储进行数据保留。

SQL> create tablespace stptbl datafile 'C:\ORACLE\ORADATA\ORA9I\STPTBL01.dbf' size 500m autoextend on

2 extent management local uniform size 1m

3 segment space management auto;

Tablespace created

注意:同AWR自动的存储管理不同,Statspack的snapshot是没有自动删除的机制的。也就是说,如果我们放任不管,手工收集的镜像数据会一直保存在数据库中。所以,如果经常使用Statspack进行性能数据收集工作,一定不能忽视空间问题。

在9i中,我们需要调用服务器端的脚本来完成创建。注意:这里面我们尽量到服务器端执行,调用服务器端脚本,来防止由于版本不同带来的问题。

SQL> show user

USER 为"SYS"

SQL> @?\rdbms\admin\spcreate

... Installing Required Packages

同义词已创建。

... 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

PL/SQL 过程已成功完成。

用户已创建

授权成功。

Below are the list of online tablespaces in this database.

Decide which tablespace you wish to create the STATSPACK tables and indexes. This will also be the PERFSTAT user's default tablespace.

Specifying the SYSTEM tablespace will result in the installation

FAILING, as using SYSTEM for performance data is not supported.

TABLESPACE_NAME CONTENTS

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

CWMLITE

PERMANENT

已选择12行。

Specify PERFSTAT user's default tablespace

输入 default_tablespace 的值: STPTBL

Using STPTBL for the default tablespace

PL/SQL 过程已成功完成。

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

同义词已创建。

NOTE:

SPCPKG complete. Please check spcpkg.lis for any errors.

脚本spcreate的过程是一个交互式过程。执行过程中我们需要确认三个参数项目:创建用户perfstat的密码、数据表空间和临时表空间。

这个过程设置中,要注意一点:单独使用一个数据表空间作为statspack存储,不要将其放在system里面。

卸载Statspack是比较简单的,相同目录中的脚本spdrop就可以了,本文不进行累述了。

2、Statspack使用

本质上说,Statspack和AWR相同,都是一种基于采样Sampling的性能监控工具。在早期的版本中,Oracle已经推出了一系列的动态视图来反映数据库和系统“实时”性能情况。而所谓的Snapshot就是在某一个时间点,Oracle程序将这些实时数据保留下来,作为一个snapshot点记录在数据库表中。Statspack和AWR报告都是基于多个Snapshot的做差来形成的。

Statspack和AWR最明显的差异在于Statspack默认是不会自动进行Snapshot动作,而AWR默认是提供每一小时进行采样的功能的。

所以说,AWR便于进行故障时段分析,而Statspack需要故障中或者故障重演。默认执行statspack镜像的方法很简单。

SQL> conn perfstat/perfstat@ora9i

Connected to Oracle9i Enterprise Edition Release 9.2.0.1.0

Connected as perfstat

SQL> exec statspack.SNAP;

PL/SQL procedure successfully completed

调用statspack包的snap方法,可以直接收集snapshot。此时采用默认的收集策略。基础表stats$snapshot可以查看到保存的信息。

SQL> select snap_id, dbid, to_char(snap_time, 'yyyy-mm-dd hh24:mi:ss') snap_time, snap_level from stats$snapshot;

SNAP_ID DBID SNAP_TIME SNAP_LEVEL

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

1 2629872507 2014-02-07 10:51:30 5

注意:我们此处采用了Oracle的默认配置。snapshot方法镜像,我们有很多的选择余地。这些内容留待我们之后讨论。此处目标是创建出一个snapshot。

如果观察perfstat用户下的数据表,我们会发现很多以stats$作为前缀的数据表。这些表中保存的数据就是以snapshot为引领的性能数据。

同AWR一样,生成statspack报告最少要有两个snapshot形成,而且snapshot中间不允许关机启动动作。

SQL> exec statspack.SNAP;

PL/SQL procedure successfully completed

SQL> select snap_id, dbid, to_char(snap_time, 'yyyy-mm-dd hh24:mi:ss') snap_time, snap_level from stats$snapshot;

SNAP_ID DBID SNAP_TIME SNAP_LEVEL

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

1 2629872507 2014-02-07 10:51:30 5

2 2629872507 2014-02-07 11:05:00 5

推荐阅读
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • 从CodeIgniter中提取图像处理组件
    本指南旨在帮助开发者在未使用CodeIgniter框架的情况下,如何独立使用其强大的图像处理功能,包括图像尺寸调整、创建缩略图、裁剪、旋转及添加水印等。 ... [详细]
  • 花生壳内网穿透:实现企业智能网关远程管理和维护
    随着物联网技术的发展,企业对智能网关的需求日益增加。本文介绍如何利用花生壳内网穿透技术,实现企业智能网关的远程管理和维护,提高效率,降低成本。 ... [详细]
  • 本文提供了多种有效的方法来解决RPC(远程过程调用)服务器不可用的问题,包括通过修改注册表、使用SC命令以及利用故障恢复控制台等技术手段。 ... [详细]
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 本文作为《WM平台上使用Sybase Anywhere 11》系列的第二篇,将继续探讨在Windows Mobile (WM) 系统中如何高效地操作Sybase Anywhere 11数据库。继上一篇关于安装与基本测试的文章之后,本篇将深入讲解数据库的具体操作方法。 ... [详细]
  • 本文记录了在Windows 8.1系统环境下,使用IIS 8.5和Visual Studio 2013部署Orchard 1.7.2过程中遇到的问题及解决方案,包括503服务不可用错误和web.config配置错误。 ... [详细]
  • 使用Echarts for Weixin 小程序实现中国地图及区域点击事件
    本文介绍了如何使用Echarts for Weixin在微信小程序中构建中国地图,并实现区域点击事件。包括效果展示、条件准备和逻辑实现的具体步骤。 ... [详细]
  • Java中的引用类型详解
    本文详细介绍了Java中的引用类型,包括强引用、软引用、弱引用和虚引用的特点和应用场景。 ... [详细]
  • 大华股份2013届校园招聘软件算法类试题D卷
    一、填空题(共17题,每题3分,总共51分)1.设有inta5,*b,**c,执行语句c&b,b&a后,**c的值为________答:5 ... [详细]
  • 本文讲述了一位80后的普通男性程序员,尽管没有高学历,但通过不断的努力和学习,在IT行业中逐渐找到了自己的位置。从最初的仓库管理员到现在的多技能开发者,他的职业生涯充满了挑战与机遇。 ... [详细]
  • 周排行与月排行榜开发总结
    本文详细介绍了如何在PHP中实现周排行和月排行榜的开发,包括数据库设计、数据记录和查询方法。涉及的知识点包括MySQL的GROUP BY、WEEK和MONTH函数。 ... [详细]
author-avatar
活宝贝aaaaaaaaaaaaa
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有