DBA手记:OEM罪几何?-空间监控的性能问题

在某金融行业用户的ERP数据库中,一个小时的采样报告,位于Elapsed Time消耗排行第二位的SQL消耗了19.41%的DB Time,该SQL同样是OEM发出来的,其SQL

Module是Oracle

Enterprise Manager.Metric Engine,这个SQL每次执行需要245.77秒的时间,是极其缓慢的,数据库环境是Oracle Database

10g 10.2.0.4版本:

该SQL的文本内容是:

insert into mgmt_db_size_gtt

select tablespace_name, NVL(sum(bytes) / 1048576, 0) sz

from sys.dba_free_space

group by tablespace_name

这显然是通过dba_free_space来计算各表空间的Free空间,这个SQL同样是OEM发出的,其执行计划可以通过AWR获得:

SQL> select *

from table(dbms_xplan.display_awr('4d6m2q3ngjcv9'));

insert into

mgmt_db_size_gttselecttablespace_name,NVL(sum(bytes)/1048576, 0)

sz

from

sys.dba_free_spacegroup by

tablespace_name

Plan hash value: 2413628916

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

| Id| Operation| Name| Rows| Bytes | Cost|

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

|0 | INSERT STATEMENT||||82 |

|1 |SORT GROUP BY||189 |5670 |82 |

|2 |VIEW|

DBA_FREE_SPACE|189 |5670 |35 |

|3 |UNION-ALL|||| |

|4 |NESTED LOOPS||68 |2584 |6 |

|5 |NESTED LOOPS||68 |2176 |6 |

|6 |TABLE ACCESS FULL| TS$|1 |23 |5 |

|7 |TABLE ACCESS CLUSTER| FET$|136 |1224 |1 |

|8 |INDEX UNIQUE SCAN|

I_FILE2|1 |6 ||

|9 |NESTED LOOPS||119 |5355 |6 |

|10 |NESTED LOOPS||119 |4641 |6 |

|11 |TABLE ACCESS FULL| TS$|19 |551 |5 |

|12 |FIXED TABLE FIXED INDEX| X$KTFBFE (ind:1)

|6 |60 |1 |

|13 |INDEX UNIQUE SCAN|

I_FILE2|1 |6 ||

|14 |NESTED LOOPS||1 |126 |20 |

|15 |NESTED LOOPS||1 |120 |20 |

|16 |NESTED LOOPS||1 |68 |3 |

|17 |TABLE ACCESS FULL| RECYCLEBIN$|1 |39 |2 |

|18 |TABLE ACCESS CLUSTER| TS$|1 |29 |1 |

|19 |INDEX UNIQUE SCAN| I_TS#|1 |||

|20 |FIXED TABLE FIXED INDEX| X$KTFBUE

(ind:1) |100 |5200 |17 |

|21 |INDEX UNIQUE SCAN| I_FILE2|1 |6 ||

|22 |NESTED LOOPS||1 |81 |3 |

|23 |NESTED LOOPS||1 |58 |2 |

|24 |NESTED LOOPS||1 |52 |2 |

|25 |TABLE ACCESS FULL| RECYCLEBIN$|1 |39 |2 |

|26 |TABLE ACCESS CLUSTER| UET$|1 |13 ||

|27 |INDEX UNIQUE SCAN| I_FILE#_BLOCK#|1 |||

|28 |INDEX UNIQUE SCAN| I_FILE2|1 |6 ||

|29 |TABLE ACCESS CLUSTER| TS$|1 |23 |1 |

|30 |INDEX UNIQUE SCAN| I_TS#|1 |||

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

通过执行计划可以看到,在Oracle

Database 10g引入了回收站功能后,会将回收站(RECYCLEBIN$)中的空间计算为自由空间,加入到dba_free_space字典中。

如果数据库中存在大量的回收站对象,则这部分回收站空间的计算将会极为耗时,在这个数据库环境中,共有5万多个回收站对象:

