RNL サポート

RNL は IBM メインフレーム メソッドで、GRS はこのメソッドを使用してリソース範囲を特定します。RNL 機能のうち、SYSZDSN ロック範囲の特定に必須の機能のみが実装されています。

エンタープライズ サーバー RNL 実装の制限事項

次の項目はサポートされません。
  • RNL=NO
  • GRSRNL=EXCLUDE
  • GRS=NONE
  • ISGNQXIT または ISGNQXITFAST 出口

RNL は常に使用されます。

エンタープライズ サーバー RNL の設定

ESCLRNLs.cfg ファイルの特性
  • すべての RNL を ESCLRNLs.cfg という単一のファイルで作成する必要があります。
  • このファイルは CATALOG フォルダーと同じフォルダーに置かれる必要があり、エンタープライズ サーバー クラスターの全メンバーによって共有されます。
  • 名前と場所は設定できません。
  • ESCLRNLs.cfg ファイルは行順編成ファイルです。
  • ファイルには、エンタープライズ サーバー クラスターの各メンバーにロードされるすべての RNLDEF が含まれます。
ESCLRNLs.cfg ファイルの処理
  1. CAS マネージャーがファイルにアクセスしレコードを検証します。
  2. レコードが有効な場合はレコードは動的にインストールされます。
  3. RNL ファイル処理の終わりに、次のメッセージがコンソールに送信されます。
    TXSI9024I nnn RNLDEF loaded from ESCLRNLs.cfg 
    ここで nnn はファイルから正常にロードされた RNL の数です。
エンタープライズ サーバー クラスター マネージャーは、ESCLRNLs.cfg ファイルを検出しないと、デフォルトのファイルを作成しそのファイルに次の 1 行を追加します。
 RNLDEF RNL(INCL)TYPE(GENERIC) QNAME(SYSZDSN) 
この結果、すべての SYSZDSN で範囲がグローバル (サーバー) に設定されます。

ファイルには、エンタープライズ サーバー クラスター マネージャーのみがアクセスします。エンタープライズ サーバー クラスター クライアント リージョンの起動時に、すべてのクラスター クライアントは RNL を要求します。この処理は、エンタープライズ サーバー クラスター クライアント リージョンで pltpi からトランザクション fafaffff によって実行されるハンドシェイクの一部です。

RNL が GLM から受信されると、クライアントは次のメッセージをコンソールに送信します。
CASSI9025I All RNLDEFs received and installed from ES Cluster Manager GML_NAME

エンタープライズ サーバー RNLDEF サポートの制限事項

エンタープライズ サーバー クラスターでは、RNLDEF は次を使用して定義されます。
RNL 識別子
  • SYSTEM エクスクルード リストの RNL(EXCL)
  • SYSTEM インクルード リストの RNL(INCL)
エントリ タイプのインジケーター
  • TYPE(SPECIFIC) - エントリは特定の名前です。
  • TYPE(GENERIC) - エントリは一般的な名前です。
  • TYPE(PATTERN) - エントリはパターンの名前です。
qname
  • QNAME(QUEUE_NAME)

    エンタープライズ サーバー クラスターは、3 つのキュー名、SYSZJOBD、SYSZJOBN、SYSZDSN の処理のみを行います。RNL は SYSZDNS リソースの範囲の定義のみに使用されます。SYSZJOBD と SYSZJOBN は常にグローバルです (範囲 = サーバー)。

rname
  • RNAME(Resource_name)

    RNL に使用される QNAME のみが SYSZDSN なので、リソース名の最長は 44 です。

エンタープライズ サーバー RNLDEF フォーマット

メインフレームでは、エンタープライズ サーバー クラスター実装に比べてより自由なフォーマットが可能です。参照先:http://publib.boulder.ibm.com/infocenter/zos/v1r12/index.jsp?topic=%2Fcom.ibm.zos.r12.ieae200%2Fiea2e2b0169.htm

エンタープライズ サーバー クラスターでは、制約のあるフォーマットが適用されます。
  • 列に制約はありませんが、RNLDEF が 1 つの行に含まれる必要があります。
  • コメントはサポートされません。
  • 各 RNLDEF 文は RNLDEF という文字で始まると定義され、行の終わりで終了します。
  • 各 RNLDEF 文には、RNL、TYPE、QNAME、RNAME パラメーターが任意の順序で含まれる必要があります。これには唯一、次の例外があります。
    • TYPE(GENERIC) が一般の QNAME リソースに指定される場合、RNAME パラメーターの省略が可能です。次に例を示します。
       RNLDEF RNL(EXCL) TYPE(GENERIC) QNAME(SYSZDSN) 
      この結果、すべての SYSZDSN で範囲がローカルに設定されます。
  • キーワードまたは指定された値の内部を除き、空白をどこにでも挿入できます。
  • RNAME では検証はありません。
  • RNAME(X'19') のようなフォーマットはサポートされません。
  • 特定のリソース名のエントリが検索引数と一致するのは、それらがまったく同じ場合のみです。RNLDEF 文の RNAME 値の長さがコードに含まれる RNAME 値の長さと同じ場合のみに一致が生じます。

RNL の処理

次に示す IBM の図は、RNL の処理を表しています。エンタープライズ サーバー クラスターはこの動作をエミュレートしますが、エンタープライズ サーバー JES サブシステムは範囲を SERVERS (IBM SYSPLEX または SYSTEMS の値と同等) に設定しません。このため INCLUDE リストは系統的に処理されることに注意してください。INCLUDE RNL が RNAME と一致する場合、EXCLUDE リストが検索されます。

なお、RNLDEF の処理は INCLUDES および EXCLUDES 両方の最初の一致で停止します。

RNL の例

INCL/EXCL のリスト:

RNLDEF RNL(INCL) TYPE(SPECIFIC) QNAME(SYSZDSN) RNAME(SYS.CLUSTER.MYFILE)

RNLDEF RNL(INCL) TYPE(SPECIFIC) QNAME(SYSZDSN) RNAME(SYS1.CLUSTER.SPEC001)

RNLDEF RNL(INCL) TYPE(SPECIFIC) QNAME(SYSZDSN) RNAME(SYS1.CLUSTER.SPEC002)

RNLDEF RNL(INCL) TYPE(SPECIFIC) QNAME(SYSZDSN) RNAME(SYS1.CLUSTER.SPECXXX)

RNLDEF RNL(EXCL) TYPE(SPECIFIC) QNAME(SYSZDSN) RNAME(SYS1.CLUSTER.SPECXXX)

RNLDEF RNL(INCL) TYPE(GENERIC) QNAME(SYSZDSN) RNAME(SYS1.CLUSTER.GEN)

RNLDEF RNL(EXCL) TYPE(GENERIC) QNAME(SYSZDSN) RNAME(SYS1.CLUSTER.GENEXXX)

RNLDEF RNL(INCL) TYPE(PATTERN) QNAME(SYSZDSN) RNAME(SYS1.CLUSTER.PATT???)

RNLDEF RNL(EXCL) TYPE(GENERIC) QNAME(SYSZDSN) RNAME(SYS1.CLUSTER.PATTX)

RNLDEF RNL(EXCL) TYPE(PATTERN) QNAME(SYSZDSN) RNAME(SYS1.*.PAT*X2)

RNLDEF RNL(INCL) TYPE(PATTERN) QNAME(SYSZDSN) RNAME(SYS1.H???A.O*)