目次 前 次 PDF


TMA/SNAの高可用性

TMA/SNAの高可用性
TMA SNAはOracle TuxedoとCICSの間の完全な高可用性接続をサポートし、シングル・ポイント障害を回避します。双方向ロード・バランシングと双方向フェイルオーバーの両方がサポートされています。
この章では、以下のトピックについて説明します。
アウトバウンド呼出し(Oracle TuxedoからCICS)
TMA SNAは、次の2つのタイプのアウトバウンド呼出しインフラストラクチャをサポートしています。
接続という用語はGWSNAXとCRMの間のTCP接続に使用され、リンクという用語はCRMとCICSの間のSNA接続に使用されます。
単一接続および複数リンク
図9‑1に示すように、1つのTuxedoクライアントがリモート・サービスを呼び出し、それがCICS DPLプログラムにマップされます。DPLプログラムは、CICSAとCICSBの2つのCICSリージョンで実行されます。一方、シングル・ポイント障害を回避するために2つのGWSNAX/CRMペアが構成されます。それぞれのCRMは両方のCICSリージョンに接続します。
図9‑1 アウトバウンド呼出し(単一接続および複数リンク)
このシナリオでは、次の4つのパスによってロード・バランシング/フェイルオーバーを確立できます。
toupclt -> SNAX1 -> CRM12205 -> CICSA -> TOUPDPLS
toupclt -> SNAX1 -> CRM12205 -> CICSB -> TOUPDPLS
toupclt -> SNAX2 -> CRM12206 -> CICSA -> TOUPDPLS
toupclt -> SNAX2 -> CRM12206 -> CICSB -> TOUPDPLS
表9‑1は、単一接続および複数リンクのアウトバウンド呼出しを行うために必要なすべての構成のリストです。
 
2つのGWSNAXサーバー用の2つのグループ
2つのGWADM/GWSNAXペア
4つのリモート・ドメイン: CICSA1、CICSB1、CICSA2、CICSB2
2つのCRM: CRM1、CRM2
4つのリンク: CICSA1、CICSB2、CICSA2、CICSB2
2つのLU用の2つのCONNECTION/SESSIONペア
2つのLU用の2つのCONNECTION/SESSIONペア
UBBCONFIGの構成
Tuxedo UBBCONFIGファイルで、次のように構成します。
1.
2つのGROUPエントリを追加します。
リスト9‑1 グループの追加
*GROUPS
SNAX1
LMID=SITE1 GRPNO=10
SNAX2
LMID=SITE1 GRPNO=9
 
2.
2つのGWADMおよびGWSNAXサーバーを追加します。
リスト9‑2 サーバーの追加
*SERVERS
GWADM
SRVGRP=SNAX1 SRVID=9
GWADM
SRVGRP=SNAX2 SRVID=10
 
GWSNAX
SRVGRP=SNAX1 SRVID=12
RQADDR="SNAX1"
REPLYQ=N RESTART=N GRACE=0
CLOPT="-A -- -t 1"
GWSNAX
SRVGRP=SNAX2 SRVID=13
RQADDR="SNAX2"
REPLYQ=N RESTART=N GRACE=0
CLOPT="-A -- -t 1"
 
DMCONFIGの構成
Tuxedo DMCONFIGファイルで、次のように構成します。
1.
リスト9‑3 ローカル・ドメインの追加
*DM_LOCAL
SNAX1
GWGRP=SNAX1 # same as GWSNAX group in ubbconfig
TYPE=SNAX
DOMAINID="SNAX1"
DMTLOGDEV="/home/wpwang/11TmaTest/sna_scml_ha/SNAX1"
SNAX2
GWGRP=SNAX2
TYPE=SNAX
DOMAINID="SNAX2"
DMTLOGDEV="/home/wpwang/11TmaTest/sna_scml_ha/SNAX2"
 
