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
列にあるトレース・データの順序を指定します。トレース・ファイルに書き込まれたトレース出力の各行は、表内の1行になり、TRACE
列で使用できます。
セッションのSQLトレースを無効にした後、SESSION_CLOUD_TRACE
ビューで問合せを実行できます。
たとえば:
SELECT trace FROM SESSION_CLOUD_TRACE ORDER BY row_number;
SESSION_CLOUD_TRACE
のデータは、セッションの間保持されます。ログアウトまたはセッションを閉じると、データは使用できなくなります。
SQLトレースが同一セッション内で複数回有効化および無効化されている場合、SESSION_CLOUD_TRACE
はすべての反復のトレース・データを累積的に表示します。したがって、以前にトレースを無効にした後、セッションでトレースを再度有効にしても、以前の反復によって生成されたトレース・データは削除されません。