运行数据库statspack一天分析(备忘)
来源:互联网 发布:生物为什么要繁衍 知乎 编辑:程序博客网 时间:2024/06/03 05:57
数据库大小3.26TB,RAC IBM P690,忘记copy该报表的头了:(
statspack一天分析
第一项 work load
Load Profile
~~~~~~~~~~~~ Per Second Per Transaction
--------------- ---------------
Redo size: 633,097.62 4,579.16
Logical reads: 152,840.78 1,105.49
Block changes: 3,837.74 27.76
Physical reads: 5,644.98 40.83
Physical writes: 216.61 1.57
User calls: 1,950.98 14.11
Parses: 899.92 6.51
Hard parses: 5.45 0.04
Sorts: 254.00 1.84
Logons: 5.93 0.04
Executes: 1,616.24 11.69
Transactions: 138.26
% Blocks changed per Read: 2.51 Recursive Call %: 20.05
Rollback per transaction %: 2.60 Rows per Sort: 23.04
对比了一个星期的数据库的statspace报告,发现work load很平稳,每天各项指标变化幅度很小,因此选用了13日的进行分析
上面几项指标对性能有参考价值的为:
逻辑读和物理读的对比:152840.78/5644.98=27意味着每27个block中有一个需要从磁盘读取, ok
编译和硬编译对比:899.92/5.45=165.12意味着每165次编译sql中只有一次是硬编译 ok
% Blocks changed per Read:2.5表示每100个block读入数据库其中只有2.5个block发生变化 ok
Recursive Call %:20.05 表示用于管理空间回收释放和其他的数据字典管理的调用(也包含pl-sql)占20% ok
Rollback per transaction %:2.60表示100个事务有2个回滚 ok
其他各项标志着数据库的工作量情况,代表着业务量和机器的繁忙程度。
psdb1实例的效率分析
Instance Efficiency Percentages (Target 100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Buffer Nowait %: 99.96 Redo NoWait %: 100.00
Buffer Hit %: 96.33 In-memory Sort %: 100.00
Library Hit %: 99.61 Soft Parse %: 99.39
Execute to Parse %: 44.32 Latch Hit %: 101.21
Parse CPU to Parse Elapsd %: 91.90 % Non-Parse CPU: 99.11
所有指标都很让人满意,综合对比了一个星期的数值,都很稳定在90%以上
Execute to Parse %:44.32该项指标表示一个sql执行次数和编译该sql的次数的百分比,和应用是密切相关的。
一个sql被编译然后被执行,之后永远不被执行,该项指标就会为0。tom解释说该值低跟应用的本身情况相关。
就我们自身的系统,还有部分程序没有使用绑定变量。
select substrb(sql_text,1,120),count(1) from v$sqlarea group by substrb(sql_text,1,120) having count(1)>100 order by count(1) desc;
从上面sql可以看到有些sql前120个字节完全相同的sql在内存中有2万多和1万多,增加了share pool的开销
SELECT A.hxd_no,A.wgj_state,A.hg_state,A.deal_state,A.provide_date FROM CUR_HXD_DATA A, cur_gpe_head B WHERE b.appr_no = 20732
SELECT A.seq_no,A.hxd_no,A.wgj_code,A.ENT_CODE,A.wgj_state,A.reason_code,A.provide_date,A.provide_name,A.oper_date,A.ope 12237
SELECT A.hxd_no,A.wgj_state,A.hg_state,A.deal_state,A.port_code FROM CUR_HXD_DATA A WHERE A.wgj_state='0' and a.hg_state 5757
SELECT A.SEQ_NO,A.PRE_ENTRY_ID,A.TRADE_CODE,A.STATE,A.ENT_CODE,A.MOD_NUM FROM CUR_GPI_STATE A WHERE (A.state in ('0000', 1995
SELECT B.seq_no,B.APPLY_DATE,B.APPLY_IC_CARD,B.ENT_CODE,B.HXD_NUM FROM CUR_RAS_ENT_OPER_INFO A,pre_hxd_apply B WHERE A.S 1914
SELECT hxd_no,wgj_state,hg_state,deal_state,port_code FROM CUR_HXD_DATA A WHERE A.wgj_state='0' and a.hg_state='0' and a 1408
SELECT DISTINCT A.SEQ_NO,A.ENTRY_ID,A.AGENT_CODE,A.I_E_DATE FROM PRE_E_STAT A,PRE_E_SIGN B WHERE A.SEQ_NO=B.SEQ_NO AND ( 1393
SELECT DISTINCT A.SEQ_NO,A.ENTRY_ID,A.AGENT_CODE,A.I_E_DATE FROM PRE_I_STAT A,PRE_I_SIGN B WHERE A.SEQ_NO=B.SEQ_NO AND ( 1069
psdb1共享池效率分析
Shared Pool Statistics Begin End
------ ------
Memory Usage %: 92.08 91.76
% SQL with executions>1: 35.25 35.84
% Memory for SQL w/exec>1: 31.44 32.03
Memory Usage %oracle建议该项指标在70%到90%超过90%则有可能被age out,鉴于一个星期内该项指标一直稳定保持在90%左右认为ok
% SQL with executions>1: 35.25表示sql语句的执行次数大于一次的占到35%,这是由于没有使用绑定变量造成
% Memory for SQL w/exec表示执行次数大于1的sql在内存中占用的比例,同上。
Top 5 Timed Events
~~~~~~~~~~~~~~~~~~ % Total
Event Waits Time (s) Ela Time
-------------------------------------------- ------------ ----------- --------
CPU time 161,671 41.93
db file sequential read 38,235,522 149,108 38.67
db file scattered read 10,003,053 32,606 8.46
global cache cr request 92,213,834 13,939 3.62
db file parallel read 1,377,844 11,265 2.92
CPU time不属于等待事件
db file sequential read 表示读索引所引起的等待,占38% 说明我们的系统索引的使用率很高,good
db file scattered read 表示全表扫描所引起的等待占8%也可以令人满意/
global cache cr request 表示2个节点之间使用全局cache所引起的通信等待,ok
db file parallel read 表示恢复或者预读buffer时发生的等待, ok
- 运行数据库statspack一天分析(备忘)
- 使用STATSPACK调整数据库性能(一)
- statspack report分析
- statspack report分析(二)
- oracle statspack 分析
- statspack性能报告——分析(2)!
- Statspack分析报告详解(转)
- oracle高手帮忙分析Statspack.
- Statspack 报告的分析经验
- 利用statspack收集数据库信息
- Statspack
- statspack
- Statspack
- STATSPACK
- statspack
- statspack
- ORACLE连接数据库(备忘)
- statspack安装使用 和 report 分析 (转自tianlesoftware的博客)
- Weblogic & Oracle体系结构与技术要点
- 重读《Essential C++》心得
- 对XML文档操作的通用CRUD(JDOM版)
- 测试Java代码的执行时间
- 用C#建立通用对象池[2]
- 运行数据库statspack一天分析(备忘)
- 源码公开的TCP/IP协议栈在远程监测中的应用
- 十年MFC经历认识的Microsoft技术(zz)
- windows下快速安装可以通过http和https访问的subversion服务器
- 绝不妥协
- dbms_resumable
- 丢了就再也找不回来了!
- 求助Delphi的入门教程
- 道听途说来的