2.
リスト9‑4 リモート・ドメインの追加
*DM_REMOTE
CICSA1 TYPE=SNAX DOMAINID="CICSA1"
CICSA2 TYPE=SNAX DOMAINID="CICSA2"
CICSB1 TYPE=SNAX DOMAINID="CICSB1"
CICSB2 TYPE=SNAX DOMAINID="CICSB2"
 
3.
リスト9‑5 CRMの追加
*DM_SNACRM
CRM1
SNACRMADDR="//wasa:12205"
NWDEVICE="/dev/tcp"
LDOM="SNAX1"
CRM2
SNACRMADDR="//wasa:12206"
NWDEVICE="/dev/tcp"
LDOM="SNAX2"
 
4.
リスト9‑6 SNAスタックの追加
*DM_SNASTACKS
CRMST1
SNACRM="CRM1"
STACKTYPE="VT210"
LOCALLU="CRMLU06" #NETNAME in VTAM CONNECTION definition
LTPNAME="*"
STACKPARMS="wasa"
CRMST2
SNACRM="CRM2"
STACKTYPE="VT210"
LOCALLU="CRMLU07" #NETNAME in VTAM CONNECTION definition
LTPNAME="*"
STACKPARMS="wasa"
 
5.
リスト9‑7 SNAリンクの追加
*DM_SNALINKS
DEFAULT:
MODENAME="SMSNA100"
SECURITY="LOCAL"
STARTTYPE="COLD"
MAXSESS=8
MINWIN=4
MAXSYNCLVL=2
CICSA1 STACKREF="CRMST1" LSYSID="CR06" RDOM="CICSA1" RSYSID="CICS" RLUNAME="CICSA"
CICSB1 STACKREF="CRMST1" LSYSID="CR06" RDOM="CICSB1" RSYSID="CICS" RLUNAME="CICSB"
CICSA2 STACKREF="CRMST2" LSYSID="CR07" RDOM="CICSA2" RSYSID="CICS" RLUNAME="CICSA"
CICSB2 STACKREF="CRMST2" LSYSID="CR07" RDOM="CICSB2" RSYSID="CICS" RLUNAME="CICSB"
 
6.
リスト9‑8 サービスの定義
*DM_IMPORT
DEFAULT:
RACCESSPOINT=CICSA1
LOAD=50
FUNCTION=DPL
SIMPDPL
LACCESSPOINT=SNAX1
RACCESSPOINT=CICSA1
RNAME="TOUPDPLS"
INBUFTYPE="STRING"
OUTBUFTYPE="STRING"
SIMPDPL
LACCESSPOINT=SNAX1
RACCESSPOINT=CICSA2
RNAME="TOUPDPLS"
INBUFTYPE="STRING"
OUTBUFTYPE="STRING"
SIMPDPL
LACCESSPOINT=SNAX2
RACCESSPOINT=CICSB1
RNAME="TOUPDPLS"
INBUFTYPE="STRING"
OUTBUFTYPE="STRING"
SIMPDPL
LACCESSPOINT=SNAX2
RACCESSPOINT=CICSB2
RNAME="TOUPDPLS"
INBUFTYPE="STRING"
OUTBUFTYPE="STRING"
 
VTAMリストの構成
2つのAPPC LU、たとえば、次に示すようにLU CRMLU06およびCRMLU07を定義します。
リスト9‑9 APPC LUの定義
CRMMN3 VBUILD TYPE=APPL
CRMLU06 APPL ACBNAME=CRMLU06,
APPC=YES,
SYNCLVL=SYNCPT,
AUTH=(ACQ,PASS),
PARSESS=YES
CRMLU07 APPL ACBNAME=CRMLU07,
APPC=YES,
SYNCLVL=SYNCPT,
AUTH=(ACQ,PASS),
PARSESS=YES
 
