111 DBMS_MVIEW
DBMS_MVIEW
を使用すると、リライトの可用性の他、マテリアライズド・ビューおよび潜在的なマテリアライズド・ビューの機能を理解できます。また、同じリフレッシュ・グループおよびパージ・ログの一部ではないマテリアライズド・ビューをリフレッシュできます。
ノート:
DBMS_MVIEW
はDBMS_SNAPSHOT
のシノニムです。
参照:
データ・ウェアハウス環境におけるマテリアライズド・ビューの使用方法の詳細は、『Oracle Databaseデータ・ウェアハウス・ガイド』を参照してください。
この章のトピックは、次のとおりです:
111.1 DBMS_MVIEWの操作上のノート
問合せが256文字未満の場合は、SQL*PlusからEXECUTE
コマンドを使用してEXPLAIN_REWRITE
を起動できます。それ以外の場合は、/rdbms/demo/smxrw.sql
の例に示されているように、PL/SQLのBEGIN..END
ブロックを使用する方法をお薦めします。
111.2 DBMS_MVIEWのセキュリティ・モデル
DBMS_MVIEW
パッケージは、マテリアライズド・ビュー関連の複数のサブプログラムで構成され、その各サブプログラムには異なる機能要件と権限要件があります。
権限モデルは、一般的に実行者権限に基づきます。パッケージの各サブプログラムを実行すると、最初に実行者の権限がチェックされます。必要な権限がすべて付与されている場合、サブプログラムは実行されます。それ以外の場合、権限不足エラーがスローされます。
111.3 DBMS_MVIEWのルールおよび制限
DBMS_MVIEW.EXPLAIN_REWRITE
プロシージャでは、32627文字を超える問合せを受け入れられません。これらの制限は、マテリアライズド・ビューの定義問合せをDBMS_MVIEW.EXPLAIN_MVIEW
プロシージャに渡すときにも適用されます。
111.4 DBMS_MVIEWサブプログラムの要約
この表は、DBMS_MVIEW
サブプログラムを示し、簡単に説明しています。
表111-1 DBMS_MVIEWパッケージのサブプログラム
サブプログラム | 説明 |
---|---|
リフレッシュに必要なマテリアライズド・ビュー・データを保存するプロセスを実行します。 |
|
マスター表のマテリアライズド・ビュー・データが有効であり、マスター表が適切な状態であることを確認します。 |
|
作成するマテリアライズド・ビューのサイズを、バイトと行で見積もります。 |
|
マテリアライズド・ビューまたは潜在的なマテリアライズド・ビューを使用して実行できる事項を説明します。 |
|
クエリー・リライトが失敗した理由、または特定のマテリアライズド・ビュー(複数も可)を使用してオプティマイザがクエリー・リライトを実行した理由を説明します。 |
|
|
|
ROWIDからパーティション・マーカーを戻します。戻り値は、パーティション・チェンジ・トラッキング(PCT)で使用されます。 |
|
マテリアライズド・ビューで行が不要になると、ダイレクト・ローダー・ログからその行をパージします(データ・ウェアハウスで使用)。 |
|
マテリアライズド・ビュー・ログから行をパージします。 |
|
マテリアライズド・ビュー・ログから行をパージします。 |
|
同じリフレッシュ・グループのメンバーではない1つ以上のマテリアライズド・ビューをリフレッシュします。 |
|
マスター表またはマスター・マテリアライズド・ビューに変更を反映していないマテリアライズド・ビューをすべてリフレッシュします。 |
|
指定したマスター表またはマスター・マテリアライズド・ビューに依存する表ベースのマテリアライズド・ビュー、またはマスター表またはマスター・マテリアライズド・ビューをリフレッシュします。 |
|
個々のマテリアライズド・ビューの管理を可能にします。 |
|
マスター・サイトまたはマスター・マテリアライズド・ビュー・サイトで起動された個々のマテリアライズド・ビューを管理できるようにして、マテリアライズド・ビューの登録を解除します。 |
111.4.1 BEGIN_TABLE_REORGANIZATIONプロシージャ
このプロシージャは、リフレッシュに必要なマテリアライズド・ビュー・データを保存するプロセスを実行します。このプロシージャは、マスター表の再編成前にコールする必要があります。
構文
DBMS_MVIEW.BEGIN_TABLE_REORGANIZATION ( tabowner IN VARCHAR2, tabname IN VARCHAR2);
パラメータ
表111-2 BEGIN_TABLE_REORGANIZATIONプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
再編成する表の所有者。 |
|
再編成する表の名前。 |
111.4.2 END_TABLE_REORGANIZATIONプロシージャ
このプロシージャは、マスター表のマテリアライズド・ビュー・データが有効であり、マスター表が適切な状態であることを確認します。このプロシージャは、マスター表の再編成後にコールする必要があります。
構文
DBMS_MVIEW.END_TABLE_REORGANIZATION ( tabowner IN VARCHAR2, tabname IN VARCHAR2);
パラメータ
表111-3 END_TABLE_REORGANIZATIONプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
再編成する表の所有者。 |
|
再編成する表の名前。 |
111.4.3 ESTIMATE_MVIEW_SIZEプロシージャ
このプロシージャでは、作成するマテリアライズド・ビューのサイズをバイトおよび行数で見積もります。
構文
DBMS_MVIEW.ESTIMATE_MVIEW_SIZE ( stmt_id IN VARCHAR2, select_clause IN VARCHAR2, num_rows OUT NUMBER, num_bytes OUT NUMBER);
パラメータ
表111-4 ESTIMATE_MVIEW_SIZEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
|
|
分析用の |
|
推測カーディナリティ。 |
|
推測バイト数。 |
111.4.4 EXPLAIN_MVIEWプロシージャ
このプロシージャは、マテリアライズド・ビューまたは潜在的なマテリアライズド・ビューを使用して実行できる事項を説明します。たとえば、マテリアライズド・ビューが高速リフレッシュ可能であるかどうか、また、特定のマテリアライズド・ビューを使用して実行できるクエリー・リライトのタイプなどを判別します。
このプロシージャの使用方法は簡単です。DBMS_MVIEW
.EXPLAIN_MVIEW
をコールし、既存のマテリアライズド・ビューにパラメータとしてスキーマとマテリアライズド・ビュー名を渡します。または、潜在的なマテリアライズド・ビューに、SELECT
文字列またはCREATE
MATERIALIZED
VIEW
文を指定できます。マテリアライズド・ビューまたは作成前のマテリアライズド・ビューが分析され、結果がデフォルトの表MV_CAPABILITIES_TABLE
または配列MSG_ARRAY
に書き込まれます。
このプロシージャはオーバーロードされています。
-
最初のバージョンは、既存または潜在的なマテリアライズド・ビューを分析するもので、分析結果は
MV_CAPABILITIES_TABLE
に出力されます。 -
2番目のバージョンは、既存または潜在的なマテリアライズド・ビューを分析するもので、分析結果は
VARRAY
に出力されます。
構文
DBMS_MVIEW.EXPLAIN_MVIEW ( mv IN VARCHAR2, statement_id IN VARCHAR2:= NULL); DBMS_MVIEW.EXPLAIN_MVIEW ( mv IN VARCHAR2, msg_array OUT SYS.ExplainMVArrayType);
パラメータ
表111-5 EXPLAIN_MVIEWプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
既存のマテリアライズド・ビューの名前(オプションにより"."(ピリオド)で区切られた所有者の名前で修飾可能)、あるいは潜在的なマテリアライズド・ビューの |
|
クライアントが提供する一意の識別子。出力行を特定の |
|
出力を受け取るPL/SQLの |
使用上のノート
VARRAY
に出力を送る場合を除き、EXPLAIN_MVIEW
をコールする前にutlxmv.sql
スクリプトを実行して、現行スキーマ内にMV_CAPABILITIES_TABLE
を作成する必要があります。このスクリプトは、ADMIN
ディレクトリにあります。
111.4.5 EXPLAIN_REWRITEプロシージャ
このプロシージャを使用すると、クエリー・リライトに失敗した理由や、リライトした場合は使用されるマテリアライズド・ビューを確認できます。
プロシージャから得た結果を使用することで、クエリー・リライトに必要な適切なアクションを可能なかぎり実行できます。EXPLAIN_REWRITE
文で指定された問合せが、実際に実行されることはありません。
デモ・ファイルxrwutl.sql
を使用すると、EXPLAIN_REWRITE
からの出力をフォーマットできます。
構文
DBMS_MVIEW.EXPLAIN_REWRITE
からの出力を取得するには、2つの方法があります。1つは表を使用する方法、もう1つはVARRAY
を作成する方法です。出力表を使用するための基本構文は、次のとおりです。
DBMS_MVIEW.EXPLAIN_REWRITE ( query VARCHAR2, mv VARCHAR2(30), statement_id VARCHAR2(30));
utlxrw.sql
スクリプトを実行して、REWRITE_TABLE
という名前の出力表を作成できます。
query
パラメータはSQL問合せを表すテキスト文字列です。パラメータmv
は、schema.mv
という形式の完全修飾マテリアライズド・ビュー名です。これはオプションのパラメータです。指定されていない場合、EXPLAIN_REWRITE
は、目的の問合せのリライトに必要なすべてのマテリアライズド・ビューに関するメッセージを戻します。schema
を省略してmv
のみを指定すると、EXPLAIN_REWRITE
では現在のスキーマにあるマテリアライズド・ビューが検索されます。
EXPLAIN_REWRITE
の出力を表ではなくVARRAY
に送る場合は、プロシージャを次のようにコールする必要があります。
DBMS_MVIEW.EXPLAIN_REWRITE ( query [VARCHAR2 | CLOB], mv VARCHAR2(30), output_array SYS.RewriteArrayType);
問合せが256文字未満の場合は、SQL*PlusからEXECUTE
コマンドを使用して簡単にEXPLAIN_REWRITE
を起動できます。それ以外の場合は、/rdbms/demo/smxrw*
の例に示されているように、PL/SQLのBEGIN... END
ブロックを使用する方法をお薦めします。
また、複数のマテリアライズド・ビューでEXPLAIN_REWRITE
を使用することもできますが、この場合、構文は、マテリアライズド・ビューがカンマ区切り文字列で指定される点を除き、単一のマテリアライズド・ビューで使用される場合と同じです。たとえば、マテリアライズド・ビューの特定のセットmv1
、mv2
およびmv3
を問合せquery_txt
のリライトに使用できるかどうかを判断し、使用できない場合にその原因を調べるには、次のようにEXPLAIN_REWRITE
を使用します。
DBMS_MVIEW.EXPLAIN_REWRITE(query_txt, 'mv1, mv2, mv3')
EXPLAIN_REWRITE
プロシージャの使用方法の詳細は、『Oracle Databaseデータ・ウェアハウス・ガイド』を参照してください。
パラメータ
表111-6 EXPLAIN_REWRITEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
分析するSQLの |
|
既存のマテリアライズド・ビューの完全修飾名( |
|
出力メッセージを区別するためにクライアントが提供する一意の識別子。 |
|
出力を受け取るPL/SQLの |
使用上のノート
出力を表に取得するには、EXPLAIN_REWRITE
をコールする前にutlxrw.sql
スクリプトを実行する必要があります。このスクリプトは、現行のスキーマにREWRITE_TABLE
という名前の表を作成します。
111.4.6 I_AM_A_REFRESHファンクション
このファンクションは、I_AM_REFRESH
パッケージの状態の値を戻します。
構文
DBMS_MVIEW.I_AM_A_REFRESH RETURN BOOLEAN;
戻り値
戻り値がTRUE
の場合は、各レプリケーション・トリガーが最初にこの状態をチェックするため、このセッションではマテリアライズド・ビューのすべてのローカル・レプリケーション・トリガーが完全に使用禁止になります。戻り値がFALSE
の場合は、そのトリガーを使用できます。
111.4.7 PMARKERファンクション
このファンクションは、ROWIDからパーティション・マーカーを戻します。パーティション・チェンジ・トラッキング(PCT)に使用されます。
構文
DBMS_MVIEW.PMARKER( rid IN ROWID) RETURN NUMBER;
パラメータ
表111-7 PMARKERファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
マスター表における行エントリのROWID。 |
111.4.8 PURGE_DIRECT_LOAD_LOGプロシージャ
このプロシージャは、既知のマテリアライズド・ビューでエントリが不要になると、ダイレクト・ローダー・ログからそのエントリを削除します。このプロシージャは通常、Oracleのデータ・ウェアハウス・テクノロジを使用する環境で使用されます。
構文
DBMS_MVIEW.PURGE_DIRECT_LOAD_LOG();
111.4.9 PURGE_LOGプロシージャ
このプロシージャは、マテリアライズド・ビュー・ログから行をパージします。
構文
DBMS_MVIEW.PURGE_LOG ( master IN VARCHAR2, num IN BINARY_INTEGER := 1, flag IN VARCHAR2 := 'NOP');
パラメータ
表111-8 PURGE_LOGプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
マスター表またはマスター・マテリアライズド・ビューの名前。 |
|
マテリアライズド・ビュー・ログから削除する行の中で、リフレッシュ日付が最も古いマテリアライズド・ビューの数。たとえば、次の文は、リフレッシュ日付が最も古い2つのマテリアライズド・ビューをリフレッシュするために必要な行を削除します。
マテリアライズド・ビュー・ログにあるすべての行を削除するには、次の例のように、削除するマテリアライズド・ビューについて大きい数を指定します。
この文は、 |
|
|
111.4.10 PURGE_MVIEW_FROM_LOGプロシージャ
このプロシージャは、マテリアライズド・ビューのリフレッシュに関連したデータ・ディクショナリ表にある行を削除するためにマスター・サイトまたはマスター・マテリアライズド・ビュー・サイトでコールされますが、この表は、mview_id
またはmviewowner
、mviewname
およびmviewsite
の組合せで識別される指定マテリアライズド・ビューについて、マスター・サイトでメンテナンスされている表です。
指定したマテリアライズド・ビューが、任意のマスター表からリフレッシュされた最も古いマテリアライズド・ビューの場合、またはマスター・マテリアライズド・ビューの場合は、そのマテリアライズド・ビュー・ログもパージされます。このプロシージャは、マテリアライズド・ビューの登録解除は行いません。
構文
DBMS_MVIEW.PURGE_MVIEW_FROM_LOG ( mview_id IN BINARY_INTEGER); DBMS_MVIEW.PURGE_MVIEW_FROM_LOG ( mviewowner IN VARCHAR2, mviewname IN VARCHAR2, mviewsite IN VARCHAR2);
ノート:
このプロシージャはオーバーロードされています。mview_id
パラメータには、同時に指定できないパラメータが3つあり、それらのパラメータは、mviewowner
、mviewname
およびmviewsite
です。
パラメータ
表111-9 PURGE_MVIEW_FROM_LOGプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
ターゲット・マテリアライズド・ビューの識別に基づいてこのプロシージャを実行するには、 登録済マテリアライズド・ビューのリスト( |
|
|
|
|
|
|
使用上のノート
マテリアライズド・ビュー・ログの1つをパージしている間にエラーが発生した場合、それ以前に正常終了したマテリアライズド・ビュー・ログのパージ処理はロールバックされません。これは、マテリアライズド・ビュー・ログのサイズを最小限にするためです。このプロシージャは、エラーが発生した場合でも、すべてのマテリアライズド・ビュー・ログがパージされるまで再起動できます。
111.4.11 REFRESHプロシージャ
このプロシージャは、マテリアライズド・ビューのリストをリフレッシュします。
構文
DBMS_MVIEW.REFRESH ( { list IN VARCHAR2, | tab IN DBMS_UTILITY.UNCL_ARRAY,} method IN VARCHAR2 := NULL, rollback_seg IN VARCHAR2 := NULL, push_deferred_rpc IN BOOLEAN := true, refresh_after_errors IN BOOLEAN := false, purge_option IN BINARY_INTEGER := 1, parallelism IN BINARY_INTEGER := 0, heap_size IN BINARY_INTEGER := 0, atomic_refresh IN BOOLEAN := true, nested IN BOOLEAN := false, out_of_place IN BOOLEAN := false, skip_ext_data IN BOOLEAN := false);
ノート:
このプロシージャはオーバーロードされています。list
パラメータとtab
パラメータは、同時には指定できません。
パラメータ
表111-10 REFRESHプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
リフレッシュするマテリアライズド・ビューの、カンマ区切りのリストです。(シノニムはサポートされていません。)これらのマテリアライズド・ビューは、異なるスキーマに置くことができ、また異なるマスター表またはマスター・マテリアライズド・ビューを持つことができます。ただし、リストされているすべてのマテリアライズド・ビューが、ローカル・データベースに存在している必要があります。 他の方法として、 |
|
リストされているマテリアライズド・ビューのリフレッシュ方法を示す文字列。 マテリアライズド・ビューに対応するリフレッシュ方法がない場合(つまり、リフレッシュ方法より多くのマテリアライズド・ビューが指定された場合)、そのマテリアライズド・ビューはデフォルトのリフレッシュ方法に従ってリフレッシュされます。たとえば、SQL*Plus内の次の DBMS_MVIEW.REFRESH ('countries_mv,regions_mv,hr.employees_mv','cf'); この文は、 |
|
マテリアライズド・ビューのリフレッシュ中に使用する、マテリアライズド・ビュー・サイトのロールバック・セグメント名。 |
|
更新可能なマテリアライズド・ビューでのみ使用します。マテリアライズド・ビューをリフレッシュする前に、マテリアライズド・ビューから関連するマスター表またはマスター・マテリアライズド・ビューに変更を送信する場合、このパラメータを |
|
このパラメータを |
|
パラレル伝播メカニズムを使用する場合(つまり、パラレル化に1以上を設定)、0はパージなし、1はレイジー・パージ、2はアグレッシブ・パージになります。ほとんどの場合、レイジー・パージが最適な設定です。複数のマスター・レプリケーション・グループが別々のターゲット・サイトに送信され、1つ以上のレプリケーション・グループへの更新や送信がまれな場合は、アグレッシブ・パージに設定してキューを減らします。すべてのレプリケーション・グループへの更新と送信がまれな場合は、このパラメータを |
|
0 (ゼロ)はシリアル伝播を指定します。 n > 1は、n個のパラレル処理のパラレル伝播を指定します。 1は、パラレル処理を1つのみ使用するパラレル伝播を指定します。 |
|
パラレル伝播スケジュールのために同時に検査されるトランザクションの最大数です。最適なパフォーマンスを実現するデフォルト値が、自動的に計算されます。 ノート: Oracleサポート・サービスから指示された場合を除き、このパラメータを設定しないでください。 |
|
このパラメータを このパラメータが 完全リフレッシュの一環として、切捨てが使用されると(アトミック以外のリフレッシュ)、一意索引の再作成が実行されます。 |
|
このパラメータを |
|
このパラメータは、4つのリフレッシュ方法( |
|
外部パーティションに対応するMVデータ・リフレッシュをスキップするオプションを指定できます。 |
111.4.12 REFRESH_ALL_MVIEWSプロシージャ
このプロシージャは、特定のプロパティを持つすべてのマテリアライズド・ビューをリフレッシュします。
次のプロパティを持つすべてのマテリアライズド・ビューがリフレッシュされます。
-
マテリアライズド・ビューが依存するマスター表またはマスター・マテリアライズド・ビューに対する最も新しい変更が行われてから、マテリアライズド・ビューがリフレッシュされていない場合。
-
マテリアライズド・ビューおよびそれが依存しているすべてのマスター表またはマスター・マテリアライズド・ビューがローカルな場合。
-
マテリアライズド・ビューが
DBA_MVIEWS
ビューにある場合。
これは、データ・ウェアハウスで使用するためのプロシージャです。
構文
DBMS_MVIEW.REFRESH_ALL_MVIEWS ( number_of_failures OUT BINARY_INTEGER, method IN VARCHAR2 := NULL, rollback_seg IN VARCHAR2 := NULL, refresh_after_errors IN BOOLEAN := false, atomic_refresh IN BOOLEAN := true, out_of_place IN BOOLEAN := false);
パラメータ
表111-11 REFRESH_ALL_MVIEWSプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
処理中に発生した失敗の件数を戻します。 |
|
リフレッシュされる各マテリアライズド・ビューに対して実行するリフレッシュのタイプを示す単一のリフレッシュ方法。 |
|
マテリアライズド・ビューのリフレッシュ中に使用する、マテリアライズド・ビュー・サイトのロールバック・セグメント名。 |
|
このパラメータを |
|
このパラメータを このパラメータが |
|
このパラメータは、4つのリフレッシュ方法( |
111.4.13 REFRESH_DEPENDENTプロシージャ
このプロシージャは、特定のプロパティを持つすべてのマテリアライズド・ビューをリフレッシュします。
次のプロパティを持つマテリアライズド・ビューがリフレッシュされます。
-
マテリアライズド・ビューが、指定されたマスターのリストにあるマスター表またはマスター・マテリアライズド・ビューに依存している場合。
-
マテリアライズド・ビューが依存するマスター表またはマスター・マテリアライズド・ビューに対する最も新しい変更が行われてから、マテリアライズド・ビューがリフレッシュされていない場合。
-
マテリアライズド・ビューおよびそれが依存しているすべてのマスター表またはマスター・マテリアライズド・ビューがローカルな場合。
-
マテリアライズド・ビューが
DBA_MVIEWS
ビューにある場合。
これは、データ・ウェアハウスで使用するためのプロシージャです。
構文
DBMS_MVIEW.REFRESH_DEPENDENT ( number_of_failures OUT BINARY_INTEGER, { list IN VARCHAR2, | tab IN DBMS_UTILITY.UNCL_ARRAY,} method IN VARCHAR2 := NULL, rollback_seg IN VARCHAR2 := NULL, refresh_after_errors IN BOOLEAN := false, atomic_refresh IN BOOLEAN := true, nested IN BOOLEAN := false, out_of_place IN BOOLEAN := false);
ノート:
このプロシージャはオーバーロードされています。list
パラメータとtab
パラメータは、同時には指定できません。
パラメータ
表111-12 REFRESH_DEPENDENTプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
処理中に発生した失敗の件数を戻します。 |
|
マテリアライズド・ビューが依存できるマスター表またはマスター・マテリアライズド・ビューのカンマで区切られたリスト。(シノニムはサポートされていません。)これらの表およびそれらに依存するマテリアライズド・ビューは、別々のスキーマに配置できます。ただし、すべての表とマテリアライズド・ビューが、ユーザーのローカル・データベースに存在している必要があります。 他の方法として、 |
|
依存するマテリアライズド・ビューのリフレッシュ方法を示す文字列。特定の表に依存しているすべてのマテリアライズド・ビューは、その表に関連付けられたリフレッシュ方法に従ってリフレッシュされます。 表に対応するリフレッシュ方法がない場合(つまり、リフレッシュ方法より多くの表が指定された場合)、その表に依存するマテリアライズド・ビューはデフォルトのリフレッシュ方法に従ってリフレッシュされます。たとえば、SQL*Plus内の次の DBMS_MVIEW.REFRESH_DEPENDENT ('employees,deptartments,hr.regions','cf');
|
|
マテリアライズド・ビューのリフレッシュ中に使用する、マテリアライズド・ビュー・サイトのロールバック・セグメント名。 |
|
このパラメータを |
|
このパラメータを このパラメータが |
|
このパラメータを |
|
このパラメータは、4つのリフレッシュ方法( |
111.4.14 REGISTER_MVIEWプロシージャ
このプロシージャは、個々のマテリアライズド・ビューを管理できるようにします。マスター・サイトまたはマスター・マテリアライズド・ビュー・サイトでこのプロシージャを起動して、マテリアライズド・ビューを登録します。
通常、マテリアライズド・ビューは、作成されている間に自動的に登録されます。自動登録に失敗した場合または登録情報が削除された場合にかぎり、このプロシージャを実行してマテリアライズド・ビューを手動で登録してください。
構文
DBMS_MVIEW.REGISTER_MVIEW ( mviewowner IN VARCHAR2, mviewname IN VARCHAR2, mviewsite IN VARCHAR2, mview_id IN DATE | BINARY_INTEGER, flag IN BINARY_INTEGER, qry_txt IN VARCHAR2, rep_type IN BINARY_INTEGER := DBMS_MVIEW.REG_UNKNOWN);
パラメータ
表111-13 REGISTER_MVIEWプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
マテリアライズド・ビューの所有者。 |
|
マテリアライズド・ビューの名前。 |
|
Oracle Databaseバージョン8.x以上のマスター・サイトまたはマスター・マテリアライズド・ビュー・サイトで登録するマテリアライズド・ビューのマテリアライズド・ビュー・サイトの名前。この名前に二重引用符を含めることはできません。 |
|
マテリアライズド・ビューの識別番号。Oracle Databaseバージョン8.x以上のマテリアライズド・ビューは、 |
|
登録されているマテリアライズド・ビューのプロパティを記述する定数。割り当てることができる有効な定数を次に示します。 ROWIDマテリアライズド・ビューの場合は 主キー・マテリアライズド・ビューの場合は オブジェクトIDマテリアライズド・ビューの場合は 高速リフレッシュが可能なマテリアライズド・ビューの場合は 更新可能なマテリアライズド・ビューの場合は マテリアライズド・ビューにはこれらのプロパティのうち複数を設定できます。複数のプロパティを指定するには、プラス記号(+)を使用します。たとえば、主キーのマテリアライズド・ビューに高速リフレッシュを実行できる場合、このパラメータに次のように入力できます。
|
|
マテリアライズド・ビュー定義問合せの最初の32,000バイト。 |
|
マテリアライズド・ビューのバージョン。割り当てることができる有効な定数を次に示します。 マテリアライズド・ビューがOracle Databaseバージョン7のサイトにある場合、
マテリアライズド・ビューがOracle Databaseバージョン8.x以上のサイトにある場合、 マテリアライズド・ビューがOracle Databaseバージョン7のサイトまたはOracle Databaseバージョン8.x以上のサイトのどちらにあるか不明な場合、 |
使用上のノート
このプロシージャは、リモート・プロシージャ・コールを使用して、マスター・サイトまたはマスター・マテリアライズド・ビュー・サイトでリモート・マテリアライズド・ビューにより起動します。REGISTER_MVIEW
が同じmviewowner
、mviewname
およびmviewsite
を使用して複数回コールされている場合、mview_id
、flag
およびqry_txt
に対する最も新しい値が格納されます。問合せがVARCHAR2
の最大サイズを超える場合は、最初の32000文字がqry_txt
に格納され、残りは切り捨てられます。手動で起動した場合、プロシージャをコールしたユーザーがマテリアライズド・ビューのデータ・ディクショナリ・ビューでmview_id
の値を参照する必要があります。
111.4.15 UNREGISTER_MVIEWプロシージャ
このプロシージャは、個々のマテリアライズド・ビューを管理できるようにします。マスター・サイトまたはマスター・マテリアライズド・ビュー・サイトでこのプロシージャを起動して、マテリアライズド・ビューの登録を解除します。
構文
DBMS_MVIEW.UNREGISTER_MVIEW ( mviewowner IN VARCHAR2, mviewname IN VARCHAR2, mviewsite IN VARCHAR2);
パラメータ
表111-14 UNREGISTER_MVIEWプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
マテリアライズド・ビューの所有者 |
|
マテリアライズド・ビューの名前 |
|
マテリアライズド・ビュー・サイトの名前。 |