DBMS_REFRESH
により、リフレッシュを一括して行えるマテリアライズド・ビューのグループを作成し、ある一時点において、整合性のある変換が行えるようになります。
この章には、次の項が含まれます。
表17-1 DBMS_REFRESHパッケージのサブプログラム
サブプログラム | 説明 |
---|---|
|
マテリアライズド・ビューをリフレッシュ・グループに追加します。 |
|
リフレッシュ・グループのリフレッシュ間隔を変更します。 |
|
リフレッシュ・グループからすべてのマテリアライズド・ビューを削除し、リフレッシュ・グループを削除します。 |
|
リフレッシュ・グループ・メンバー、およびこのグループ・メンバーをリフレッシュする間隔を指定します。 |
|
リフレッシュ・グループを手動でリフレッシュします。 |
|
マテリアライズド・ビューをリフレッシュ・グループから削除します。 |
このプロシージャは、マテリアライズド・ビューをリフレッシュ・グループに追加します。
構文
DBMS_REFRESH.ADD ( name IN VARCHAR2, { list IN VARCHAR2, | tab IN DBMS_UTILITY.UNCL_ARRAY, } lax IN BOOLEAN := FALSE);
注意: このプロシージャはオーバーロードされています。list パラメータとtab パラメータは、同時には指定できません。 |
パラメータ
表17-2 ADDプロシージャのパラメータ
パラメータ | 説明 |
---|---|
name |
|
list |
リフレッシュ・グループに追加するマテリアライズド・ビューの、カンマ区切りのリストです。シノニムはサポートされていません。 各マテリアライズド・ビューは、 |
tab |
カンマ区切りのリストのかわりに、 各マテリアライズド・ビューは、 |
lax |
マテリアライズド・ビューは、一度に1つのリフレッシュ・グループのみに所属できます。マテリアライズド・ビューを他のグループに移動する場合は、 |
このプロシージャは、リフレッシュ・グループのリフレッシュ間隔を変更します。
関連項目: リフレッシュ・グループの詳細は、『Oracle Databaseアドバンスト・レプリケーション』を参照してください。 |
構文
DBMS_REFRESH.CHANGE ( name IN VARCHAR2, next_date IN DATE := NULL, interval IN VARCHAR2 := NULL, implicit_destroy IN BOOLEAN := NULL, rollback_seg IN VARCHAR2 := NULL, push_deferred_rpc IN BOOLEAN := NULL, refresh_after_errors IN BOOLEAN := NULL, purge_option IN BINARY_INTEGER := NULL, parallelism IN BINARY_INTEGER := NULL, heap_size IN BINARY_INTEGER := NULL);
パラメータ
表17-3 CHANGEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
name |
リフレッシュ間隔を変更するリフレッシュ・グループの名前です。 |
next_date |
次にリフレッシュを行う日付です。デフォルトでは、この日付は変更されません。 |
interval |
このファンクションを使用して、リフレッシュ・グループ内のマテリアライズド・ビューを次にリフレッシュするタイミングが計算されます。intervalは、リフレッシュの直前に評価されます。したがって、リフレッシュにかかる時間より長い間隔を選択します。デフォルトでは、intervalは変更されません。 |
implicit_destroy |
|
rollback_seg |
使用するロールバック・セグメントを変更できます。デフォルトでは、ロールバック・セグメントは変更されません。このパラメータをリセットしてデフォルトのロールバック・セグメントを使用するには、引用符を含めて |
push_deferred_rpc |
更新可能なマテリアライズド・ビューのみで使用します。マテリアライズド・ビューをリフレッシュする前に、マテリアライズド・ビューから対応付けられたマスター表またはマスター・マテリアライズド・ビューに変更をプッシュする場合は、このパラメータを |
refresh_after_errors |
更新可能なマテリアライズド・ビューのみで使用します。マテリアライズド・ビューのマスター表またはマスター・マテリアライズド・ビューの |
purge_option |
パラレル伝播メカニズムを使用している場合(すなわち
ほとんどの場合、レイジー・パージが最適な設定になります。複数マスター・レプリケーション・グループが異なるターゲット・サイトにプッシュされ、1つ以上のレプリケーション・グループに対する更新が不定期に行われるか不定期にプッシュされる場合は、アグレッシブ・パージに設定してキューを少なくします。すべてのレプリケーション・グループへの更新と送信がまれな場合は、パージをパージなしに設定し、キューを減らすためにパージをアグレッシブに設定して時々 |
parallelism |
0(ゼロ)はシリアル伝播を指定します。 n > 1は、n個のパラレル処理のパラレル伝播を指定します。 1は、パラレル処理を1つのみ使用するパラレル伝播を指定します。 |
heap_size |
パラレル伝播スケジュールのために同時に検査されるトランザクションの最大数です。最適なパフォーマンスを実現するデフォルト値が、自動的に計算されます。 注意: Oracleサポート・サービスから指示された場合を除き、このパラメータを設定しないでください。 |
このプロシージャは、リフレッシュ・グループからすべてのマテリアライズド・ビューを削除して、リフレッシュ・グループを削除します。
関連項目: リフレッシュ・グループの詳細は、『Oracle Databaseアドバンスト・レプリケーション』を参照してください。 |
このプロシージャは、リフレッシュ・グループ・メンバー、およびこのグループ・メンバーをリフレッシュする間隔を指定します。
構文
DBMS_REFRESH.MAKE ( name IN VARCHAR2 { list IN VARCHAR2, | tab IN DBMS_UTILITY.UNCL_ARRAY,} next_date IN DATE, interval IN VARCHAR2, implicit_destroy IN BOOLEAN := FALSE, lax IN BOOLEAN := FALSE, job IN BINARY_INTEGER := 0, rollback_seg IN VARCHAR2 := NULL, push_deferred_rpc IN BOOLEAN := TRUE, refresh_after_errors IN BOOLEAN := FALSE purge_option IN BINARY_INTEGER := NULL, parallelism IN BINARY_INTEGER := NULL, heap_size IN BINARY_INTEGER := NULL);
注意: このプロシージャはオーバーロードされています。list パラメータとtab パラメータは、同時には指定できません。 |
パラメータ
表17-5 MAKEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
name |
|
list |
リフレッシュするマテリアライズド・ビューの、カンマ区切りのリストです。シノニムはサポートされていません。これらのマテリアライズド・ビューは、異なるスキーマに置くことができ、また異なるマスター表またはマスター・マテリアライズド・ビューを持つことができます。ただし、すべてのマテリアライズド・ビューが、カレント・データベース内に存在する必要があります。 各マテリアライズド・ビューは、 |
tab |
カンマ区切りのリストのかわりに、 各マテリアライズド・ビューは、 |
next_date |
次にリフレッシュを行う日付です。 |
interval |
このファンクションを使用して、グループ内のマテリアライズド・ビューを次にリフレッシュするタイミングが計算されます。このフィールドは、 たとえば、intervalに |
implicit_destroy |
リフレッシュ・グループにメンバーが存在しなくなったとき、リフレッシュ・グループを自動的に削除するには、このパラメータを |
lax |
マテリアライズド・ビューは、一度に1つのリフレッシュ・グループのみに所属できます。マテリアライズド・ビューを既存のグループから新しいリフレッシュ・グループに移動する場合は、このパラメータを |
job |
インポート・ユーティリティで必要です。デフォルトの0(ゼロ)を使用してください。 |
rollback_seg |
マテリアライズド・ビューのリフレッシュ時に使用するロールバック・セグメントの名前です。デフォルトの |
push_deferred_rpc |
更新可能なマテリアライズド・ビューのみで使用します。マテリアライズド・ビューをリフレッシュする前に、対応付けられたマスター表またはマスター・マテリアライズド・ビューに、マテリアライズド・ビューから変更をプッシュする場合は、デフォルト値 |
refresh_after_errors |
更新可能なマテリアライズド・ビューのみで使用します。マテリアライズド・ビューのマスター表またはマスター・マテリアライズド・ビューの |
purge_option |
パラレル伝播メカニズムを使用している場合(すなわちparallelismが1以上に設定されている場合)、0はパージなし、1はレイジー・パージ(デフォルト)、2はアグレッシブ・パージになります。ほとんどの場合、レイジー・パージが最適な設定になります。 複数マスター・レプリケーション・グループが異なるターゲット・サイトにプッシュされ、1つ以上のレプリケーション・グループに対する更新が不定期に行われるか不定期にプッシュされる場合は、アグレッシブ・パージに設定してキューを少なくします。すべてのレプリケーション・グループへの更新と送信がまれな場合は、パージをパージなしに設定し、キューを減らすためにパージをアグレッシブに設定して時々 |
parallelism |
0(ゼロ)はシリアル伝播を指定します。 n > 1は、n個のパラレル処理のパラレル伝播を指定します。 1は、パラレル処理を1つのみ使用するパラレル伝播を指定します。 |
heap_size |
パラレル伝播スケジュールのために同時に検査されるトランザクションの最大数です。最適なパフォーマンスを実現するデフォルト値が、自動的に計算されます。 注意: Oracleサポート・サービスから指示された場合を除き、このパラメータを設定しないでください。 |
このプロシージャは、リフレッシュ・グループを手動でリフレッシュします。
関連項目: リフレッシュ・グループの詳細は、『Oracle Databaseアドバンスト・レプリケーション』を参照してください。 |
このプロシージャは、マテリアライズド・ビューをリフレッシュ・グループから削除します。
関連項目: リフレッシュ・グループの詳細は、『Oracle Databaseアドバンスト・レプリケーション』を参照してください。 |
構文
DBMS_REFRESH.SUBTRACT ( name IN VARCHAR2, { list IN VARCHAR2, | tab IN DBMS_UTILITY.UNCL_ARRAY, } lax IN BOOLEAN := FALSE);
注意: このプロシージャはオーバーロードされています。list パラメータとtab パラメータは、同時には指定できません。 |
パラメータ
表17-7 SUBTRACTプロシージャのパラメータ
パラメータ | 説明 |
---|---|
name |
メンバーを削除するリフレッシュ・グループの名前です。 |
list |
リフレッシュ・グループから削除するマテリアライズド・ビューの、カンマ区切りのリストです。(シノニムはサポートされていません。)これらのマテリアライズド・ビューは、異なるスキーマに置くことができ、また異なるマスター表またはマスター・マテリアライズド・ビューを持つことができます。ただし、すべてのマテリアライズド・ビューが、カレント・データベース内に存在する必要があります。 |
tab |
カンマ区切りのリストのかわりに、 |
lax |
リフレッシュ・グループ・メンバーではないマテリアライズド・ビューの削除を試みたときに、エラー・メッセージが生成されるようにするには、このパラメータを |