Oracle10g的ASH及歷史資訊記錄
效能調整和問題診斷是任何資料庫管理人員必須面臨的最大挑戰和必須完成的重要管理任務。基於管理上的簡化和易用性的努力,Oracle推出了Autometic Database Diagnostic Monitor (ADDM) ,通過ADDM,Oracle試圖使資料庫的維護工作變得更簡單更容易。
AWR是新的管理體系結構的中心元素,它為了發現問題和自我調整,為oracle內部服務元件提供了採集,處理,維護和訪問效能統計資料.
AWR每60分鐘就進行一次快照,所以最近的一次快照可能在一小時之前,這樣AWR就沒有足夠的資訊來進行當前的分析.典型的情況下,當前的分析需要最近的五到十分鐘的詳細資訊.ASH(Active Session History)因此被引入用以保留最近的會話活動的歷史資訊.
因為記錄會話的活動是非常昂貴的,ASH每秒取樣V$session,記錄會話等待的事件.不活動的會話不會被取樣.這個取樣工具是非常有效的,因為它直接訪問oracle10g內部結構.
ASH設計為在記憶體中的滾動的,在需要的時候早期的資訊是會被覆蓋的.ASH可以通過v$active_session_history檢視來訪問.這個例項每個樣本的每個活動會話有一行.
由於資料量巨大,把所有的ASH資料寫到磁碟上是不可接受的。一般是在寫到磁碟的時候過濾這個資料。這是通過MMON和MMNL自動完成的。
注意,ASH buffers的大小按照以下演算法分配:
Min(shared_pool_size*5%,2M*cpu_count)
根據這個演算法,系統分配的ASH Buffers為6M.
AWR是新的管理體系結構的中心元素,它為了發現問題和自我調整,為oracle內部服務元件提供了採集,處理,維護和訪問效能統計資料.
AWR每60分鐘就進行一次快照,所以最近的一次快照可能在一小時之前,這樣AWR就沒有足夠的資訊來進行當前的分析.典型的情況下,當前的分析需要最近的五到十分鐘的詳細資訊.ASH(Active Session History)因此被引入用以保留最近的會話活動的歷史資訊.
因為記錄會話的活動是非常昂貴的,ASH每秒取樣V$session,記錄會話等待的事件.不活動的會話不會被取樣.這個取樣工具是非常有效的,因為它直接訪問oracle10g內部結構.
ASH設計為在記憶體中的滾動的,在需要的時候早期的資訊是會被覆蓋的.ASH可以通過v$active_session_history檢視來訪問.這個例項每個樣本的每個活動會話有一行.
由於資料量巨大,把所有的ASH資料寫到磁碟上是不可接受的。一般是在寫到磁碟的時候過濾這個資料。這是通過MMON和MMNL自動完成的。
SQL> select * from v$sgastat where name like '%ASH%'; POOL NAME BYTES ------------ -------------------------- ---------- shared pool ASH buffers 6291456 |
注意,ASH buffers的大小按照以下演算法分配:
Min(shared_pool_size*5%,2M*cpu_count)
SQL> select name,value,display_value from v$parameter 2 where name in ('shared_pool_size','cpu_count'); NAME VALUE DISPLAY_VALUE ------------------------------ -------------------- -------------------- cpu_count 4 4 shared_pool_size 125829120 120M |
根據這個演算法,系統分配的ASH Buffers為6M.
這些歷史資訊記錄在資料庫中,可以通過v$session_wait_history進行查詢:
顯然ASH/ADDM是Oracle在管理上的又一巨大提高。
SQL> desc v$session_wait_history Name Type Nullable Default Comments ---------- ------------ -------- ------- -------- SID NUMBER Y SEQ# NUMBER Y EVENT# NUMBER Y EVENT VARCHAR2(64) Y P1TEXT VARCHAR2(64) Y P1 NUMBER Y P2TEXT VARCHAR2(64) Y P2 NUMBER Y P3TEXT VARCHAR2(64) Y P3 NUMBER Y WAIT_TIME NUMBER Y WAIT_COUNT NUMBER Y |
顯然ASH/ADDM是Oracle在管理上的又一巨大提高。
---------------------------------------------------------------------------------------------
作者:eygle |
English Version 【轉載時請以超連結形式標明文章出處和作者資訊及本宣告】
連結:http://www.eygle.com/archives/2005/03/oracle10gaeasha.html
連結:http://www.eygle.com/archives/2005/03/oracle10gaeasha.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9390331/viewspace-691920/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 清除 GitHub 歷史記錄的隱私資訊Github
- TcxMRUEdit 最近歷史記錄
- git重寫歷史記錄Git
- win10怎樣看歷史記錄_win10檢視歷史記錄的方法Win10
- 理解瀏覽器的歷史記錄瀏覽器
- 瀏覽器歷史記錄的返回瀏覽器
- SAP歷史更改記錄函式函式
- Linux下mysql的歷史操作記錄LinuxMySql
- git log檢視提交歷史記錄Git
- EBS:銷售訂單歷史記錄
- linux 清空歷史執行記錄Linux
- 清除“遠端桌面連線”的歷史記錄
- 實現使用者的歷史記錄功能
- 監視資料庫映象的歷史記錄資料庫
- 查詢SQL Server的歷史執行記錄SQLServer
- win10怎麼清除更新歷史記錄 win10電腦如何清除更新歷史記錄Win10
- Oracle10g AWR及ASH詳解(final)Oracle
- win10如何關閉活動歷史記錄_win10系統關閉活動歷史記錄的步驟Win10
- Git 學習記錄之演變歷史Git
- ClipboardManager for Mac(剪貼簿歷史記錄管理)Mac
- Linux檢視歷史記錄小技巧Linux
- Linux中禁用命令歷史記錄Linux
- 透過歷史記錄執行本地模型模型
- win10如何關閉工作列歷史記錄_win10工作列歷史記錄怎麼關閉Win10
- Oracle10g ASH and AWROracle
- 修改Kali Linux終端歷史記錄大小Linux
- 使用 JavaScript 操作瀏覽器歷史記錄 APIJavaScript瀏覽器API
- 理解瀏覽器歷史記錄(2)- hashchange、pushState瀏覽器
- IE訪問歷史記錄恢復工具pasco
- solaris下配置使用SQL*Plus歷史命令記錄SQL
- SqlServer查詢資料改動歷史記錄SQLServer
- 光榮策略遊戲的歷史及未來——歷史篇遊戲
- Git新手教程-檢視倉庫的歷史記錄(四)Git
- Activiti 學習筆記六:流程執行歷史記錄筆記
- 如何查詢以往的session歷史資訊Session
- 如何刪除遠端桌面歷史連線記錄
- linux 下sqlplus 歷史記錄問題LinuxSQL
- git-清空歷史提交記錄(保留原倉庫)Git