実行時に SQL クエリを分析できるツールを探しています。実行時に Web アプリケーションの関数の呼び出し中に実行されるすべてのクエリをキャプチャしたいと考えています。これで私を助けていただければ幸いです。
よろしく
「関数の呼び出し中に実行されるすべてのクエリをキャプチャしたい...」
これは簡単なことです。10046 イベントは、セッションによって実行されたすべての SQL をトレース ファイルに書き込みます。このファイルは、標準の tkprof ユーティリティ、または Trace Analyzer などの他のツール (Oracle サポート契約を結んでいる場合) を使用して情報をマイニングできます。 . Tim Hall が優れた紹介文を書いています。ここで読んでください。
「...ランタイム中のWebアプリケーションで。」
これは難しいです。「Web アプリケーション」は通常、接続プーリングを意味します。これにより、どのデータベース セッションがどのフロントエンド アクティビティにリンクされているかを確立することが困難になります。ただし、DBMS_MONITOR などのツールを使用すると、Oracle の新しいバージョンが役立ちます。 詳細をご覧ください。
ツールについてはわかりませんがselect * from v$sql;
、多くの情報を提供できます。
実行中の SQL クエリ、クエリを実行しているアプリケーションの種類、いいえが表示されます。処理された行数、オプティマイザのコスト、ユーザー I/O 待機時間、アプリケーション待機時間、バッファリングされた取得、同時実行待機時間、直接書き込み、ディスク読み取りなど (およびその他のさまざまな情報)