Autonomous DatabaseでのSQLトレースの実行
SQLトレースを使用して、アプリケーションの負荷の高いSQL文など、過剰なデータベース・ワークロードのソースを識別しやすくします。
- Autonomous DatabaseでのSQLトレースの構成
Autonomous DatabaseでSQLトレースを構成するステップを示します。 - Autonomous DatabaseでのSQLトレースの有効化
データベース・セッションのSQLトレースを有効にするステップを示します。 - Autonomous DatabaseでのSQLトレースの無効化
Autonomous DatabaseでSQLトレースを無効にするステップを示します。 - Autonomous Databaseでクラウド・オブジェクト・ストアに保存されたトレース・ファイルの表示
SQLトレース・ファイルの出力ファイル・ネーミングについて説明し、TKPROF
を使用してトレース・ファイル・データを編成および表示するためのコマンドを示します。 - Autonomous DatabaseのSESSION_CLOUD_TRACEビューでのトレース・データの表示
SQLトレースを有効にすると、クラウド・オブジェクト・ストアのトレース・ファイルに保存されたものと同じトレース情報が、トレースが有効になったセッションのSESSION_CLOUD_TRACE
ビューに表示されます。
親トピック: パフォーマンスのモニターおよび管理
Autonomous DatabaseでのSQLトレースの構成
Autonomous DatabaseでSQLトレースを構成するステップを示します。
SQLトレースを有効にすると、トレース収集が有効になっている間、セッションのアプリケーション・パフォーマンスが低下する可能性があります。このパフォーマンスへの影響は、トレース・データの収集と保存のオーバーヘッドが原因となっています。
データベースをSQLトレース用に構成するには、次を実行します:
Autonomous DatabaseでのSQLトレースの有効化
データベース・セッションのSQLトレースを有効にするステップを示します。
SQLトレースを有効にすると、トレース収集が有効になっている間、セッションのアプリケーション・パフォーマンスが低下する可能性があります。このパフォーマンスへの影響は、トレース・データの収集と保存のオーバーヘッドが原因となっています。
SQLトレースを有効にする前に、SQLトレース・ファイルを保存するようにデータベースを構成する必要があります。詳細は、Autonomous DatabaseでのSQLトレースの構成を参照してください。
SQLトレースを有効にするには、次を実行します:
Autonomous DatabaseでのSQLトレースの無効化
Autonomous DatabaseでSQLトレースを無効にするステップを示します。
SQLトレースを無効にするには、次を実行します:
SQLトレースを無効にすると、トレースを有効にしたセッションの実行中に収集されたトレース・データが表にコピーされ、クラウド・オブジェクト・ストアのトレース・ファイルに送信されます。トレース・データを表示するには、2つのオプションがあります:
-
クラウド・オブジェクト・ストアに保存されたトレース・ファイルのSQLトレース・データを表示および分析します。詳細は、Autonomous Databaseでのクラウド・オブジェクト・ストアに保存されたトレース・ファイルの表示を参照してください。
-
ビュー
SESSION_CLOUD_TRACE
に保存されたSQLトレース・データを表示および分析します。詳細は、Autonomous DatabaseでのSESSION_CLOUD_TRACEビューのトレース・データの表示を参照してください。
Autonomous Database上のクラウド・オブジェクト・ストアに保存されたトレース・ファイルの表示
SQLトレース・ファイルの出力ファイル・ネーミングについて説明し、TKPROF
を使用してトレース・ファイル・データを編成および表示するためのコマンドを示します。
SQLトレース・ファイル・データを使用して、Autonomous Databaseでのアプリケーション・パフォーマンスを分析します。データベース・セッションでSQLトレースを無効にすると、データはDEFAULT_LOGGING_BUCKET
で構成されたクラウド・オブジェクト・ストア・バケットに書き込まれます。
SQLトレース機能は、セッションで収集されたトレース・データを次のフォーマットでクラウド・オブジェクト・ストアに書き込みます:
default_logging_bucket/
sqltrace
/
clientID
/moduleName
/sqltrace_
numID1
_numID2
.trc
ファイル名の構成要素は:
-
default_logging_bucket:
DEFAULT_LOGGING_BUCKET
データベース・プロパティの値です。詳細は、Autonomous DatabaseでのSQLトレースの構成を参照してください。 -
clientID
: クライアント識別子です。詳細は、Autonomous DatabaseでのSQLトレースの有効化を参照してください。 -
moduleName
: モジュール名です。詳細は、Autonomous DatabaseでのSQLトレースの有効化を参照してください。 -
numID1
_numID2
: SQLトレース機能で提供される2つの識別子です。numID1
およびnumID2
の数値によって、クラウド・オブジェクト・ストレージの同じバケットでトレースを使用したり、トレース・ファイルを作成したりする他のセッションから各トレース・ファイル名が一意に区別されます。データベース・サービスがパラレル化をサポートし、セッションがパラレル問合せを実行する場合、SQLトレース機能は、異なる
numID1
およびnumID2
の値を持つ複数のトレース・ファイルを生成できます。
同じセッション内でSQLトレースを複数回有効化および無効化すると、トレースの繰返しごとにクラウド・オブジェクト・ストアに個別のトレース・ファイルが生成されます。セッションで生成された以前のトレースが上書きされないように、その後生成されるファイルは同じ命名規則に従い、トレース・ファイル名に数値の接尾辞が追加されます。この数値のサフィックスは数値1から始まり、その後トレースが繰り返されるたびに1増分されます。
たとえば、クライアント識別子を「sql_test
」に設定し、モジュール名を「modname
」に設定した場合に生成されるトレース・ファイル名の例を次に示します:
sqltrace/sqlt_test/modname/sqltrace_5415_56432.trc
TKPROF
を実行して、トレース・ファイルを読取り可能な出力ファイルに変換できます。
TKPROF
ユーティリティの使用の詳細は、『Oracle Database SQLチューニング・ガイド』の「エンドツーエンド・アプリケーションのトレースのツール」を参照してください。
Autonomous DatabaseでのSESSION_CLOUD_TRACEビューのトレース・データの表示
SQLトレースを有効にすると、クラウド・オブジェクト・ストアのトレース・ファイルに保存されたものと同じトレース情報が、トレースが有効になったセッションのSESSION_CLOUD_TRACE
ビューに表示されます。
データベース・セッション中は、SESSION_CLOUD_TRACE
ビューでSQLトレース・データを表示できます。SESSION_CLOUD_TRACE
ビューには、ROW_NUMBER
とTRACE
という2つの列が含まれます:
DESC SESSION_CLOUD_TRACE
Name Null? Type
---------- ----- ------------------------------
ROW_NUMBER NUMBER
TRACE VARCHAR2(32767)
ROW_NUMBER
は、TRACE
列にあるトレース・データの順序を指定します。トレース・ファイルに書き込まれるトレース出力の各行は、表の行になり、TRACE
列で使用できます。
セッションのSQLトレースを無効にした後、SESSION_CLOUD_TRACE
ビューで問合せを実行できます。
たとえば:
SELECT trace FROM SESSION_CLOUD_TRACE ORDER BY row_number;
SESSION_CLOUD_TRACE
のデータは、セッション中は保持されます。ログアウトするかセッションをクローズすると、データは使用できなくなります。
同じセッション内でSQLトレースを複数回有効化および無効化すると、SESSION_CLOUD_TRACE
にはすべての繰返しのトレース・データが累積的に表示されます。したがって、前にトレースを無効にしてからセッションでトレースを再度有効にしても、前の繰返しで生成されたトレース・データは削除されません。