106 DBMS_MVIEW_STATS

DBMS_MVIEW_STATSパッケージには、マテリアライズド・ビューのリフレッシュ操作に関する統計の収集および保存を管理するためのインタフェースが用意されています。

参照:

マテリアライズド・ビュー・リフレッシュ統計を管理および使用する方法の詳細は、Oracle Databaseデータ・ウェアハウス・ガイドを参照してください

この章のトピックは、次のとおりです:

106.1 DBMS_MVIEW_STATSの概要

DBMS_MVIEW_STATSパッケージに含まれているプロシージャを使用して、マテリアライズド・ビューのリフレッシュ操作に関する統計の収集および保存を管理できます。これには、これらの統計を収集するレベルや粒度、およびそれらをデータベースに保存する期間が含まれます。

統計の収集を制御するパラメータについて、データベース・レベルのシステム・デフォルトを設定することもできます。

106.2 DBMS_MVIEW_STATSのセキュリティ・モデル

サブプログラムを使用するために必要な権限の詳細は、各サブプログラムの「使用上の注意」の項を参照してください。

106.3 DBMS_MVIEW_STATSサブプログラムの要約

この表は、DBMS_MVIEW_STATSサブプログラムを示し、簡単に説明しています。

表106-1 DBMS_MVIEW_STATSパッケージのサブプログラム

サブプログラム 説明

PURGE_REFRESH_STATSプロシージャ

マテリアライズド・ビューのリフレッシュ操作に関する統計のうち、指定された保存期間より古いものをパージします。

SET_MVREF_STATS_PARAMSプロシージャ

マテリアライズド・ビュー・リフレッシュ統計の収集レベルと保存期間を定義するパラメータの値を設定します。値は、データベース・レベルで、または個別のマテリアライズド・ビューに対して設定できます。

SET_SYSTEM_DEFAULTプロシージャ

リフレッシュ統計パラメータのシステム・デフォルト値を設定します。リフレッシュ統計パラメータには、収集レベルと保存期間の2つがあります。

106.3.1 PURGE_REFRESH_STATSプロシージャ

このプロシージャは、指定されたマテリアライズド・ビューについて、指定された保存期間より古いリフレッシュ統計を消去します。

このプロシージャは、指定されたマテリアライズド・ビューに定義された保存期間を変更することなく、リフレッシュ統計を強制的に消去します。

構文

DBMS_MVIEW_STATS.PURGE_REFRESH_STATISTICS (
		mv_list               IN     VARACHAR2,
		retention_period      IN     NUMBER);

パラメータ

表106-2 PURGE_REFRESH_STATSプロシージャのパラメータ

パラメータ 説明

mv_list

schema_name.mv_nameという形式による既存のマテリアライズド・ビューの完全修飾名。カンマ区切りリストを使用して、複数のマテリアライズド・ビューを指定できます。

データベース内のすべてのマテリアライズド・ビューについてマテリアライズド・ビュー・リフレッシュ統計を消去するには、NULLを指定します。

retention_period

リフレッシュ統計をデータ・ディクショナリに保存しておく必要がある日数。マテリアライズド・ビューのリフレッシュ操作に関する統計のうち、保存期間より古いものはデータ・ディクショナリから消去されます。

このプロシージャで指定された保存期間は、データベース・レベルで、または指定されたマテリアライズド・ビューについて以前に設定されている可能性がある保存期間より優先されます。

自動統計消去で定義された消去ポリシーを使用するには、NULLを指定します。すべてのリフレッシュ統計を消去するには、-1を指定します。

使用上の注意

このプロシージャを起動するには、SYSDBA権限、またはmv_listで指定した各マテリアライズド・ビューに対する権限が必要です。

106.3.2 SET_MVREF_STATS_PARAMSプロシージャ

このプロシージャは、マテリアライズド・ビュー・リフレッシュ統計の収集レベルと保存期間を設定します。これらのプロパティは、個々のマテリアライズド・ビューについて設定することも、データベース内のすべてのマテリアライズド・ビューについて設定することもできます。

構文

DBMS_MVIEW_STATS.SET_MVREF_STATS_PARAMS (
		mv_list            IN    VARACHAR2,
		collection_level   IN    VARCHAR2 DEFAULT NULL,
		retention_period   IN    NUMBER DEFAULT NULL);

パラメータ

表106-3 SET_MVREF_STATS_PARAMSプロシージャのパラメータ

パラメータ 説明

mv_list

schema_name.mv_nameという形式による既存のマテリアライズド・ビューの完全修飾名。カンマ区切りリストを使用して、複数のマテリアライズド・ビューを指定できます。

データベース内の既存のマテリアライズド・ビューすべてについてプロパティを設定するには、NULLを指定します。

collection_level

