Oracle

查詢未顯示在 dba_hist_active_sess_history

  • April 4, 2017

應用程序團隊聲稱有一個語句在大約某個時間執行了大約 30 秒。

我試圖通過以下語句找出在此期間執行了哪些查詢:

select a.sql_id, sample_time from dba_hist_active_sess_history a, dba_hist_sqltext b
       where sample_time between to_date('20170330:13:15','yyyymmdd:hh24:mi')
       and to_date('20170330:13:25','yyyymmdd:hh24:mi') and b.sql_id=a.sql_id
       order by 2;

但是,僅顯示有關 rman 或云控制代理的聲明,而沒有似乎來自應用程序的聲明。

可能是某些執行的查詢沒有顯示在dba_hist_active_sess_history表中,我還能在哪裡尋找它?

在檢查您確實在正確的數據庫上並且如果兩個實例的 ASH- 和 AWR 報告沒有顯示任何長時間執行的查詢之後,是時候與您的應用程序開發人員聯繫了。嘗試找出究竟是哪個語句變慢以及為什麼。

我在各種應用程序和應用程序環境中遇到了類似的問題,以及我在哪裡遇到的問題

  • jdbc:thin 行為不同形式 jdbc:oci
  • 不同 ojdbc 驅動程序版本的問題
  • 將事務拆分為多個小連接的程式碼更改導致數據庫除了打開和關閉連接之外什麼都不做
  • 連接池的配置問題

因此,您可能需要查看不同的位置。

引用自:https://dba.stackexchange.com/questions/169056