接続の構成
それぞれのLUについて2つのCONNECTION/SESSIONペアを定義します。1つのCONNECTION/SESSIONペアは1つのCICSリージョンへの接続に使用されます。リスト9‑10では、1つのCONNECTION/SESSIONペアを定義します。
リスト9‑10 接続の定義
ADD GROUP(BEACON1) LIST(BEALST)
DEFINE CONNECTION(CR06) GROUP(BEACON1)
DE(BEA TMA SNA EXAMPLE RDO CONNECTION)
ACCESSMETHOD(VTAM) PROTOCOL(APPC)
NETNAME(CRMLU06)
ATTACHSEC(LOCAL) AUTOCONNECT(NO)
DEFINE SESSION(CR06S) GROUP(BEACON1)
CONNECTION(CR06)
DE(SESSION EXAMPLE)
PROTOCOL(APPC) AUTOCONNECT(YES)
MODENAME(SMSNA100) MAXIMUM(10,5)
DEFINE CONNECTION(CR07) GROUP(BEACON1)
DE(BEA TMA SNA EXAMPLE RDO CONNECTION)
ACCESSMETHOD(VTAM) PROTOCOL(APPC)
NETNAME(CRMLU07)
ATTACHSEC(LOCAL) AUTOCONNECT(NO)
DEFINE SESSION(CR07S) GROUP(BEACON1)
CONNECTION(CR07)
DE(SESSION EXAMPLE)
PROTOCOL(APPC) AUTOCONNECT(YES)
MODENAME(SMSNA100) MAXIMUM(10,5)
 
注意:
GROUP、LIST、CONNECTION、NETNAME、SESSION、MODENAMEおよびMAXIMUMの値を実際の値に置き換えてください。
CICSACICSBの両方のリージョンにリソース定義をインストールします。リソース定義をインストールするには、次のコマンドを入力します。
CEDA INSTALL GROUP (BEACON1)
DPLSのプログラミング
1.
次のJCLを使用してMIRRDPLCプログラムをコンパイルします。
//COMPIL1 JOB CLASS=2,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//PROCLIB JCLLIB ORDER=&SYSUID..SNASNT.JCL
//*
// SET CBLDS=&SYSUID..SNASNT.COBOL
// SET LDDS=&SYSUID..SNASNT.LOAD
//*
//STEP1 EXEC DFHYITVL,
// PROG='TOUPDPLS',
// SRCLIB=&CBLDS,
// DSCTLIB=&CBLDS,
// PROGLIB=&LDDS
2.
CICSACICSBの両方のリージョンでDPLプログラムを定義します。
DEFINE PROGRAM(TOUPDPLS) GROUP(SNASNT)
DESCRIPTION(BEA TMA SNA DPL CLIENT)
LANGUAGE(COBOL) DATALOCATION(ANY)
3.
CICSACICSBの両方のリージョンにリソース定義をインストールします。
CEDA INSTALL GROUP (SNASNT)
複数接続および複数リンク
単一接続および複数リンクとは異なり、このシナリオでは、各CRMが2つの別個のTuxedoドメイン内のGWSNAXから2つの接続を受け入れます。一方のドメインがマスターとして機能し、他方がスレーブとして機能します。
CRMは、複数接続と複数リンクの両方を同時にサポートします。
注意:
図9-2 複数接続および複数リンク
表9‑2は、複数接続および複数リンクのアウトバウンド呼出しを行うために必要なすべての構成のリストです。
 
