如何監控 Oracle 中的即時 SQL 執行統計資訊?


問題

您希望在 Oracle 中監控當前執行的 SQL 統計資訊。

解決方案

如果您的資料庫是 Oracle Database 11g,可以使用以下查詢從“V$SQL_MONITOR”中進行選擇,以監控 SQL 查詢的近即時資源消耗。

“V$SQL_MONITOR”中的統計資訊每秒更新一次。這有助於我們檢視資源消耗的更新情況。當 SQL 語句並行執行或者消耗了超過 5 秒的 CPU 或 I/O 時間時,預設會收集這些統計資訊。

“V$SQL_MONITOR" 檢視包含“V$SQL”、“V$SQLAREA" 和“V$SQLSTATS”檢視中包含的部分統計資訊。

“V$SQL_MONITOR" 檢視顯示資源密集型 SQL 語句每次執行的即時統計資訊,而“V$SQL”、“V$SQLAREA" 和“V$SQLSTATS”包含多個 SQL 語句執行的總體統計資訊集合。

示例

select * from ( select  a.sid session_id ,a.sql_id ,a.status ,a.cpu_time/1000000 cpu_sec ,a.buffer_gets ,a.disk_reads ,b.sql_text sql_text from v$sql_monitor a     ,v$sql b where a.sql_id = b.sql_id order by a.cpu_time desc) where rownum <=10;

更新日期:2020 年 12 月 5 日

已閱讀 3 千次

開啟您的職業生涯

完成課程以獲取認證

立即開始
廣告
© . All rights reserved.