REMOVE_REPLICATION_CRITERIA プロシージャー
REMOVE_REPLICATION_CRITERIA プロシージャーは、複製基準リスト (URL) から複製基準規則を除去します。この規則を使用して、Db2® Mirror による複製に含める、または除外するオブジェクトを決定します。
- iasp-name、library-name、object-type、および object-name の組み合わせ
- iasp-name と rule-identifier の組み合わせ
複製基準規則は、アクティブ状態または保留状態のいずれかで定義されます。
apply を PENDING に設定すると、規則を除去してもアクティブな複製に影響しません。保留状態では、複製規則に対して複数の変更を行い、それらの規則を実動にコミットする前に、それらの影響を評価することができます。apply-label パラメーターを使用すると、保留中の規則をグループ化できます。
apply が ACTIVE に設定されており、同じ iasp-name の apply-label に一致する保留中の規則がある場合は、新規規則と apply-label のすべての保留中の規則がコミットされます。
INCLUSION_STATE 値が EXCLUDE であるアクティブな複製基準規則が、apply が ACTIVE に設定された RCL から除去されると、いずれかのオブジェクトが複製の対象になったかどうかを判別するために残りの規則が評価されます。これらの識別されたオブジェクトは、エラーを発生せずに複製処理をオブジェクトに適用できるように検査されます。この検査には、オブジェクトが 1 つのノードにのみ存在するか、または両方のノードに存在できるオブジェクトの場合に、そのオブジェクトが同一であるかの検査が含まれます。いずれかのオブジェクトが複製に失敗した場合、規則を除去することはできません。失敗の原因に関する詳細については、QSYS2.EVALUATE_PENDING_REPLICATION_CRITERIA テーブル関数を使用して確認できます。
権限: 不要です。
- iasp-name
- 複製基準規則の検索に使用される補助記憶域プール (ASP) グループの名前を識別する文字ストリング式またはグラフィック・ストリング式。次の特殊値を含めることができます。
- *SYSBAS
- 複製基準規則は、システム ASP (ASP 1) と基本ユーザー ASP (ASP 2 から 32) に関連付けられています。
- library-name
- 複製基準規則の検索に使用されるライブラリー名を識別する文字ストリング式またはグラフィック・ストリング式。library-name を指定した場合は、rule-identifier を指定することはできません。library-name または rule-identifier のいずれかを指定する必要があります。
- object-type
- 複製基準規則の検索に使用されるオブジェクト・タイプを識別する文字ストリング式またはグラフィック・ストリング式。object-type を指定する場合は、library-name も指定する必要があります。サポートされるタイプは次のとおりです。
- *DTAARA
- データ域
- *DTAQ
- データ待ち行列
- *ENVVAR
- システム・レベルの環境変数。library-name は QSYS でなければなりません。
- *FILE
- データベース・ファイル
- *JOBD
- ジョブ記述
- *JOBQ
- ジョブ待ち行列
- *JRN
- ジャーナル
- *LIB
- ライブラリー
- *OUTQ
- 出力待ち行列
- *PGM
- プログラム
- *SQLPKG
- SQL パッケージ
- *SQLUDT
- SQL ユーザー定義タイプ
- *SQLXSR
- SQL XML スキーマ・リポジトリー
- *SRVPGM
- サービス・プログラム
- *SYSVAL
- システム値。library-name は QSYS でなければなりません。
object-type を指定しない場合、一致する複製基準規則は、iasp-name および library-name の値を使用して検出されます。
- object-name
- 複製基準規則の検索に使用されるオブジェクトのシステム名、システム・レベル環境変数、またはシステム値を識別する文字ストリング式またはグラフィック・ストリング式。object-name を指定する場合は、object-type も指定する必要があります。
object-name を指定しない場合、一致する複製基準規則は、iasp-name、library-name、および object-type の値を使用して検出されます。
- rule-identifier
- 除去する特定の複製基準規則を識別する数値。この値は、REPLICATION_CRITERIA_INFO ビューの RULE_IDENTIFIER 列で定義されます。rule-identifier を指定すると、library-name、object-type、および object-name を指定することはできません。library-name または rule-identifier のいずれかを指定する必要があります。
- apply
- この複製基準規則を RCL から即時に除去するか、保留状態にするかを示す文字ストリング式またはグラフィック・ストリング式。
- apply-label
- この複製基準規則と関連付けるラベルを識別する文字ストリング式またはグラフィック・ストリング式。26 文字までの長さにすることができます。名前にブランクまたは等号 (=) 文字を含めることはできません。
例
- オブジェクト固有の規則を持たないライブラリー APPLIB1 内のオブジェクトの複製動作を定義するために使用された RCL から、複製基準規則を除去します。
これは、以下のプロシージャー呼び出しと同等です。CALL QSYS2.REMOVE_REPLICATION_CRITERIA(IASP_NAME => '*SYSBAS', LIBRARY_NAME => 'APPLIB1');CALL QSYS2.REMOVE_REPLICATION_CRITERIA(IASP_NAME => '*SYSBAS', LIBRARY_NAME => 'QSYS', OBJECT_NAME => 'APPLIB1', OBJECT_TYPE => '*LIB'); - RCL から完全に修飾された複製基準規則を除去します。
CALL QSYS2.REMOVE_REPLICATION_CRITERIA(IASP_NAME => '*SYSBAS', LIBRARY_NAME => 'APPLIB1', OBJECT_NAME => 'MYTABLE', OBJECT_TYPE => '*FILE'); - RCL を更新して、ライブラリー APPLIB1 内にあるすべてのテーブルに対する複製を開始します。以前は、APPLIB1 内の 1 つの完全修飾テーブルがアクティブに複製されていました。この個別の複製規則は不要になったため、除去する必要があります。次の方法で変更を実行すると、完全修飾テーブルがミラーリングされたままになり、不要なオブジェクト再同期を回避することができます。このプロセスでは、除去操作と追加操作の両方で apply および apply-label パラメーターを使用します。これらの規則を定義する順序は重要ではありません。これらは両方とも、APPLY => 'ACTIVE' が共通の apply-label を使用して要求されたときに処理されます。
CALL QSYS2.ADD_REPLICATION_CRITERIA(INCLUSION_STATE => 'INCLUDE', IASP_NAME => '*SYSBAS', LIBRARY_NAME=> 'APPLIB1', OBJECT_TYPE => '*FILE', APPLY => 'PENDING', APPLY_LABEL => 'GROUP1'); CALL QSYS2.REMOVE_REPLICATION_CRITERIA(IASP_NAME => '*SYSBAS', LIBRARY_NAME => 'APPLIB1', OBJECT_NAME => 'MYTABLE', OBJECT_TYPE => '*FILE', APPLY => 'ACTIVE', APPLY_LABEL => 'GROUP1'); - RCL から PENDING 状態の複製基準規則を除去します。REPLICATION_CRITERIA_INFO で定義された複製基準規則の RULE_IDENTIFIER 値は 168 で、APPLY_STATE 値は PENDING ADD です。APPLY_STATE 列に PENDING ADD または PENDING REMOVE の値を持つ既存の複製基準規則を除去できるのは、その保留中の規則の rule-identifier パラメーターと apply パラメーター値 ACTIVE を使用する場合のみです。
このプロシージャーでは、*GENERATE ではなく固有の apply-label を使用して、このジョブのその他の保留中の規則変更が影響を受けないようにします。CALL QSYS2.REMOVE_REPLICATION_CRITERIA(IASP_NAME => '*SYSBAS', RULE_IDENTIFIER => 168, APPLY => 'ACTIVE', APPLY_LABEL => 'CLEAR_RULE'); - ライブラリー APPLIB1 および APPLIB2 のすべての出力待ち行列について、特定の複製基準規則を RCL から除去します。出力待ち行列の複製を可能にする規則は、RCL 内の RULE_IDENTIFIER 値 211 および 213 によって識別されるものとします。
この例では、PENDING 状態になる既存の複製基準規則を識別する方法を両方とも示します。これらの方法は同等であり、交換して使用できます。
ライブラリー APPLIB1 の最初の複製基準規則は、rule-identifier 値によって識別されます。
2 つ目の複製基準規則は、その library-name および object-type パラメーターによって識別されます。生成される apply-label 値を使用して、両方の PENDING 変更が識別されます。CALL QSYS2.REMOVE_REPLICATION_CRITERIA(IASP_NAME => '*SYSBAS', RULE_IDENTIFIER => 211, APPLY => 'PENDING', APPLY_LABEL => '*GENERATE');
これらの変更を RCL に適用するには、生成される apply-label 値を指定して PROCESS_PENDING_REPLICATION_CRITERIA プロシージャーを使用します。CALL QSYS2.REMOVE_REPLICATION_CRITERIA(IASP_NAME => '*SYSBAS', LIBRARY_NAME => 'APPLIB2', OBJECT_TYPE => '*OUTQ', APPLY => 'PENDING', APPLY_LABEL => '*GENERATE');CALL QSYS2.PROCESS_PENDING_REPLICATION_CRITERIA(IASP_NAME => '*SYSBAS', APPLY_ACTION => 'COMMIT', APPLY_LABEL => '*GENERATE');
