2017-07-27 1 views
0

私たちが開発したアプリケーションのネイティブSQLコマンドを捕捉/監視/ログ/保存する場合の技術は何ですか?私たちはOracleデータベースを持っています。 私はすでにSQL Developer/Tools/Monitorセッション機能を試していますが、アプリケーションのSQL文は含まれていません。リアルタイムSQLモニタ機能には、必要なコマンドの一部と無用なエントリが多数含まれています。サーバーレベルでアプリケーションのSQLコマンドを収集するにはどうすればよいですか?

私が欲しいものを実際に

: - トレース機能「スイッチオン」(例えばSQLの開発者またはSQL * Plusで) - (例えば遅いクエリ)アプリケーションを起動して、実際のデータといくつかの機能を試してみてください - とすぐに私は十分な測定があると思うので:トレース機能をオフに切り替えて...。 - SQLコマンドの分析/チューニングを開始します(例:SQL開発者/ Explain Planなど)

+1

この質問は、私はそれを閉じるために投票しています、SOのための広範なにあります。このトピックのドキュメントには全体的な章があります。パフォーマンスチューニングガイドの[8アプリケーショントレースの実行](https://docs.oracle.com/database/121/TGSQL/tgsql_trace.htm#TGSQL794)を参照してください。トレースを有効にする方法、トレースファイルを収集および分析する方法などの例があります。 – krokodilko

答えて

0

1)指定された時間にいつでもawrレポートを使用して、特定の期間にデータベースで実行されたクエリを知ることができます。

を使用してawrレポートを実行します。

@$ORACLE_HOME/rdbms/admin/awrrpt.sql 

AWRでキャプチャされたトップSQLですが、awrでキャプチャされたSQLの数を増やすことができます。

2)データベースレベルのトレースでは、すべてのsqlsが実行され、実行計画は&他の統計情報が記録されます。 &停止トレースを手動で開始できます。トレースが停止すると、tkprofを使用して読み取り可能なファイルを生成することができます。トレースは常にヘッドオーバーパフォーマンスのビットを引き起こします&私の経験で大規模ではないが、スペースのオーバーヘッド。

  • Abhi
関連する問題