REMOVE_REPLICATION_CRITERIA プロシージャー

REMOVE_REPLICATION_CRITERIA プロシージャーは、複製基準リスト (URL) から複製基準規則を除去します。この規則を使用して、Db2® Mirror による複製に含める、または除外するオブジェクトを決定します。

このプロシージャー呼び出しの以下のパラメーター・セットのいずれかが、RCL 内に存在する規則と正確に一致する場合、複製基準規則は RCL から除去されます。
  • iasp-namelibrary-nameobject-type、および object-name の組み合わせ
  • iasp-namerule-identifier の組み合わせ
複製基準規則が入力値に一致しない場合、エラーが戻されます。

複製基準規則は、アクティブ状態または保留状態のいずれかで定義されます。

applyPENDING に設定すると、規則を除去してもアクティブな複製に影響しません。保留状態では、複製規則に対して複数の変更を行い、それらの規則を実動にコミットする前に、それらの影響を評価することができます。apply-label パラメーターを使用すると、保留中の規則をグループ化できます。

applyACTIVE に設定されており、同じ iasp-nameapply-label に一致する保留中の規則がある場合は、新規規則と apply-label のすべての保留中の規則がコミットされます。

INCLUSION_STATE 値が EXCLUDE であるアクティブな複製基準規則が、applyACTIVE に設定された RCL から除去されると、いずれかのオブジェクトが複製の対象になったかどうかを判別するために残りの規則が評価されます。これらの識別されたオブジェクトは、エラーを発生せずに複製処理をオブジェクトに適用できるように検査されます。この検査には、オブジェクトが 1 つのノードにのみ存在するか、または両方のノードに存在できるオブジェクトの場合に、そのオブジェクトが同一であるかの検査が含まれます。いずれかのオブジェクトが複製に失敗した場合、規則を除去することはできません。失敗の原因に関する詳細については、QSYS2.EVALUATE_PENDING_REPLICATION_CRITERIA テーブル関数を使用して確認できます。

権限: 不要です。

構文図を読む構文図をスキップするREMOVE_REPLICATION_CRITERIA( IASP_NAME =>  iasp-name ,LIBRARY_NAME => library-name,OBJECT_TYPE => object-type,OBJECT_NAME => object-name,RULE_IDENTIFIER => rule-identifier,APPLY => apply,APPLY_LABEL => apply-label)
スキーマは QSYS2 です。
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-namelibrary-name、および object-type の値を使用して検出されます。

rule-identifier
除去する特定の複製基準規則を識別する数値。この値は、REPLICATION_CRITERIA_INFO ビューの RULE_IDENTIFIER 列で定義されます。rule-identifier を指定すると、library-nameobject-type、および object-name を指定することはできません。library-name または rule-identifier のいずれかを指定する必要があります。
rule-identifier を指定する場合:
  • apply が ACTIVE に設定されている場合、一致する複製基準規則が即時に RCL から除去されます。規則はアクティブ状態にも保留状態にもすることができます。
  • apply が PENDING に設定されている場合、一致するアクティブな複製基準規則を使用して新しい PENDING REMOVE 規則が定義されます。
apply
この複製基準規則を RCL から即時に除去するか、保留状態にするかを示す文字ストリング式またはグラフィック・ストリング式。
ACTIVE
この複製基準規則と、同じ apply-label を持つすべての保留中の規則が適用されます。これはデフォルト値。
PENDING
この複製基準規則は、apply-label によって識別される保留状態になります。
apply-label
この複製基準規則と関連付けるラベルを識別する文字ストリング式またはグラフィック・ストリング式。26 文字までの長さにすることができます。名前にブランクまたは等号 (=) 文字を含めることはできません。
apply-label は、保留中の複製基準規則をラベル付けして、同じ iasp-name に同じ apply-label を持つ他の保留ルールとグループ化できるようにするために使用されます。 この apply-label および ACTIVEapply 値を持つ規則が処理される際、または PROCESS_PENDING_REPLICATION_CRITERIA プロシージャーを使用することで、この一連の規則を 1 回の操作で RCL に適用できます。
apply-label は、ADD_REPLICATION_CRITERIA プロシージャーおよび REMOVE_REPLICATION_CRITERIA プロシージャーの呼び出しから生成される保留中の規則をグループ化することができます。
*GENERATE
apply-label はシステムによって生成されます。特定のジョブに対して生成される値は常に同じです。この動作により、ジョブ内の複数の規則変更が PENDING 状態で追加または削除され、その後 1 回の操作で処理されます。これはデフォルトです。
label-identifier
この規則を保留中の複製基準規則として識別したり、コミットする既存の一連の規則を識別したりする apply-label 値。

  • オブジェクト固有の規則を持たないライブラリー 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 を使用する場合のみです。
    CALL QSYS2.REMOVE_REPLICATION_CRITERIA(IASP_NAME => '*SYSBAS', 
                                           RULE_IDENTIFIER => 168, 
                                           APPLY => 'ACTIVE',
                                           APPLY_LABEL => 'CLEAR_RULE');
    このプロシージャーでは、*GENERATE ではなく固有の apply-label を使用して、このジョブのその他の保留中の規則変更が影響を受けないようにします。
  • ライブラリー APPLIB1 および APPLIB2 のすべての出力待ち行列について、特定の複製基準規則を RCL から除去します。出力待ち行列の複製を可能にする規則は、RCL 内の RULE_IDENTIFIER 値 211 および 213 によって識別されるものとします。

    この例では、PENDING 状態になる既存の複製基準規則を識別する方法を両方とも示します。これらの方法は同等であり、交換して使用できます。

    ライブラリー APPLIB1 の最初の複製基準規則は、rule-identifier 値によって識別されます。
    CALL QSYS2.REMOVE_REPLICATION_CRITERIA(IASP_NAME => '*SYSBAS', 
                                           RULE_IDENTIFIER => 211, 
                                           APPLY => 'PENDING', 
                                           APPLY_LABEL => '*GENERATE'); 
    2 つ目の複製基準規則は、その library-name および object-type パラメーターによって識別されます。生成される apply-label 値を使用して、両方の PENDING 変更が識別されます。
    
    CALL QSYS2.REMOVE_REPLICATION_CRITERIA(IASP_NAME => '*SYSBAS', 
                                           LIBRARY_NAME => 'APPLIB2', 
                                           OBJECT_TYPE => '*OUTQ', 
                                           APPLY => 'PENDING', 
                                           APPLY_LABEL => '*GENERATE'); 
    
    これらの変更を RCL に適用するには、生成される apply-label 値を指定して PROCESS_PENDING_REPLICATION_CRITERIA プロシージャーを使用します。
    CALL QSYS2.PROCESS_PENDING_REPLICATION_CRITERIA(IASP_NAME => '*SYSBAS', 
                                                    APPLY_ACTION => 'COMMIT', 
                                                    APPLY_LABEL => '*GENERATE');