web-dev-qa-db-ja.com

クエリがdba_hist_active_sess_historyに表示されない

アプリケーションチームは、特定の時間に実行するのに約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テーブルに表示されず、他にどこにあるのでしょうか。

1
jera

実際に正しいデータベースにアクセスしていることを確認し、両方のインスタンスのASHレポートとAWRレポートに実行時間の長いクエリが表示されない場合は、アプリケーション開発者に連絡してください。 whichステートメントが正確に遅くなる理由とその理由を調べてください。

さまざまなアプリケーションやアプリケーション環境で同様の問題が発生し、どこで問題が発生したか

  • jdbc:ociとは異なる動作のjdbc:oci
  • 異なるバージョンのojdbcドライバーの問題
  • トランザクションを複数の小さな接続に分割するコード変更により、データベースは接続のオープンとクローズしか行わない
  • 接続プールの構成の問題

したがって、別の場所を見る必要があるかもしれません。

2
jmk