题目         部分

【DB笔试面试824】在Oracle中,什么是ADDM?


     




         答案部分          



ADDMAutomatic Database Diagnostic Monitor,数据库自动诊断监视工具)是植入Oracle数据库的一个自诊断引擎ADDM通过检查和分析AWR获取的数据来判断Oracle数据库中可能的问题。例如,系统资源紧张,出现了明显的性能问题,根据以往的办法,收集一AWR报告,发现“db file scattered read”事件在top 5 events里面。根据经验,这个事件一般可能是因为缺少索引、统计分析信息不够新、热表都放在一个数据文件上导致I/O争用等引起的。根据这些经验,需要逐个定位排除,例如查看语句的执行计划、查看USER_TABLESLAST_ANALYSED字段检查热块等等步骤来最后定位出原因,并给出优化建议但是现在可以根据ADDM采集到的数据直接给出优化建议,甚至给出优化后的语句。

与其它指导不同,ADDM在记录每个AWR快照之后会自动运行。每次记录快照后,ADDM会分析与后两个快照对应的时段。ADDM会预先监视实例,以便在大多数瓶颈问题成为严重问题之前检测到这些问题。多数情况下,ADDM会为检测到的问题提供建议解决方案,甚至可以量化这些建议的优势。

ADDM能发现定位的问题包括以下内容

操作系统内存诊断

由于Oracle负载和非Oracle负载导致的CPU瓶颈问题

导致不同资源负载的Top SQL语句和对象——CPU消耗、I/O带宽占用、潜在I/O问题、RAC内部通讯繁忙

按照PL/SQLJava执行时间找出Top SQL语句

过多的连接(LOGIN/LOGOFF

过多硬解析问题——由于Shared Pool过小、书写问题、绑定大小不适应、解析失败原因引起的

过多软解析问题

索引查询过多导致资源争用

由于用户锁导致的过多的等待时间(通过包DBMS_LOCK加的锁)

由于DML锁导致的过多的等待时间

由于管道输出导致的过多等待时间(例如通过包DBMS_PIPE.PUT进行管道输出)

由于并发更新同一个记录导致的过多等待时间行级锁等待

由于ITL不够导致的过多等待时间(大量的事务操作同一个数据块)

系统中过多的COMMITROLLBACKlogfile sync事件)

由于磁盘带宽太小和其它潜在问题(例如由于LOGFILE太小导致过多的CHECKPOINTMTTR设置问题,过多的Undo操作等等)导致的I/O性能问题

对于DBWn进程写数据块,磁盘I/O吞吐量不足

由于归档进程无法跟上Redo日志产生的速度,导致系统变慢

Redo数据文件太小导致的问题

由于扩展磁盘分配导致的争用

由于移动一个对象的高水位导致的争用问题

内存太小问题——SGA_TARGETPGABuffer CacheShared Pool

在一个实例或者一个集群环境中存在频繁读写争用的热块或热对象

RAC环境中内部通讯问题

LMS进程无法跟上导致锁请求阻塞

RAC环境中由于阻塞和争用导致的实例倾斜

RMAN导致的I/OCPU问题

STREAMSAQ问题

资源管理等待事件

总之,ADDM提供了一个整体的优化方案基于一段时间内的AWR快照(默认一小时一次)可以执行ADDM分析,它可以帮助诊断在这段期间内数据库可能存在的瓶颈。


本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗


================================================================================================================== 【干货来了|小麦苗IT资料分享】★小麦苗DB职场干货:https://mp.weixin.qq.com/s/Vm5PqNcDcITkOr9cQg6T7w★小麦苗数据库健康检查:https://share.weiyun.com/5lb2U2M★小麦苗微店:https://weidian.com/?userid=793741433★各种操作系统下的数据库安装文件(Linux、Windows、AIX等):https://pan.baidu.com/s/1hqff3Evv6oj2-Tn87MpFkQ★小麦苗分享的资料:https://share.weiyun.com/57HUxNi★小麦苗课堂资料:https://share.weiyun.com/5fAdN5m★小麦苗课堂试听资料:https://share.weiyun.com/5HnQEuL★小麦苗出版的相关书籍:https://share.weiyun.com/5sQBQpY★小麦苗博客文章:https://share.weiyun.com/5ufi4Dx★数据库系列(Oracle、MySQL、NoSQL):https://share.weiyun.com/5n1u8gv★公开课录像文件:https://share.weiyun.com/5yd7ukG★其它常用软件分享:https://share.weiyun.com/53BlaHX★其它IT资料(OS、网络、存储等):https://share.weiyun.com/5Mn6ESi★Python资料:https://share.weiyun.com/5iuQ2Fn★已安装配置好的虚拟机:https://share.weiyun.com/5E8pxvT★小麦苗腾讯课堂:https://lhr.ke.qq.com/★小麦苗博客:http://blog.itpub.net/26736162/★OCP培训:https://mp.weixin.qq.com/s/2cymJ4xiBPtTaHu16HkiuA★12c的OCP培训:https://mp.weixin.qq.com/s/hMLHlyjMHhLmA0xN4hLvfw★OCM培训:https://mp.weixin.qq.com/s/7-R6Cz8RcJKduVv6YlAxJA★高可用(RAC+DG+OGG)培训:https://mp.weixin.qq.com/s/4vf042CnOdAD8zDyjUueiw★小麦苗课堂腾讯视频:http://v.qq.com/vplus/71f69a319a24c6808cd6e6189ae90664
==================================================================================================================
 

 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用

● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/

 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

 版权所有,欢迎分享本文,转载请保留出处

 QQ:646634621  QQ群:230161599、618766405

 微信:lhrbestxh

 微信公众号:DB宝

 提供Oracle OCP、OCM、高可用(rac+dg+ogg)和MySQL最实用的技能培训

● 题目解答若有不当之处,还望各位朋友批评指正,共同进步

长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:DB宝,学习最实用的数据库技术。


本文分享自微信公众号 - DB宝(lhrdba)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

©著作权归作者所有:来自51CTO博客作者小麦苗DB宝的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 【DB笔试面试108】在Oracle中,sqldlr true 。。。SQL*Loader util
  2. 【DB笔试面试385】Oracle的锁分为哪几种?每种锁各有什么用途?它们
  3. 【DB笔试面试821】在Oracle中,如何定时生成AWR报告?
  4. 【DB笔试面试702】在Oracle中,如何定时清理INACTIVE状态的会话?
  5. 【DB笔试面试678】在Oracle中,什么是热块?
  6. 【DB笔试面试716】在Oracle中,集群有哪几种心跳机制?
  7. 【DB笔试面试697】在Oracle中,V$SESSION视图中有哪些比较实用的列
  8. 【DB笔试面试689】在Oracle中,如何收集systemdump?如何收集hangana
  9. 【DB笔试面试703】在Oracle中,怎么杀掉特定的数据库会话?

随机推荐

  1. 分析PHP中PHPMailer如何发邮件
  2. 案例分析PHP Web表单生成器
  3. php获取当前时间戳、日期并精确到毫秒(三
  4. PHP使用POP3读取邮箱接收邮件的实例解析
  5. 详解之php反序列化
  6. 教你用php将二维码和文字结合到一个背景
  7. 两分钟带你了解PHP中的运算符
  8. 2021最常用的8个代码编辑器推荐
  9. PHP方法处理微信昵称特殊符号过滤
  10. 推荐给初学者必看的PHP书籍