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
スキーマの失効した統計を含むすべての表の統計が収集されます。
ダイレクト・パス・ロードの詳細は、「表のロード」を参照してください。
オプティマイザ統計の詳細は、『Oracle Database概要』を参照してください。
データ・ウェアハウスのワークロードを使用したオプティマイザ・ヒントの管理
データ・ウェアハウスを使用するAutonomous Databaseでは、デフォルトでSQL文のオプティマイザ・ヒントおよびPARALLEL
ヒントは無視されます。 アプリケーションがヒントに依存している場合、ALTER SESSION
またはALTER SYSTEM
を使用して、セッション・レベルまたはシステム・レベルでOPTIMIZER_IGNORE_HINTS
パラメータをFALSE
に設定し、オプティマイザ・ヒントを有効化できます。 たとえば、次のコマンドでは、セッションでヒントを有効化します。
ALTER SESSION
SET OPTIMIZER_IGNORE_HINTS=FALSE;
同様に、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
ヒントがデフォルトで考慮されます。 OPTIMIZER_IGNORE_HINTS
をセッション・レベルまたはシステム・レベルでALTER SESSION
またはALTER SYSTEM
を使用してパラメータをTRUE
に設定することによって、オプティマイザのヒントを無効にできます。 たとえば、次のコマンドはセッションのヒントを無効にします。
ALTER SESSION
SET OPTIMIZER_IGNORE_HINTS=TRUE;
また、ALTER SESSION
またはALTER SYSTEM
を使用して、OPTIMIZER_IGNORE_PARALLEL_HINTS
をセッションまたはシステム・レベルでTRUE
に設定することによって、SQL文のPARALLEL
ヒントを無効にすることもできます。
ALTER SESSION
SET OPTIMIZER_IGNORE_PARALLEL_HINTS=TRUE;