- 浏览: 1198842 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (361)
- java综合 (33)
- 项目管理 (10)
- 工作流 (6)
- spring (11)
- hibenate (17)
- struts (0)
- javascript,html,css,ajax,jquery (11)
- IDE (9)
- 生活 (0)
- 工作 (0)
- 杂记 (1)
- 数据库 (96)
- 服务器 (5)
- 可视编辑 (0)
- freemarker (6)
- 操作系统 windows (13)
- web页面 (6)
- jms (15)
- 调优 (4)
- 测试和bug管理 (2)
- 原理 (1)
- 項目-atf (17)
- 安全 (3)
- xml (4)
- 操作系统 liunx (21)
- 网络 (22)
- office (11)
- 设计 (2)
- 软件 (1)
- 数据库 mysql (6)
- 胖客户端-flex (1)
- 正则 (9)
- oracle- liunx (3)
- sql2000 (2)
- 模式 (1)
- 虚拟机 (2)
- jstl (2)
- 版本控制 打包工具 (0)
- AOP (1)
- demo (1)
- 小软件 (2)
- 感恩 (1)
- iphone 4 (1)
- 反欺诈业务经验整理 (0)
最新评论
-
sea0108:
mark
java内存模型 -
XingShiYiShi:
方便把:testPNR();具体实现发出来吗?谢谢
用正则表达式解析 航信的电子客票和pnr报文 -
wh359126613:
如果js和webservice不在同一个服务器上,有跨域问题如 ...
使用javascript调用webservice示例 -
雨飛雁舞:
...
oracle 动态性能(V$)视图 -
ouyang1224:
好东西
oracle 动态性能(V$)视图
Oracle Statspack 从Oracle8.1.6开始被引入Oracle,并马上成为DBA和Oracle专家用来诊断数据库性能的强有力的工具。
通过Statspack我们可以很容易的确定Oracle数据库的瓶颈所在,记录数据库性能状态,也可以使远程技术支持人员迅速了解你的数据库运行状况。
因此了解和使用Statspack对于DBA来说至关重要。
整理分析结果
可以通过各种工具建立图表,使我们收集的数据更直观,更有说服力。
以下是我给一个客户做的分析报告的实例。
1. 物理读写IO 操作:
观察物理IO 访问,可以看出数据库日常访问的峰值及繁忙程度。
脚本:此脚本按时间生成统计数据(注:以下示例以8i 为基础,SQL 脚本中引用的statistic#在不同
版本代表的意义可能不同,对于9i 等版本,你应该修改相应参数值)
select substr(to_char(snap_time,'yyyy-mm-dd HH24:MI:SS'),12), (newreads.value-oldreads.value) reads, (newwrites.value-oldwrites.value) writes from perfstat.stats$sysstat oldreads, perfstat.stats$sysstat newreads, perfstat.stats$sysstat oldwrites, perfstat.stats$sysstat newwrites, perfstat.stats$snapshot sn where newreads.snap_id = sn.snap_id and newwrites.snap_id = sn.snap_id and oldreads.snap_id = sn.snap_id-1 and oldwrites.snap_id = sn.snap_id-1 and oldreads.statistic# = 40 and newreads.statistic# = 40 and oldwrites.statistic# = 41 and newwrites.statistic# = 41 and (newreads.value-oldreads.value) > 0 and (newwrites.value-oldwrites.value) > 0
/
图表:
分析:
从趋势图中我们可以看出,数据库每日读操作较为平稳,数据量大约在4000 左右。在下午2 点到5 点期
间比较繁忙。峰值达到150000 左右。
数据库写操作变化也比较平稳,数据改变量在80000 左右,凌晨一点半到早晨8 点半左右数据库访问极少。
这是一个以写为主的数据库,我们需要更多注意的是写竞争。
2. Buffer 命中率
select substr(to_char(snap_time,'yyyy-mm-dd HH24:MI'),12), round(100 * (((a.value-e.value)+(b.value-f.value))-(c.value-g.value)) / ((a.value-e.value)+(b.value-f.value))) "BUFFER HIT RATIO" from perfstat.stats$sysstat a, perfstat.stats$sysstat b, perfstat.stats$sysstat c, perfstat.stats$sysstat d, perfstat.stats$sysstat e, perfstat.stats$sysstat f, perfstat.stats$sysstat g, perfstat.stats$snapshot sn where a.snap_id = sn.snap_id and b.snap_id = sn.snap_id and c.snap_id = sn.snap_id and d.snap_id = sn.snap_id and e.snap_id = sn.snap_id-1 and f.snap_id = sn.snap_id-1 and g.snap_id = sn.snap_id-1 and a.statistic# = 39 and e.statistic# = 39 and b.statistic# = 38 and f.statistic# = 38 and c.statistic# = 40 and g.statistic# = 40 and d.statistic# = 41
图表:
分析:
Buffer(buffer hit ratio)命中率是考察Oracle 数据库性能的重要指标,它代表在内存中找到需要数据的比
率,一般来说,如果该值小于90%,则可能说明数据库存在大量代价昂贵的IO 操作,数据库需要调整。
我们数据库的buffer 命中率几乎接近100%,最低值在95%左右,这个比率是比较优化的。
安装statspack
SQL>connect / as sysdba
SQL>@?/rdbms/admin/spcreate
卸载
SQL>connect / as sysdba
SQL>@?/rdbms/admin/spdrop
/*
收集信息前把timed_statistics = true;
alter system set timed_statistics = true;
*/
收集信息
SQL>connect perfstat/perfstat
SQL>execute statspack.snap;
自动收集
SQL>connect perfstat/perfstat
SQL>@?/rdbms/admin/spauto
删掉自动收集的job.
SQL>select * from user_jobs;
SQL>exec dbms_job.remove(JOB_ID)
/*
execute statspack.snap(i_snap_level=>10, i_modify_parameter=>'true');
Levels = 5 Additional data: SQL Statements
Levels = 6 This level includes all statistics gathered in the lower level(s).
Levels = 7 segments level statistics
Levels = 10 Additional statistics: Child latches
i_modify_parameter=>'true'/'false' 决定是否保存level 的值,下一次执行继续使用
*/
产生报告
SQL>conect perfstat/perfstat
SQL>@?/rdbms/admin/spreport
- oracle内存分配与调整.pdf (158.7 KB)
- 下载次数: 29
- statspack使用指南-v3.0.pdf (142 KB)
- 下载次数: 35
发表评论
-
并发行级锁超2秒报警监控sql
2010-07-20 16:18 1940并发行级锁超2秒报警监控sql -
数据设计规范v
2010-06-22 19:47 0数据设计规范v -
Oracle 有趣排序包括那些
2010-06-20 16:51 1454按拼音排序 select * from table ... -
Oracle sql 性能优化调整
2010-06-20 16:15 1398Oracle sql ... -
Delete、Drop、Truncate的比较(转)
2010-05-31 13:39 1478Delete、Drop、Truncate的比较 关键字: d ... -
Oracle误操作解决方案(转)
2010-05-31 13:35 1395Oracle误操作解决方案 文章分类:数据库 一.误删除数 ... -
一个递归调用的存储过程
2010-04-19 01:51 1851一个递归调用的存储过程 -
oracle index学习总结
2009-12-08 10:44 19634oracle index 1.index需要储存空间 ... -
Jdbc 和hibernate
2009-11-16 23:38 1877Jdbc 和hibernate 一、Jdbc是java ... -
去掉 powerDesigner 中表设计时的 name和code联动的功能
2009-11-16 17:04 3493去掉 powerDesigner 中表设计时的 name和co ... -
oracle数据库索引未被使用的问题及其解决2007
2009-11-15 01:42 2133一次,在进行WEB页面上进行历史数据文件检查时,发现数据库访问 ... -
RMAN配置及备份与恢复练习
2009-09-27 18:06 16271.创建表空间SQL>create tablespace ... -
误删除数据后怎么立即恢复(不考虑全库备份和利用归档日志)
2009-09-27 18:01 3386要达到删除数据,有以下几种方式都可以:1、delete2、dr ... -
IMP数据到指定的表空间
2009-09-27 12:47 9106IMP数据到指定的表空间 一直以来,我都认为只要指定用户的默 ... -
ORACLE UPDATE 语句语法与性能分析
2009-09-27 09:49 1882为了方便起见,建立了以下简单模型,和构造了部分测试数据: 在 ... -
oracle job 例子
2009-09-22 12:38 3067一、设置初始化参 ... -
oracle 时间加减综合
2009-09-17 11:43 1983加法 select sysdate,add_mon ... -
详细介绍ORACLE sqlplus命令
2009-09-09 16:42 2064一、ORACLE的启动和关闭1、在单机环境下要想启动或关闭OR ... -
AWR介绍与SYSAUX空间关系 SYASAUX表空间满了 系统慢
2009-09-08 09:45 7962AWR介绍与SYSAUX空间关系 2007-11-05 14 ... -
to_char 'NLS_DATE_LANGUAG参数
2009-09-02 18:41 1484select to_char(sysdate, 'Day'), ...
相关推荐
Oracle Statspack 是一款强大的性能分析工具,主要用于诊断和优化Oracle数据库的性能。它提供了一种高效的方法来收集和分析数据库的运行时统计信息,帮助DBA(数据库管理员)理解和改进数据库的性能。以下是对...
在此期间,它们成为帮助诊断数据库性能问题的常用工具。这些脚本简单易用,并且由于它们与服务器一同发布,因此每个站点都可以使用。然而,BSTAT/ESTAT也存在一些局限性:每次运行后都会生成报告并删除用于收集数据...
Statspack是Oracle提供的一种性能分析工具,它可以帮助DBA(数据库管理员)诊断和优化数据库的性能问题。本篇文章将详细探讨Oracle数据库与Statspack之间的关系,以及如何利用Statspack进行高性能调整。 首先,咱们...
- **AWR(Automatic Workload Repository)报告**:提供了数据库实例级别的性能数据,包括等待事件、统计信息等。 - **SQL Trace和Statspack**:用于跟踪特定会话或SQL语句的执行情况,帮助定位性能问题。 - **...
在处理Oracle数据库的性能问题时,AWR(Automatic Workload Repository)报告是诊断问题的关键工具。AWR报告能提供数据库在特定时间段内的性能数据和历史趋势信息,帮助数据库管理员快速定位性能瓶颈和问题所在。 #...
Statspack是Oracle数据库性能监控和诊断的有力工具,它通过收集和分析数据库实例的统计信息,帮助DBA(数据库管理员)定位和解决性能瓶颈。Statspack报告提供了关于数据库运行状态的深入洞察,包括缓存使用情况、...
6. Oracle 10g进一步完善了调优实践,引入了基于数据库自动化的优化机制,并通过内置的自动工作负载信息库(AWR)、活动会话历史(ASH)和自动数据库诊断监视器(ADDM)等工具来实现更广泛、更层次化的性能数据收集...
Oracle数据库性能诊断是一个复杂的过程,而Automatic Workload Repository (AWR)报告是此过程中不可或缺的工具。AWR报告提供了一种全面的方式来分析数据库的性能,包括活动、等待事件、资源利用率等方面,帮助管理员...
STATSPACK是Oracle数据库早期的一个性能分析工具,它提供了全面的诊断数据,帮助DBA(数据库管理员)识别性能瓶颈并进行针对性的调整。 1. **STATSPACK基础**: - STATSPACK是一种历史性能数据收集工具,它通过...
Statspack是Oracle提供的一个免费工具,可以帮助我们收集数据库性能信息,并生成报告。具体建议如下: - 定期捕获快照,以便比较不同时间点的性能差异。 - 分析等待事件,找出性能瓶颈所在。 - 关注系统和会话级别的...
RAC(Real Application Clusters)是Oracle提供的一种高可用性和高性能的解决方案,它允许多个数据库实例同时访问一个共享的数据集。为了确保RAC环境下的数据库能够高效运行,需要针对RAC的特点进行专门的性能优化。...
2. **Statspack表**:用于存储Statspack收集的数据,包括数据库实例的活动历史、等待事件、SQL语句执行情况等信息。 3. **快照机制**:Statspack通过定期创建快照来捕捉数据库的实时状态,这些快照提供了数据库性能...
Oracle Statspack是一个用于收集和报告Oracle数据库性能统计信息的工具,它提供了一种方法来监控、分析和诊断数据库性能问题。从给定的文件内容中,我们可以提取出许多关于如何解读和分析STATSPACK报告的知识点。 ...
在管理和优化Oracle数据库时,了解常见的等待事件至关重要,因为它们可以帮助我们诊断和解决性能问题。以下是对Oracle数据库中几个重要等待事件的详细解释: 1. **Buffer Busy Waits** 此等待事件表明一个会话...
Oracle数据库性能优化是一个复杂而细致的过程,涉及数据库设计、SQL语句优化、实例配置等多个方面。通过对上述知识点的深入理解和实践,可以显著提升数据库的响应速度和稳定性,为企业级应用提供更加可靠、高效的...
Statspack,自Oracle 8.1.6版本引入以来,迅速成为数据库管理员(DBA)和Oracle专家诊断数据库性能问题的强大工具。通过Statspack,用户不仅能够轻松识别Oracle数据库的性能瓶颈,记录性能状态,还能使远程技术支持...
6. 监控和诊断工具:了解并熟练使用Oracle提供的监控和诊断工具,如AWR报告、Statspack报告、Automatic Workload Repository(AWR)和Active Session History(ASH)是十分重要的。 7. 定期维护:定期执行数据库...