2つのGWSNAXサーバー用の2つのグループ
2つのGWADM/GWSNAXペア
4つのリモート・ドメイン: CICSA1CICSB1CICSA2CICSB2
2つのCRM: CRM1CRM2
4つのリンク: CICSA1CICSB2CICSA2CICSB2
2つのGWSNAXサーバー用の2つのグループ
2つのGWADM/GWSNAXペア
4つのリモート・ドメイン: CICSA1CICSB1CICSA2CICSB2
2つのCRM: CRM1CRM2
4つのリンク: CICSA1CICSB2CICSA2CICSB2
2つのLU用の2つのCONNECTION/SESSIONペア
2つのLU用の2つのCONNECTION/SESSIONペア
複数接続および複数リンクの構成は単一接続シナリオのものとほとんど同じであるため、改めて説明しません。「単一接続および複数リンク」で前述した構成手順を参照できます。UBBCONFIGの変数IPCKEY、APPDIR、TUXCONFIG、TLOGDEVICEと、DMCONFIGDMTLOGDEVの構成のみが多少異なります。
インバウンド呼出し(CICSからOracle Tuxedo)
TMA SNAは、次の2つのタイプのインバウンド呼出しインフラストラクチャをサポートしています。
接続という用語はGWSNAXとCRMの間のTCP接続に使用され、リンクという用語はCRMとCICSの間のSNA接続に使用されます。
単一接続および複数リンク
図9‑3に示すように、1つのCICSトランザクションがDPL呼出しを介してリモート・プログラムにリンクし、それがOracle Tuxedoサービスにマップされます。Tuxedoサービスは1つのTuxedoサーバーによって提供され、シングル・ポイント障害を回避するために2つのGWSNAX/CRMペアが構成されます。
図9-3 インバウンド呼出し(CICSからOracle Tuxedo)
次の2つの呼出しパスによってロード・バランシング(ラウンドロビン)/フェイルオーバーを確立できます。
MIRRRDPLC->DYPSAMP -> CRM12205 -> SNAX1 -> mirrsrv
MIRRRDPLC->DYPSAMP -> CRM12206 -> SNAX2 -> mirrsrv
ロード・バランスとフェイルオーバーを使用して2つのCRMに自動的にリクエストを送信するように動的ルーティングをCICSで構成でき、デフォルトの動的ルーティング・プログラムDFHDYPを適宜カスタマイズする必要があります。
DFHDYPは、CICSで提供され、ユーザーが置き換え可能な動的ルーティング・プログラムです。適格なDPLリクエストの場合、リンクをルーティングする必要があるリージョンのSYSIDを取得するために、リンクされたプログラムが実行される前に、それが呼び出されます。
表9‑3は、単一接続および複数リンクのインバウンド呼出しを行うために必要なすべての構成のリストです。
 
2つのGWSNAXサーバー用の2つのグループ
2つのGWADM/GWSNAXペア
2つのCRM: CRM1、CRM2
2つのリンク: CICSA1、CICSA2
2つのLU用の2つのCONNECTION/SESSIONペア。
UBBCONFIGの構成
Tuxedo UBBCONFIGファイルで、次のように構成します。
1.
2つのGROUPエントリを追加します。
リスト9‑11 グループの追加
*GROUPS
SNAX1
LMID=SITE1 GRPNO=4
SNAX2
LMID=SITE1 GRPNO=5
 
2.
2つのGWADMおよびGWSNAXサーバーを追加します。
リスト9‑12 サーバーの追加
*SERVERS
GWADM
SRVGRP=SNAX1 SRVID=11
GWADM
SRVGRP=SNAX2 SRVID=12
 
GWSNAX
SRVGRP=SNAX1 SRVID=14
RQADDR="SNAX1"
REPLYQ=N RESTART=N GRACE=0
CLOPT="-A -- -t 1"
GWSNAX
SRVGRP=SNAX2 SRVID=15
RQADDR="SNAX2"
REPLYQ=N RESTART=N GRACE=0
CLOPT="-A -- -t 1"
 
3.
リスト9‑13 サーバーの追加
*SERVERS
mirrorsrv
SRVGRP=APPGRP SRVID=21 RQADDR="MIRROR" REPLYQ=Y CONV=N LMID=SITE1
 
