- 浏览: 592400 次
- 性别:
- 来自: 南京
-
文章分类
- 全部博客 (214)
- web (36)
- oracle (10)
- http (1)
- 设计 (2)
- 项目 (1)
- 方法论 (0)
- 需求 (0)
- 成长 (6)
- 工作日志 (0)
- java基础 (20)
- java线程 (2)
- CMMI (0)
- Ext (19)
- JavaScript (16)
- OpenGL (0)
- 我的管理 (3)
- 敏捷 (0)
- mysql (7)
- 其他 (3)
- tools (10)
- 3d (1)
- 音视频直播 (9)
- C++ (1)
- 测试 (3)
- 开源 (3)
- css (4)
- 安全 (1)
- 项目管理 (1)
- NoSql (1)
- 文件系统 (1)
- cache (2)
- easyui (1)
- 3G (1)
- 单点登录 (1)
- portal (2)
- 问题 (0)
- ORM (0)
- 视频教程 (1)
- 电子书 (1)
- 规范 (2)
- spring (5)
- xml (0)
- ibatis (1)
- struts (2)
- 面试 (6)
- svn (0)
- 自考 (1)
- tomcat (3)
- html (1)
- jmesa Grid 组件 (1)
- 日志 (0)
- Jquery (1)
- os (1)
- books (0)
- download (0)
最新评论
-
remoteJavaSky:
弱弱的问一下,关于那个登录,登录后服务端会给客户端一个sess ...
Java Session 是如何实现的 -
jiangshuiy:
2中的报错是因为的源码有 package,而你的命令里面没有p ...
javac、java命令的使用 -
yanwushu:
简介明了,好文章......
ServletContext -
516456267:
第四个说明很有用
对log4j的ConversionPattern的学习 -
meShare2011:
加载顺序是先加载Tomcat Lib文件夹下的Jar包对么? ...
(转)jar not loaded. See Servlet Spec 2.3, section 9.7.2. 错误原因和解决办法
Oracle Statspack 是什么就不多说了,下面只介绍快速启动此功能的方法,相信在启动之后,所有了解Oracle的DBA们都能迅速玩会它。
目录:
一. 系统参数
二. 安装 Statspack
三. 测试安装好的 Statspack
四. 规划自动任务
五. 生成分析报告
六. 移除定时任务
------------------------------------------------------------------------------------------------------------
一. 系统参数
1.job_queue_processes (建立自动任务,执行数据收集,该参数需要大于 0。)
SQL> alter system set job_queue_processes = 6 scope=both;
系统已更改。
2.timed_statistics (防止因从操作系统请求时间而引起的开销,请将该值设置为 False。)
SQL> alter system set timed_statistics = true;
System altered
SQL>
二. 安装 Statspack
安装 Statspack 需要用sys用户以sysdba身份登陆。需要在 本地安装或者通过 telnet 登陆到服务器。
首先登陆到数据库,最好转到$ORACLE_HOME/RDBMS/ADMIN 目录,这样执行脚本就可以方便些。
$ORACLE_HOME/rdbms\admin>sqlplus "/ as sysdba"
SQL*Plus: Release 9.*.*.*.* - Production on 星期* * 月 ** **:**:** ****
Copyright (c) ****, ****, Oracle Corporation. All rights reserved.
连接到: Oracle9i Enterprise Edition Release *.*.*.*.* - Production
With the Partitioning, Oracle Label Security, OLAP and Oracle Data Mining options
JServer Release 9.*.*.*.* - Production
SQL>
检查数据文件路径及磁盘空间,以决定创建数据文件的位置:
SQL> select file_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
D:\ORACLE\ORADATA\EYGLE\SYSTEM01.DBF
D:\ORACLE\ORADATA\EYGLE\TEMP01.DBF
……
D:\ORACLE\ORADATA\EYGLE\HH_AM01.ORA
已选择24行。
SQL>
创建存储数据的表空间,如果采样间隔较短,周期较长,打算长期使用,那么你可能需要一个大一点的表
空间( <=100M ),如果每个半个小时采样一次,连续采样一周,数据量是很大的。本例创建一个 500M 的测试表空间。
SQL> create tablespace perfstat
2 datafile 'd:\oracle\oradata\eygle\perfstat.dbf'
3 size 500M
4 extent management local;
表空间已创建。
SQL>
检查是否存在安装所需要的脚本文件(对于不同的版本,脚本有所不同)
<-----------------------------------------------------------------------------------------------------------
E:\Oracle\ora92\rdbms\admin>dir /w sp*
驱动器 E 中的卷没有标签。
卷的序列号是 ACC3-4340
E:\Oracle\ora92\rdbms\admin 的目录
spauto.sql spcpkg.sql spcreate.sql spctab.sql spcusr.sql spdoc.txt
spdrop.sql spdtab.sql spdusr.sql sppurge.sql sprepins.sql spreport.sql
sprepsql.sql sptrunc.sql spuexp.par spup816.sql spup817.sql spup90.sql
18 个文件 510,296 字节
0 个目录 4,146,565,120 可用字节
----------------------------------------------------------------------------------------------------------->
接下来我们就可以开始安装 Statspack 了。这期间会提示你输入缺省表空间和临时表空间的位置,输入我们
为 perfstat 用户创建的表空间和你的临时表空间。
SQL> @spcreate
.
.
Specify PERFSTAT user's default tablespace
输入 default_tablespace 的值: perfstat
Using perfstat for the default tablespace
用户已更改。
用户已更改。
Specify PERFSTAT user's temporary tablespace
输入 temporary_tablespace 的值: temp
注意:在 statspack 创建过程中,当提示输入口令时,你可以输入一个明文口令,但是如果输入口令不符合
规范(如 123 或以数字开头的口令),创建会失败。
<-----------------------------------------------------------------------------------------------------------
... Creating PERFSTAT user ...
Choose the PERFSTAT user's password.
Not specifying a password will result in the installation FAILING
Specify PERFSTAT password
输入 perfstat_password 的值: 123
123
PL/SQL 过程已成功完成。
create user perfstat identified by 123
*
ERROR 位于第 1 行:
ORA-00988: 缺少或无效口令
----------------------------------------------------------------------------------------------------------->
如果安装成功,你可以看到如下的输出信息:
<-----------------------------------------------------------------------------------------------------------
….
Creating Package STATSPACK...
程序包已创建。
没有错误。
Creating Package Body STATSPACK...
程序包主体已创建。
没有错误。
NOTE:
SPCPKG complete. Please check spcpkg.lis for any errors.
----------------------------------------------------------------------------------------------------------->
你可以查看.lis 文件查看安装时的错误信息。
SQL> host dir *.lis
SQL> host find "ORA-" *.lis
SQL> host find "err" *.lis
在 UNIX 上,你可以通过以下命令查看相应的错误信息
$ ls *.lis
$ grep ORA- *.lis
$ grep err *.lis
在这一步,如果出现错误,那么你可以运行 spdrop.sql 脚本来删除这些对象。然后重新运行 spcreate.sql 来
创建这些对象。运行 SQL*Plus, 以具有 SYSDBA 权限的用户登陆:
SQL> @spdrop.sql
三. 测试安装好的 Statspack
运行 statspack.snap 可以产生系统快照,运行两次,然后执行 spreport.sql 就可以生成一个基于两个时间点的报告。如果一切正常,说明安装成功。
SQL>execute statspack.snap
PL/SQL procedure successfully completed.
SQL>execute statspack.snap
PL/SQL procedure successfully completed.
SQL>@spreport.sql
…
四. 规划自动任务
Statspack 正确安装以后,我们就可以设置定时任务,开始收集数据了。可以使用 spatuo.sql 来定义自动任务。spauto.sql 的关键内容:
dbms_job.submit(:jobno, 'statspack.snap;',
trunc(sysdate+1/24,'HH'), 'trunc(SYSDATE+1/24,''HH'')', TRUE, :instno);
这个 job 任务定义了收集数据的时间间隔:
一天有 24 个小时,1440 分钟,那么:
1/24 HH 每小时一次
1/48 HH 每半小时一次
1/144MI 每十分钟一次
1/288MI 每五分钟一次
可以修改 spauto.sql 来更改执行间隔,如:
dbms_job.submit(:jobno, 'statspack.snap;',
trunc(sysdate+1/48,'MI'), 'trunc(SYSDATE+1/48,''MI'')', TRUE, :instno);
然后执行 spauto,这样就建立了一个每 30 分钟执行一次的数据收集计划。可以查看 spauto.lis
来获得输出信息:
<-----------------------------------------------------------------------------------------------------------
SQL> @spauto
PL/SQL procedure successfully completed.
……
** **-*****-** **:**:**
----------------------------------------------------------------------------------------------------------->
关于采样间隔,通常建议以 1 小时为时间间隔,特殊需要可设置半小时作为采样间隔,但是不推荐更短。因为 statspack 的执行本身需要消耗资源,对于繁忙的生产系统,太短的采样对系统的性能会产生较大的影响(甚至会使 statspack 的执行出现在采样数据中)。
五. 生成分析报告
调用 spreport.sql 可以生成分析报告:
<-----------------------------------------------------------------------------------------------------------
SQL> @spreport
……
输入 report_name 的值: rep1205.txt
Using the report name rep1205.txt
----------------------------------------------------------------------------------------------------------->
<-----------------------------------------------------------------------------------------------------------
这样就生成了一个报告,可是如果中间停过机,那么你可能收到以下错误信息:
ERROR: Snapshots chosen span an instance shutdown: RESULTS ARE INVALID
STATSPACK report for
DB Name DB Id Instance Inst Num Release OPS Host
------------ ----------- ------------ -------- ----------- --- ------------
----------------------------------------------------------------------------------------------------------->
一个statspack 的报告不能跨越一次停机,但是之前或之后的连续区间,收集的信息依然有效。你可以选择之前或之后的采样生产report。
六. 移除定时任务
移除一个定时任务,可以如下操作:
<-----------------------------------------------------------------------------------------------------------
SQL> select job,log_user,priv_user,last_date,next_date,interval from user_jobs;
JOB LOG_USER LAST_DATE NEXT_DATE INTERVAL
---------- ------------------------------ ------------------------------ ------------------------------
22 PERFSTAT ****-**-*:**:**:** ****-**-* **:**:** trunc(SYSDATE+1/144,'MI')
SQL> execute dbms_job.remove('22')
PL/SQL procedure successfully completed
----------------------------------------------------------------------------------------------------------->
当你完成了一个采样报告,你应该及时移除这个 job 任务,在生产环境中,遗漏一个无人照顾的 job 是非常危险的,如果 statspack 运行一个星期,采样的数据量是非常惊人的。
参考:http://hi.baidu.com/jackli00/blog/item/0fea4888be3ebcb90f2444c6.html
发表评论
-
转==oracle-快速删除重复的记录
2010-10-18 22:15 1194以前写过这种SQL,现在有好久不用了,有点遗忘了,今天导数据的 ... -
转== oracle表分区详解
2010-10-18 20:29 1305之前听说过表分区,但 ... -
转==使用PowerDesign进行逆向工程
2010-10-18 18:16 1873总结:PowerDesign 可以使用两种方式进行逆向工程 1 ... -
oracle 查询优化
2010-10-12 11:20 1045我们有一张日志表 有XXX 条记录 正式环境 select c ... -
Varchar2(100)类型到底能存储多少中文
2010-09-02 18:09 70751、oracle varchar2(100) 表示可以存储10 ... -
(转)相关子查询与非相关子查询
2010-08-14 21:00 1243今天在写程序时突然对这个概念有点模糊了,找了篇文章温习下,先谢 ... -
(转-51cto.com)老生常谈:SQL中的行转列,列转行操作
2010-07-29 10:20 955这篇文章没看完,但是看了开头部分就感觉写的不错,先记录一下有时 ... -
(转-51cto.com)SQL Server数据库和Oracle行转列的特殊方案描述
2010-07-29 10:15 1071文章主要描述的是SQL Server数据库和Oracle数据库 ... -
我对SQL Group by 的理解
2010-07-08 11:52 0待续xxx http://www.w3school.com ... -
oracle数据库优化1
2010-07-03 20:25 0呵呵,之前只是知道有5 ... -
创建oracle job
2008-10-22 15:08 11485oracle job简介 主要的使用情景 定时在后台执行相关操 ...
相关推荐
Oracle Statspack是一个强大的数据库性能分析...总的来说,Oracle Statspack是一个强大而全面的性能分析工具,通过合理的配置和使用,能够有效地提升数据库的运行效率,降低故障发生率,从而保障企业的业务顺畅运行。
在IT领域,尤其是在数据库管理与优化方面,Oracle Statspack是一个不可或缺的工具,它为Oracle数据库的性能监控与问题诊断提供了强有力的支持。以下是对"Oracle Statspack报告分析"这一主题的深入探讨,涵盖其功能、...
总的来说,Oracle STATSPACK是一个强大且实用的工具,它为DBA提供了深入洞察数据库性能的机会,通过正确使用和分析其报告,可以有效地提升Oracle数据库的运行效率。不过,随着技术的发展,对于新的Oracle版本,建议...
- **性能监控**:Statspack能够监控Oracle数据库的各种性能指标,包括但不限于CPU使用率、I/O操作、等待事件等。 - **性能诊断**:通过收集的性能数据,Statspack能够帮助DBA诊断数据库的性能问题,比如找出慢查询、...
本文将详细探讨Oracle Statspack的使用、功能以及如何利用它进行高性能数据库调整。 首先,Oracle Statspack是一种历史性能数据收集工具,它可以记录数据库在运行时的详细信息,包括SQL语句执行情况、等待事件、...
Oracle StatsPack是一款强大的性能分析工具,专为Oracle数据库设计,用于收集、存储和报告数据库的性能数据。...正确安装、使用和分析StatsPack数据,对于任何希望优化Oracle数据库性能的人来说都是至关重要的。
以下是关于Oracle 9i Statspack的详细安装和使用步骤: 1. **Statspack的安装** 在安装Statspack之前,你需要以sysdba角色登录到SQL*Plus。首先,创建一个专门用于Statspack的表空间,确保它具有足够的空间。例如...
Oracle StatsPack 是Oracle数据库系统中一个强大的性能分析工具,它为DBA提供了深入的数据库性能监控和诊断功能。本主题将详细阐述Oracle StatsPack在高性能调整中的应用和技术要点。 一、Oracle StatsPack简介 ...
总的来说,Oracle STATSPACK是数据库性能调优的重要工具,通过合理使用它可以显著提升数据库的运行效率,降低系统延迟,提高用户满意度。掌握并熟练运用STATSPACK,是每个Oracle DBA必备的技能之一。
### 细化解析Oracle 10g Statspack #### 引言 随着Oracle数据库技术的不断进步和发展,...因此,在使用Oracle 10g的过程中,DBA和开发人员不应忽视Statspack的价值,合理利用这些工具将大大提升数据库管理的效率。
Oracle STATSPACK 是一款强大的性能分析工具,专为Oracle数据库设计,用于收集和...尽管现代Oracle版本中有了更先进的AWR,但STATSPACK依然是一份宝贵的资源,尤其对于那些仍在使用较旧版本Oracle数据库的组织来说。
Oracle Statspack 高性能调整技术
Oracle9i STATSPACK 是一个强大的性能分析工具,专为Oracle数据库系统提供高效能的调优支持。在Oracle 9i版本中,STATSPACK扮演了至关重要的角色,帮助DBAs(数据库管理员)识别和解决性能瓶颈,确保系统的稳定运行...
oracle statspack 高性能调整技术
oracle statspack 高性能调整技术14_15