SQL> select

count(*) from RECYCLEBIN$;

COUNT(*)

----------

51986

清理这些回收站对象可以大幅提升这个SQL查询的性能,在OEM中禁用这个Metric监控则可以彻底去除这个SQL访问。

在SQL报告中,显示了该SQL如下的详细信息:

在$ORACLE_HOME/rdbms/admin/catspace.sql脚本中,可以找到创建DBA_FREE_SPACE视图的脚本:

create or replace

view DBA_FREE_SPACE

(TABLESPACE_NAME, FILE_ID, BLOCK_ID,BYTES,

BLOCKS, RELATIVE_FNO)

as

select ts.name,

fi.file#, f.block#, f.length * ts.blocksize, f.length, f.file#

from sys.ts$ ts,

sys.fet$ f, sys.file$ fi

where ts.ts# = f.ts#

and f.ts# = fi.ts# and f.file# = fi.relfile# and ts.bitmapped = 0

union all

select/*+ ordered use_nl(f) use_nl(fi) */ ts.name, fi.file#, f.ktfbfebno,

f.ktfbfeblks * ts.blocksize,

f.ktfbfeblks, f.ktfbfefno

from sys.ts$ ts,

sys.x$ktfbfe f, sys.file$ fi

where ts.ts# =

f.ktfbfetsn and f.ktfbfetsn = fi.ts# and f.ktfbfefno = fi.relfile#

and ts.bitmapped <> 0 and ts.online$ in

(1,4) and ts.contents$ = 0

union all

select /*+ ordered use_nl(u) use_nl(fi) */ ts.name,

fi.file#, u.ktfbuebno,

u.ktfbueblks * ts.blocksize,

u.ktfbueblks, u.ktfbuefno

from sys.recyclebin$ rb, sys.ts$ ts,

sys.x$ktfbue u, sys.file$ fi

where ts.ts# =

rb.ts# and rb.ts# = fi.ts# and u.ktfbuefno = fi.relfile#

and u.ktfbuesegtsn = rb.ts# and

u.ktfbuesegfno = rb.file# and u.ktfbuesegbno = rb.block#

and ts.bitmapped <> 0 and ts.online$ in

(1,4) and ts.contents$ = 0

union all

select ts.name,

fi.file#, u.block#,u.length * ts.blocksize, u.length, u.file#

from sys.ts$ ts,

sys.uet$ u, sys.file$ fi, sys.recyclebin$

rb

where ts.ts# = u.ts#

and u.ts# = fi.ts# and u.segfile# = fi.relfile#

and u.ts# = rb.ts# and u.segfile# = rb.file#

and u.segblock# = rb.block# and ts.bitmapped

= 0

/

以上脚本中,后面两个UNION

ALL查询块是Oracle 10g引入的,并且为了修正这个视图带来的Bug,Oracle一直不停的在改进视图语句。注意视图中Hints的制定对于执行计划的强制影响。

我们要时刻牢记的是:当Oracle引入了某个新功能之后,同时也会引入很多问题,所以在使用新功能、新特性时要加强监控,及时发现和解决可能出现的问题。

By eygle on 2011-02-21 08:30 |

Comments (2) |

Case | 2731 |

2 Comments

曾经,我说的是曾经。

一套跑在p595满配上的10g rac系统

因为有了GC来监控,直接宕机

从此以后,所有的服务器上不准用GC