DMCONFIGの構成
Tuxedo DMCONFIGファイルで、次のように構成します。
1.
リスト9‑14 ローカル・ドメインの追加
*DM_LOCAL
SNAX1
GWGRP=SNAX1 # same as GWSNAX group in ubbconfig
TYPE=SNAX
DOMAINID="SNAX1"
DMTLOGDEV="/home/wpwang/11TmaTest/sna_scml_ha/SNAX1"
SNAX2
GWGRP=SNAX2
TYPE=SNAX
DOMAINID="SNAX2"
DMTLOGDEV="/home/wpwang/11TmaTest/sna_scml_ha/SNAX2"
 
2.
リスト9‑15 リモート・ドメインの追加
*DM_REMOTE
CICSA1 TYPE=SNAX DOMAINID="CICSA1"
CICSA2 TYPE=SNAX DOMAINID="CICSA2"
 
3.
リスト9‑16 CRMの追加
*DM_SNACRM
CRM1
SNACRMADDR="//wasa:12205"
NWDEVICE="/dev/tcp"
LDOM="SNAX1"
CRM2
SNACRMADDR="//wasa:12206"
NWDEVICE="/dev/tcp"
LDOM="SNAX2"
 
4.
リスト9‑17 SNAスタックの追加
*DM_SNASTACKS
CRMST1
SNACRM="CRM1"
STACKTYPE="VT210"
LOCALLU="CRMLU08" #NETNAME in VTAM CONNECTION definition
LTPNAME="*"
STACKPARMS="wasa"
CRMST2
SNACRM="CRM2"
STACKTYPE="VT210"
LOCALLU="CRMLU09" #NETNAME in VTAM CONNECTION definition
LTPNAME="*"
STACKPARMS="wasa"
 
5.
リスト9‑18 SNAリンクの追加
*DM_SNALINKS
DEFAULT:
MODENAME="SMSNA100"
SECURITY="LOCAL"
STARTTYPE="COLD"
MAXSESS=8
MINWIN=4
MAXSYNCLVL=2
CICSA1 STACKREF="CRMST1" LSYSID="CR08" RDOM="CICSA1" RSYSID="CICS" RLUNAME="CICSA"
CICSA2 STACKREF="CRMST2" LSYSID="CR09" RDOM="CICSA2" RSYSID="CICS" RLUNAME="CICSA"
 
6.
リスト9‑19 サービスの定義
*DM_EXPORT
 
DEFAULT:
CONV=N
 
MIRROR
RNAME="MIRRORSERV"
INBUFTYPE="STRING"
OUTBUFTYPE="STRING"
 
VTAMリストの構成
2つのAPPC LU、たとえば、次に示すようにLU CRMLU08およびCRMLU09を定義します。
リスト9‑20 APPC LUの定義
CRMMN3 VBUILD TYPE=APPL
CRMLU08 APPL ACBNAME=CRMLU08,
APPC=YES,
SYNCLVL=SYNCPT,
AUTH=(ACQ,PASS),
PARSESS=YES
CRMLU09 APPL ACBNAME=CRMLU09,
APPC=YES,
SYNCLVL=SYNCPT,
AUTH=(ACQ,PASS),
PARSESS=YES
 
接続の構成
それぞれのLUについて2つのCONNECTION/SESSIONペアを定義します。1つのCONNECTION/SESSIONペアは1つのCICSリージョンへの接続に使用されます。リスト9‑10では、1つのCONNECTION/SESSIONペアを定義します。
リスト9‑21 接続の定義
ADD GROUP(BEACON1) LIST(BEALST)
DEFINE CONNECTION(CR08) GROUP(BEACON1)
DE(BEA TMA SNA EXAMPLE RDO CONNECTION)
ACCESSMETHOD(VTAM) PROTOCOL(APPC)
NETNAME(CRMLU08)
ATTACHSEC(LOCAL) AUTOCONNECT(NO)
DEFINE SESSION(CR08S) GROUP(BEACON1)
CONNECTION(CR08)
DE(SESSION EXAMPLE)
PROTOCOL(APPC) AUTOCONNECT(YES)
MODENAME(SMSNA100) MAXIMUM(10,5)
DEFINE CONNECTION(CR09) GROUP(BEACON1)
DE(BEA TMA SNA EXAMPLE RDO CONNECTION)
ACCESSMETHOD(VTAM) PROTOCOL(APPC)
NETNAME(CRMLU09)
ATTACHSEC(LOCAL) AUTOCONNECT(NO)
DEFINE SESSION(CR09S) GROUP(BEACON1)
CONNECTION(CR09)
DE(SESSION EXAMPLE)
PROTOCOL(APPC) AUTOCONNECT(YES)
MODENAME(SMSNA100) MAXIMUM(10,5)
 
