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文内のPARALLEL
ヒントを有効にするには、ALTER SESSION
またはALTER SYSTEM
を使用して、セッション・レベルまたはシステム・レベルでOPTIMIZER_IGNORE_PARALLEL_HINTS
をFALSE
に設定します。たとえば、次のコマンドはセッション内のPARALLEL
ヒントを有効にします:
ALTER SESSION
SET OPTIMIZER_IGNORE_PARALLEL_HINTS=FALSE;
トランザクション処理およびJSONデータベース・ワークロードを使用したオプティマイザ統計およびヒントの管理
オプティマイザ統計の収集またはオプティマイザ・ヒントの有効化が必要な場合に実行するAutonomous Databaseのコマンドについて説明します。
トランザクション処理およびJSONデータベース・ワークロードを使用したオプティマイザ統計の管理
Autonomous Databaseではオプティマイザ統計が自動的に収集されるため、このタスクを手動で実行する必要はなく、また、統計が常に最新であることを保証できます。自動統計収集はAutonomous Databaseで有効になっており、標準のメンテナンス・ウィンドウで実行されます。
自動統計収集のメンテナンス・ウィンドウは、Oracle Cloud Infrastructureコンソールのメンテナンス・ウィンドウと異なります。Oracle Cloud Infrastructureのメンテナンス・ウィンドウには、システム・パッチ適用情報が表示されます。
自動統計収集のメンテナンス・ウィンドウの時間と自動オプティマイザ統計収集の詳細は、『Database管理者ガイド』を参照してください。
オプティマイザ統計の詳細は、『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;