機械翻訳について

Autonomous Databaseでのオプティマイザ統計の管理

オプティマイザ統計の収集またはオプティマイザ・ヒントの有効化が必要な場合に実行するAutonomous Databaseコマンドを示します。

ワークロードに応じて、オプティマイザ統計の収集またはオプティマイザ・ヒントの有効化を行うために実行するコマンドには違いがあります: データ・ウェアハウス、トランザクション処理またはJSONデータベース。

データ・ウェアハウスのワークロードを使用したオプティマイザ統計およびヒントの管理

データ・ウェアハウスのワークロードでオプティマイザ統計を収集する必要がある場合、またはオプティマイザ・ヒントを有効にする必要がある場合に実行する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_HINTSFALSEに設定し、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;