mv_listで指定したマテリアライズド・ビューのリフレッシュ統計を収集する際に使用する詳細のレベルを指定します。

collection_levelには、次のいずれかの値を設定します。

  • NONE: マテリアライズド・ビュー・リフレッシュ統計は収集されません。

  • TYPICAL: mv_listで指定したマテリアライズド・ビューについて、基本的なリフレッシュ統計のみが収集および保存されます。

  • ADVANCED: mv_listで指定したマテリアライズド・ビューについて、詳細なリフレッシュ統計が収集および保存されます。

このパラメータがNULLに設定されている場合は、collection_levelのシステム・デフォルト値(SET_SYSTEM_DEFAULTを使用して設定されたもの)が使用されます。

retention_period

mv_listで指定したマテリアライズド・ビューのリフレッシュ統計の保存期間(日数)を指定します。保存期間より古い統計は、データ・ディクショナリから自動的に消去されます。

有効な値は1から1365000までです。

このパラメータがNULLに設定されている場合は、retention_periodのシステム・デフォルト値(SET_SYSTEM_DEAFULTを使用して設定されたもの)が使用されます。

mv_list内のマテリアライズド・ビューのリフレッシュ統計が消去されることがないように指定するには、retention_periodを-1に設定します。

使用上の注意

1つ以上のマテリアライズド・ビューの収集レベルまたは保存期間を設定するには、それらのマテリアライズド・ビューに対する権限が必要です。データベース内のすべてのマテリアライズド・ビューについて収集レベルまたは保存期間を設定するには、SYSDBA権限、またはデータベース内の各マテリアライズド・ビューに対する権限が必要です。

統計の収集レベルおよび保存期間のシステム・レベルのデフォルト値を設定する場合は、SET_SYSTEM_DEAFULTプロシージャを使用します。

DBA_MVREF_STATS_PARAMSビューを使用して、マテリアライズド・ビュー統計の収集について現在設定されている保存期間および収集レベルを確認できます。

データベース内のすべてのマテリアライズド・ビューについてリフレッシュ統計の収集を無効にする場合は、次のように使用します。

DBMS_MVIEW_STATS.SET_MVREF_STATS_PARAMS (NULL, 'NONE', NULL);

SET_MVREF_STATS_PARAMSを使用して設定されたパラメータは、プロシージャの実行時点でデータベース内に存在するマテリアライズド・ビューのみに影響します。このプロシージャの実行後に作成された新しいマテリアライズド・ビューでは、collection_levelおよびretention_periodのシステム・デフォルト値が使用されます。

106.3.3 SET_SYSTEM_DEFAULTプロシージャ

このプロシージャは、マテリアライズド・ビュー・リフレッシュ統計の収集および保存を管理するシステム全体のデフォルトを設定します。新しく作成されたすべてのマテリアライズド・ビューでは、SET_MVREF_STATS_PARAMSプロシージャを使用してパラメータが明示的に再設定されるまで、これらのデフォルトが使用されます。

構文

DBMS_MVIEW_STATS.SET_SYSTEM_DEFAULT (
		parameter_name	    IN   VARCHAR2,
		value             IN   VARCHAR2 DEFAULT NULL);

パラメータ

表106-4 SET_SYSTEM_DEFAULTプロシージャのパラメータ

パラメータ 説明

parameter_name

システム・デフォルト値を設定するマテリアライズド・ビュー・リフレッシュ統計パラメータの名前。

設定可能なパラメータは次のとおりです。

  • COLLECTION_LEVEL: マテリアライズド・ビュー・リフレッシュ統計を収集する際の詳細のレベルを指定します。

  • RETENTION_PERIOD: リフレッシュ統計をデータ・ディクショナリに保存する期間(日数)を指定します。

value

マテリアライズド・ビュー・リフレッシュ統計パラメータの値。

COLLECTION_LEVELの有効な値は次のとおりです。

  • NONE: リフレッシュ操作に関するリフレッシュ統計は収集されません。

  • TYPICAL: リフレッシュ操作に関する基本的なリフレッシュ統計のみが収集されます。これがデフォルトの設定です。

  • ADVANCED: リフレッシュ操作に関する詳細なリフレッシュ統計が収集されます。

RETENTION_PERIODの有効な値は次のとおりです。

  • -1

  • 1から1365000の数値

retention_periodのデフォルト値は31です。

いずれかのパラメータについてNULLを指定した場合は、そのパラメータのシステム・デフォルト設定が使用されます。

使用上の注意

このプロシージャを起動するには、SYSDBA権限が必要です。

DBA_MVREF_STATS_SYS_DEFAULTSビューを使用して、マテリアライズド・ビュー・リフレッシュ統計の収集に関する現在のデフォルト設定を表示できます。