oracle oem 监控,DBA手记:OEM罪几何?-空间监控的性能问题相关推荐

  1. oracle系列(六)OEM与常见故障处理

    博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! 前言:oracle除了使用命令操作以外, ...

  2. linux安装12c oem,OEM12C(12.1.0.5)安装插件监控mysql(linux)

    目录结构: 环境说明: oms:12.1.0.5  os:centos 6.X MYSQL: 5.7.21  OS:centos 7.X 一.安装插件mysql database 下载地址: http ...

  3. Oracle图形化管理工具——OEM

    Oracle图形化管理工具--OEM 在工作中 由于切换数据库服务器 ,由于服务器性能较低,想着调整sql,这时候就考虑使用oracle 管理工具来监控sql 参考博客: https://blog.c ...

  4. oracle漏洞pdf,Oracle DBA手记 4 数据安全警示录 pdf完整扫描版版

    <oracle dba手记4:数据安全警示录>以数据安全为主线将众多灾难挽救过程串联在一起,不仅对各个案例的发生过程进行了详细描述,更 为读者提供了具体的规避法则.其间穿插介绍了很多新鲜的 ...

  5. Oracle DBA手记4:数据安全警示录

    Oracle DBA手记4:数据安全警示录 盖国强 著 ISBN978-7-121-17206-9 2012年7月出版 定价:65.00元 16开 404页 宣传语 灾难与拯救 全真全程商业案例! 内 ...

  6. Oracle DBA手记4 数据安全警示录

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Orac ...

  7. 【资源下载】《Oracle DBA手记》第1篇:DBA工作手记

    <Oracle DBA手记>一书共包括四篇内容: 第1篇 DBA工作手记 第2篇 诊断案例篇 第3篇 SQL调优篇 第4篇 性能优化篇 现向大家开源<第1篇 DBA工作手记内容> ...

  8. oracle智能纠错,《Oracle DBA手记》一书勘误表

    <Oracle DBA手记>一书勘误表 要知道错误总是难免的,<Oracle DBA手记>一书的勘误表我将整理记录如下,并向读者们致以歉意.怎样的检查都是难免有疏忽,有些可以理 ...

  9. oracle+dba手记+下载,开工贺礼:Oracle DBA手记第一部开放下载

    在2016新一年工作开始之际,我整理了一下,将<Oracle DBA手记>第一部完整发布出来,供大家学习参考,祝大家 2016学业进步,健康平安,事业工作更上一层楼. 这本书发布之初,我写 ...

最新文章

  1. LSTM情感分类问题再战
  2. 42.移动构造函数的合成规则
  3. 45.Keepalived高可用群集
  4. 6种CSS控制元素上下居中效果
  5. POJ - 2480 Longge's problem(欧拉函数+唯一分解定理)
  6. 在java中构建高效的结果缓存
  7. oracle   SQL执行过程
  8. 泰安虚拟服务器怎么样,泰安S5353:搭建您最满意的服务器
  9. opencv历史代码下载
  10. OpenCascade一些常用的API
  11. java使用百度翻译接口实现前后端翻译功能
  12. 设置IDEA的护眼插件
  13. 数学中的圆周率符号怎么输入
  14. java comp env_Java:comp/env/讲解与JNDI(转)
  15. samtools faidx输出的fai文件格式解析 | fasta转bed | fasta to bed
  16. Google Play Academy 组队 PK 赛,正式开赛!
  17. xmind 8破解方法
  18. NLP自然语言处理实战(一):利用分词器构建词汇表
  19. 数据结构之有效的括号
  20. Activity毛玻璃背景效果

热门文章

  1. 关于投稿 LaTeX 的使用
  2. 博士申请 | 香港科技大学陈浩教授招收AI医疗方向全奖博士/博后/实习生
  3. 北京/杭州 | 阿里巴巴达摩院自然语言智能生物医学团队招聘研究型实习生
  4. 半监督学习技术在金融文本分类上的实践
  5. CVPR 2019 开源论文 | 基于翻译向量的图像翻译
  6. 136个Python 机器学习知识点让你受益终生!
  7. 从贝叶斯理论到马尔可夫随机场(MRF)--以图像分割为例
  8. python pandas.DataFrame选取、修改数据
  9. pyqt 事件更新图片显示_使用PyQTamp;树莓派制作一个天气站
  10. 计算机操作系统还能这样玩?这一篇计算机操作系统的总结为你保驾护航(零风险、高质量、万字长文、建议收藏)