Autonomous Databaseでのオプティマイザ統計の管理
オプティマイザ統計の収集またはオプティマイザ・ヒントの有効化が必要な場合に実行するAutonomous Databaseのコマンドについて説明します。
オプティマイザ統計の収集またはオプティマイザ・ヒントの有効化のために実行するコマンドには、ワークロード(データ・ウェアハウス、トランザクション処理またはJSONデータベース)に応じて違いがあります。
- データ・ウェアハウス・ワークロードを使用したオプティマイザの統計およびヒントの管理
オプティマイザの統計情報を収集したり、データ・ウェアハウス・ワークロードを使用したオプティマイザのヒントを有効にしたりする必要があるときに実行するAutonomous Databaseコマンドを説明します。 - トランザクション処理およびJSONデータベース・ワークロードを使用したオプティマイザ統計およびヒントの管理
オプティマイザ統計を収集したり、オプティマイザ・ヒントを有効にしたりする必要があるときに実行するAutonomous Databaseのコマンドを説明します。
親トピック: Performance Monitorおよび管理
データ・ウェアハウス・ワークロードでのオプティマイザ統計およびヒントの管理
オプティマイザの統計情報を収集したり、データ・ウェアハウスのワークロードを使用したオプティマイザのヒントを有効にしたりする必要があるときに実行するAutonomous Databaseコマンドについて説明します。
データ・ウェアハウス・ワークロードでのオプティマイザ統計の管理
データ・ウェアハウスのワークロードを使用したAutonomous Databaseは、SQLに発行されたダイレクト・パス操作でロードされた表のオプティマイザ統計を自動的に収集する(SQL*Loaderダイレクト・パスなど、SQLデータ処理をバイパスのダイレクト・パス・読み込み操作で統計は収集されません)。たとえば、DBMS_CLOUD
パッケージを使用したロードでは、データベースがオプティマイザ統計を自動的に収集します。
従来のDML操作を使用して変更された表がある場合、それらの表のオプティマイザ統計を収集するコマンドを実行できます。たとえば、SH
スキーマについて、次のコマンドを使用してスキーマ内のすべての表の統計を収集できます。
BEGIN
DBMS_STATS.GATHER_SCHEMA_STATS('SH', options=>'GATHER AUTO');
END;
/
この例では、SH
スキーマの失効した統計を含むすべての表の統計が収集されます。
ダイレクト・パス・ロードの詳細は、表のロードを参照してください。
オプティマイザ統計の詳細は、「データベースの概念」を参照してください。
データ・ウェアハウスのワークロードでのオプティマイザ・ヒントの管理
データ・ウェアハウスを使用するAutonomous Databaseは、デフォルトでSQL文内のオプティマイザ・ヒントおよびPARALLEL
ヒントを無視します。アプリケーションでヒントに依存している場合、オプティマイザ・ヒントを有効にするには、ALTER SESSION
またはALTER SYSTEM
を使用して、セッション・レベルまたはシステム・レベルでパラメータOPTIMIZER_IGNORE_HINTS
をFALSE
に設定します。たとえば、次のコマンドは、セッションでヒントを有効にします:
ALTER SESSION
SET OPTIMIZER_IGNORE_HINTS=FALSE;
また、SQL文内のALTER SESSION
またはALTER SYSTEM
を使用して、セッション・レベルまたはシステム・レベルでOPTIMIZER_IGNORE_PARALLEL_HINTS
をFALSE
に設定し、SQL文でPARALLEL
ヒントを有効化できます。たとえば、次のコマンドを使用すると、セッションでPARALLEL
ヒントが有効になります。
ALTER SESSION
SET OPTIMIZER_IGNORE_PARALLEL_HINTS=FALSE;
トランザクション処理およびJSONデータベース・ワークロードを使用したオプティマイザ統計およびヒントの管理
オプティマイザ統計の収集またはオプティマイザ・ヒントの有効化が必要な場合に実行するAutonomous Databaseのコマンドについて説明します。
トランザクション処理およびJSONデータベース・ワークロードを使用したオプティマイザ統計管理
Autonomous Databaseではオプティマイザ統計が自動的に収集されるため、このタスクを手動で実行する必要はなく、また、統計が常に最新であることを保証できます。自動統計収集はAutonomous Databaseで有効になっており、標準のメンテナンス・ウィンドウで実行されます。
自動統計収集のメンテナンス、ウィンドウは、Oracle Cloud Infrastructureコンソールのメンテナンス、ウィンドウとは異なります。Oracle Cloud Infrastructureのメンテナンス・ウィンドウには、システム・パッチ適用情報が表示されます。
自動統計収集のメンテナンス・ウィンドウの時間および自動 オプティマイザ統計収集の詳細は、『データベース管理者ガイド』を参照。
オプティマイザ統計の詳細は、SQLチューニング・ガイドを参照してください。
トランザクション処理およびJSONデータベース・ワークロードを使用したオプティマイザのヒントの管理
トランザクション処理およびJSONデータベース・ワークロードを使用するAutonomous Databaseでは、SQL文のオプティマイザ・ヒントおよびPARALLEL
ヒントがデフォルトで考慮されます。オプティマイザ・ヒントを無効にするには、ALTER SESSION
またはALTER SYSTEM
を使用して、セッション・レベルまたはシステム・レベルでパラメータOPTIMIZER_IGNORE_HINTS
をTRUE
に設定します。たとえば、次のコマンドは、セッションでヒントを無効にします:
ALTER SESSION
SET OPTIMIZER_IGNORE_HINTS=TRUE;
また、SQL文内のPARALLEL
ヒントを無効にするには、ALTER SESSION
またはALTER SYSTEM
を使用して、セッション・レベルまたはシステム・レベルでOPTIMIZER_IGNORE_PARALLEL_HINTS
をTRUE
に設定します。
ALTER SESSION
SET OPTIMIZER_IGNORE_PARALLEL_HINTS=TRUE;