oracle 歷史檢視檢視,看這一篇就夠了
常用歷史語句:
dba_hist_active_sess_history
v$active_session_history
dba_hist_sqlstat
dba_hist_active_sess_history
dba_hist_active_sess_history 是 v$active_session_history 的持久化檢視。多個觸發條件寫入 dba 檢視中。
mmon 程式把 v$active_session_history 中的資訊採集到基表 WRH$_ACTIVE_SESSION_HOSTORY ,然後 dba_hist_active_sess_history 從基表中獲取資訊, awr 從 dba_hist_active_sess_history 中
每隔 10 秒鐘轉儲來自 v$active_session_history 的活動 session 資訊
_ash_disk_filter_ratio (秒)
gv$active_session_history
v$active_session_history 使用的是 x$ash 基表。 x$ash 資料存放在 Shared Pool 的 ASH Buffer 中,大小由隱含引數 "_ash_size" 決定。
每 1 秒( _ash_sampling_interval ,單位毫秒)將 v$session 中記錄儲存到 v$active_session_history 檢視中,只會載入非 idle 會話。
存在記憶體,重啟就會消失。用做 ASH 報表。
重要!!!
1.mmnl 程式從 gv$session 檢視(從 X$KSUSE 基表獲取)採集資訊到 ash buffers 中,並且被獲取到 X$ASH 基表中,預設 1 秒一次( _ash_sampling_interval ,單位毫秒)。
2.gv$active_session_history 檢視從 X$ASH 基表讀取資料,由 mmon 程式將 gv$active_session_history 檢視資訊持久化到 wrh$_active_session_history 基表中。
3.dba_hist_active_sess_history 檢視從 wrh$_active_session_history 基表讀取資料,預設 10 秒一次( _ash_disk_filter_ratio ,秒)。
4.awr 報告資料從 dba_hist_active_sess_history 檢視獲取。
其中 x$ksuse 是 gv$session 檢視所使用的基表,同樣可以透過前面的方法查到( set autotrace trace )。首先 mmnl 程式從 gv$session 動態效能檢視中採集資訊,預設每秒採集一次,然後將採集的資訊寫入到 ash buffers 中,此時活動會話資訊已經進入到 x$ash 基表中,然後 gv$active_session_history 檢視從 x$ash 基表中讀取資料, mmon 程式負責對 gv$active_session_history 檢視中的資訊進行持久化,持久化到 wrh$_active_session_history 基表中,而 dba_hist_active_sess_history 檢視中的資料又是來源於 wrh$_active_session_history 基表。可以看到 ash 相關的部分除了需要 mmon 程式進行持久化到 awr ,實際上正如前邊所說的, ash 和 awr 是兩個不同的東西,不能混為一談。
最後列出幾個和 ASH 相關的隱含引數:
- _ash_disk_filter_ratio
取樣到 DBA_HIST_ACTIVE_SESS_HISTORY 中的頻率,預設為 10s 一次
- _ash_disk_write_enable
開啟取樣到 DBA_HIST_ACTIVE_SESS_HISTORY ,設定為 false 則即使建立快照也不會重新整理資料到 DBA_HIST_ACTIVE_SESS_HISTORY 檢視中
- _ash_eflush_trigger
ASH buffers 滿了多少以後會寫出,預設為 66%
- _ash_enable
禁用和啟用 ASH 取樣
- _ash_sample_all
設定為 true ,則所有會話都會被取樣,包括處於空閒等待的會話,預設是 false
- _ash_sampling_interval
ASH 取樣間隔時間,預設為 1000ms
- _ash_size
ASH buffers 大小
檢視 _ash_size 如果超過 256 m 可能觸發 bug20185439 ( 2268127.1 )
如果 _ash_size 過小(預設 1m ),可能導致重新整理次數過多,造成效能瓶頸。
設定引數會重新整理一次。
建議大小為 total_size的1.5倍
select total_size/1024/1024,awr_flush_emergency_count from v$ash_info;
oracle 建議多次出現此問題再解決 Active Session History (ASH) performed an emergency flush
ash 是否存在異常重新整理( awr_flush_emergency_count )
select total_size/1024/1024,awr_flush_emergency_count from v$ash_info;
alter system set "_ash_size"=2048618 sid='*' scope=spfile;
參考:
https://www.cnblogs.com/andy6/p/8301933.html
https://blog.csdn.net/JiekeXu/article/details/129434277
來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/69980685/viewspace-3003722/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle檢視歷史TOP SQLOracleSQL
- git檢視提交歷史Git
- Git 看這一篇就夠了Git
- 索引?看這一篇就夠了!索引
- Transformer 看這一篇就夠了ORM
- Oracle錶的歷史統計資訊檢視Oracle
- Oracle索引,看這篇就夠了Oracle索引
- 代理模式看這一篇就夠了模式
- Flutter DataTable 看這一篇就夠了Flutter
- Java 集合看這一篇就夠了Java
- 入門Hbase,看這一篇就夠了
- Spring入門看這一篇就夠了Spring
- Mybatis入門看這一篇就夠了MyBatis
- 關於SwiftUI,看這一篇就夠了SwiftUI
- 瞭解 MongoDB 看這一篇就夠了MongoDB
- flex佈局看這一篇就夠了Flex
- Python操作MongoDB看這一篇就夠了PythonMongoDB
- ActiveMq 之JMS 看這一篇就夠了MQ
- Elasticsearch入門,看這一篇就夠了Elasticsearch
- jQuery入門看這一篇就夠了jQuery
- MySQL入門看這一篇就夠了MySql
- 做目標檢測,這一篇就夠了!2019最全目標檢測指南
- Oracle檢視sql_id 的歷史執行計劃OracleSQL
- Android Architecture Components 只看這一篇就夠了Android
- Python快速入門,看這一篇就夠了!Python
- git log檢視提交歷史記錄Git
- git簡略形式檢視提交歷史Git
- Linux檢視歷史記錄小技巧Linux
- 乾貨 | 目標檢測入門,看這篇就夠了(下)
- 乾貨 | 目標檢測入門,看這篇就夠了(上)
- 【AWR】DBA_HIST檢視檢視儲存在AWR中的歷史資料
- Wakatime 不升級會員也能檢視歷史資料了!
- 約束佈局ConstraintLayout看這一篇就夠了AI
- 分散式事務,只看這一篇就夠了分散式
- 瞭解SSL證書,看這一篇就夠了!!
- Nginx 配置常用引數,看這一篇就夠了Nginx
- SpringBoot寫後端介面,看這一篇就夠了!Spring Boot後端
- 什麼是事件管理?看這一篇就夠了!事件