【DB筆試面試824】在Oracle中,什麼是ADDM?程序員
ADDM(Automatic Database Diagnostic Monitor,數據庫自動診斷監視工具)是植入Oracle數據庫的一個自我診斷引擎。ADDM經過檢查和分析AWR獲取的數據來判斷Oracle數據庫中可能的問題。例如,系統資源緊張,出現了明顯的性能問題,根據以往的辦法,收集一份AWR報告,發現「db file scattered read」事件在top 5 events裏面。根據經驗,這個事件通常多是由於缺乏索引、統計分析信息不夠新、熱表都放在一個數據文件上致使I/O爭用等引發的。根據這些經驗,須要逐個定位排除,例如查看語句的執行計劃、查看USER_TABLES的LAST_ANALYSED字段、檢查熱塊等等步驟來最後定位出緣由,並給出優化建議,可是如今能夠根據ADDM採集到的數據直接給出優化建議,甚至給出優化後的語句。面試
與其它指導不一樣,ADDM在記錄每一個AWR快照以後會自動運行。每次記錄快照後,ADDM會分析與後兩個快照對應的時段。ADDM會預先監視實例,以便在大多數瓶頸問題成爲嚴重問題以前檢測到這些問題。多數狀況下,ADDM會爲檢測到的問題提供建議解決方案,甚至能夠量化這些建議的優點。數據庫
ADDM能發現定位的問題包括如下內容:微信
l 操做系統內存診斷網絡
l 因爲Oracle負載和非Oracle負載致使的CPU瓶頸問題併發
l 致使不一樣資源負載的Top SQL語句和對象——CPU消耗、I/O帶寬佔用、潛在I/O問題、RAC內部通信繁忙app
l 按照PL/SQL和Java執行時間找出Top SQL語句ide
l 過多的鏈接(LOGIN/LOGOFF)工具
l 過多硬解析問題——因爲Shared Pool太小、書寫問題、綁定大小不適應、解析失敗緣由引發的性能
l 過多軟解析問題
l 索引查詢過多致使資源爭用
l 因爲用戶鎖致使的過多的等待時間(經過包DBMS_LOCK加的鎖)
l 因爲DML鎖致使的過多的等待時間
l 因爲管道輸出致使的過多等待時間(例如經過包DBMS_PIPE.PUT進行管道輸出)
l 因爲併發更新同一個記錄致使的過多等待時間(行級鎖等待)
l 因爲ITL不夠致使的過多等待時間(大量的事務操做同一個數據塊)
l 系統中過多的COMMIT和ROLLBACK(logfile sync事件)
l 因爲磁盤帶寬過小和其它潛在問題(例如因爲LOGFILE過小致使過多的CHECKPOINT,MTTR設置問題,過多的Undo操做等等)致使的I/O性能問題
l 對於DBWn進程寫數據塊,磁盤I/O吞吐量不足
l 因爲歸檔進程沒法跟上Redo日誌產生的速度,致使系統變慢
l Redo數據文件過小致使的問題
l 因爲擴展磁盤分配致使的爭用
l 因爲移動一個對象的高水位致使的爭用問題
l 內存過小問題——SGA_TARGET、PGA、Buffer Cache、Shared Pool
l 在一個實例或者一個集羣環境中存在頻繁讀寫爭用的熱塊或熱對象
l RAC環境中內部通信問題
l LMS進程沒法跟上致使鎖請求阻塞
l 在RAC環境中因爲阻塞和爭用致使的實例傾斜
l RMAN致使的I/O和CPU問題
l STREAMS和AQ問題
l 資源管理等待事件
總之,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羣:23016159九、618766405
● 微信:lhrbestxh
● 微信公衆號:DB寶
● 提供Oracle OCP、OCM、高可用(rac+dg+ogg)和MySQL最實用的技能培訓
● 題目解答如有不當之處,還望各位朋友批評指正,共同進步
長按下圖識別二維碼或微信掃描下圖二維碼來關注小麥苗的微信公衆號:DB寶,學習最實用的數據庫技術。
本文分享自微信公衆號 - DB寶(lhrdba)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。