注意:
GROUP、LIST、CONNECTION、NETNAME、SESSION、MODENAMEおよびMAXIMUMの値を実際の値に置き換えてください。
CICSリージョン(CICSHなど)にリソース定義をインストールします。リソース定義をインストールするには、次のコマンドを入力します。
CEDA INSTALL GROUP (BEACON1)
DPLCのプログラミング
1.
01 CONN-ST PIC S9(08) COMP.
01 RMT-SYS-1 PIC X(4) VALUE 'CR08'.
01 RMT-SYS-2 PIC X(4) VALUE 'CR09'.
LINKAGE SECTION.
2.
動的ルーティングを使用するようにMIRRDPLCでSYSIDをコメント化します。
EXEC CICS LINK
PROGRAM(REMOTE-SERVICE)
DATALENGTH(REQUEST-LEN)
LENGTH(LENGTH OF COMMAREA)
COMMAREA(COMMAREA)
SYNCONRETURN
* SYSID(REMOTE-SYSID)
RESP(RESP-CODE)
END-EXEC
3.
次のJCLを使用してMIRRDPLCおよびDYPSAMPプログラムをコンパイルします。
//COMPIL1 JOB CLASS=2,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//PROCLIB JCLLIB ORDER=&SYSUID..SNASNT.JCL
//*
// SET CBLDS=&SYSUID..SNASNT.COBOL
// SET LDDS=&SYSUID..SNASNT.LOAD
//*
//STEP1 EXEC DFHYITVL,
// PROG='MIRRDPLC',
// SRCLIB=&CBLDS,
// DSCTLIB=&CBLDS,
// PROGLIB=&LDDS
//STEP2 EXEC DFHYITVL,
// PROG='DYPSAMP',
// SRCLIB=&CBLDS,
// DSCTLIB=&CBLDS,
// PROGLIB=&LDDS
//*
4.
DEFINE PROGRAM(DYPSAMP) GROUP(SNASNT)
DEFINE PROGRAM(MIRRDPLC) GROUP(SNASNT)
DESCRIPTION(BEA TMA SNA DPL CLIENT)
LANGUAGE(COBOL) DATALOCATION(ANY)
5.
CEDA INSTALL GROUP (SNASNT)
CICSシステム初期化表の構成
次の定義をCICSシステム初期化表CICSTS42.CICS.CICSH.SYSIN(DFH¥SIPT)に追加します。
*PLTPI=00 DFHPLT Table Assembly (DL2)
DTRPGM=DYPSAMP
RLS=YES record level sharing
複数接続および複数リンク
単一接続および複数リンクとは異なり、このシナリオでは、各CRMが2つの別個のTuxedoドメイン内のGWSNAXから2つの接続を受け入れます。一方のドメインがマスターとして機能し、他方がスレーブとして機能します。
CRMは、複数接続と複数リンクの両方を同時にサポートします。
注意:
図9-4 複数接続および複数リンク
複数接続および複数リンクの構成は単一接続シナリオのものとほとんど同じであるため、改めて説明しません。「単一接続および複数リンク」で前述した構成手順を参照できます。UBBCONFIGの変数IPCKEY、APPDIR、TUXCONFIG、TLOGDEVICEと、DMCONFIGDMTLOGDEVの構成のみが多少異なります。
 

Copyright ©1994, 2017,Oracle and/or its affiliates. All rights reserved