機械翻訳について

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

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

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

レイクハウス・ワークロードによるオプティマイザ統計およびヒントの管理

オプティマイザ統計を収集したり、レイクハウス・ワークロードでオプティマイザ・ヒントを有効にする必要がある場合に実行するAutonomous AI Databaseコマンドについて説明します。

レイクハウス・ワークロードを使用したオプティマイザ統計の管理

レイクハウス・ワークロードを含むAutonomous AI Databaseは、SQLで発行されたダイレクト・パス操作でロードされた表のオプティマイザ統計を自動的に収集します(SQL*Loaderダイレクト・パスなどのSQLデータ処理をバイパスするダイレクト・パス・ロード操作は統計を収集しません)。 たとえば、DBMS_CLOUDパッケージを使用したロードでは、データベースがオプティマイザ統計を自動的に収集します。

従来のDML操作を使用して変更された表がある場合、それらの表のオプティマイザ統計を収集するコマンドを実行できます。 たとえば、SHスキーマについて、次のコマンドを使用してスキーマ内のすべての表の統計を収集できます。

BEGIN
  DBMS_STATS.GATHER_SCHEMA_STATS('SH', options=>'GATHER AUTO');
END;
/

この例では、SHスキーマの失効した統計を含むすべての表の統計が収集されます。

ダイレクト・パス・ロードの詳細は、表のロードを参照してください。

オプティマイザ統計の詳細は、『Oracle Database概要』を参照してください。

レイクハウス・ワークロードでのオプティマイザ・ヒントの管理

レイクハウスを使用したAutonomous AI 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 AI Databaseコマンドについて説明します。

トランザクション処理およびJSONデータベース・ワークロードを使用したオプティマイザ統計の管理

Autonomous AI Databaseでは、オプティマイザ統計が自動的に収集されるため、このタスクを手動で実行する必要がなく、統計が最新であることを確認するのに役立ちます。 自動統計収集はAutonomous AI Databaseで有効化され、標準のメンテナンス・ウィンドウで実行されます。

ノート:

自動統計収集のメンテナンス・ウィンドウは、Oracle Cloud Infrastructureコンソールのメンテナンス・ウィンドウとは異なります。 Oracle Cloud Infrastructureのメンテナンス・ウィンドウには、システムのパッチ適用情報が表示されます。

自動統計収集メンテナンス・ウィンドウ時間および自動オプティマイザ統計収集の詳細は、データベース管理者ガイドを参照してください。

オプティマイザ統計の詳細は、SQLチューニング・ガイドを参照してください。

トランザクション処理およびJSONデータベース・ワークロードを使用したオプティマイザ・ヒントの管理

トランザクション処理およびJSONデータベース・ワークロードを使用するAutonomous AI 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;