...

WebSphereMQ V6 キュー共用環境 トピック

by user

on
Category: Documents
73

views

Report

Comments

Transcript

WebSphereMQ V6 キュー共用環境 トピック
WebSphereMQ V6
キュー共用環境
Copyright ISE Co.,Ltd
<6章-3:キュー共用環境>
トピック
キュー共用環境
前提
各バージョンにおける機能の拡張
共用キューにおける63KBを超えるのメッセージ長のサポート
構成
コマンドの拡張
IGQ Double Hoppingの抑制
2
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
キュー共用環境の前提
MQ V6.0における前提
必須
„
„
„
„
z/OS V1.4以上
DB2 V7.1+PTF
データ共用環境
CF LEVEL 9以上
RRS
CF
必要に応じて:
„
zSeries Server
Network関連
キュー共用環境
MQ V6.0
DB2 V7.1+PTF
TCPIP
RRS
z/OS
3
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
キュー共用環境
Local Page Set
WMQA
Queue Sharing Group
WMQA
Local Log
Local Page Set
Local Log
GBP
DB2A
Data Sharing Group
BP
DB2B
BP
Shared Data Base
4
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
キュー共用の構成
Catalog
Directory
Table
Index
IRLM
IRLM
CF
DB2A
Log
BSDS
MQMA
DB2データ共用
DB2B
ロック・ストラクチャー
RRS
MQMB
Log
BSDS
RRS
リスト・ストラクチャー
MQGET
MQMAMSTR
SCA
MQMBMSTR
SQL
MQGET
SQL
キャッシュ・ストラクチャー
MQPUT
MQPUT
グループBP
Page
Set
Page
Set
MQキュー共用
リスト・ストラクチャー
MQMACHIN
管理
Log
BSDS
MQMBCHIN
Log
BSDS
リスト・ストラクチャー
アプリケーション
TCPIP / VTAM
TCPIP / VTAM
CFRMポリシー
CFRM
CDS
5
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
キュー共用の構成
キュー共用グループ関連
共用レポジトリ
„
オブジェクト定義,チャネル・ステータスなどの制御情報を各キュー・マネージャーで共用するためのDB2共用データ・ベース
ストラクチャー
„
„
管理ストラクチャー
同期点やキュー・マネージャー間で共有する制御情報を保持.キュー共用グループにつき1つ必要.
アプリケーション・ストラクチャー
共用キューとメッセージを保持.キュー共用グループにつき1つ以上必要.
新しい内部タスク
„
„
„
„
CFマネージャー
リスト・ストラクチャー上の資源に対するアクセス,管理を行う.
DB2マネージャー
DB2資源に対するアクセスを行う.
IGQエージェント(Intra Group Queuing Agent)
共用キュー経由でメッセージを受信する
ログ,BSDS,ページセット
共用チャネル関連
Generic Address
„
ネットワークレイヤーのSysplex対応機能(VTAM GR、TCPIP WLM/DNS、Neterok Dispatcherなど)により提供される単一宛先
Generic Port
„
Generic Addressに対してMQがlistenしているポート
グループ・リスナー
„
Generic Portをlistenしているリスナー
CFRM CDS(Couple Data Set)
CF上にストラクチャを定義するためのデータ・セット.
CFRMポリシー
キャッシュ,ロック,リストの各ストラクチャーを管理するための総称.
6
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
キュー共用の価値
可用性の向上
同一キュー共用グループ内の全てのキュー・マネージャーが共用キューにアクセス可能
グループアタッチ:キュー・マネージャー名ではなく、共用グループ名により接続が可能
ピア・リカバリー:Indoubtでないメッセージは他キュー・マネージャーによりバックアウト処理が
可能
ネットワーク・レイヤー製品の併用によりシングル・システムイメージの提供
ワーク・ロード・バランシング
PULL型のワーク・ロード・バランシングの実現
共用チャネルによる接続負荷の分散
パフォーマンス・メリット
同一キュー共用グループ内に属するキュー・マネージャー間接続
拡張性
クローン化されたシステムの動的追加が可能
7
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
各バージョンにおけるキュー共用環境
各バージョンにおける機能比較
CFLEVEL:MQSCコマンド“DEFINE CFSTRUCT”コマンドを用いて機能レベルを設定
バージョン
CFLEVEL
機能レベル
パーシステント・メッセージ
サポート
最大メッセージ長
V5.2
明示指定なし
V5.2
NA
63KB
V5.3&V5.3.1
CFLEVEL(1)
CFLEVEL(2)
V5.2
NA
63KB
CFLEVEL(3)
V5.3
RECOVER(YES)でサポート
63KB
CFLEVEL(1)
CFLEVEL(2)
V5.2
NA
63KB
CFLEVEL(3)
V5.3
RECOVER(YES)でサポート
63KB
CFLEVEL(4)
V6.0
RECOVER(YES)でサポート
100MB
V6.0
グループメッセージ:CFLEVEL3以降にてサポート
„
INDXTYPEの指定が必要
8
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
共用キューにおけるパーシステント・メッセージのサポート
MQ V5.3から
CFLEVEL(3以上) RECOVER(YES)で定義されたCF STRUCTURE上のキュー
LOGはキュー共用グループに存在する全てのキュー・マネージャーで個別に取得
キュー共用グループ
CEC1
CEC2
MQPUT
Log-A
MQGET
QmgrA
QmgrB
CHINIT
Log-B
CHINIT
共用キュー
障害時は一つのキュー・マネージャーが代表して復旧
„
管理ストラクチャーが存在するCF障害時には一旦全てのキュー・マネージャーの立ち上げが必要
RECOVER CFSTRUCT
コマンド
Log-A
キュー共用グループ
CEC1
CEC2
QmgrA
QmgrB
CHINIT
Log-B
CHINIT
共用キュー
9
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
共用キューにおける
63KB超メッセージのサポート
10
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
共用キューでの63KB超メッセージのサポート
MQ V6.0にてサポート
CFLEVEL(4)よりサポート
„
コマンドレベルV6(MQ V6.0)が前提
63KB超のメッセージ本体は共用データベースに保存
„
„
„
„
„
CFストラクチャーには参照情報(PLEID)を保持:4KB
MQ HDRはCF上にも保管
メッセージ本体は共用データベースに保存
CSQ.ADMIN_B_MESSAGES
→BLOB:511KBのセグメント化
MQPUT,MQGETのAPIは変更なし
63KB以下のメッセージはCF上に保存
„
CFLEVEL(3)と同じ
MQのログにはメッセージ全体が書き出される(パーシステント・メッセージ)
„
„
DB2 BLOB TSはLOG NOを指定
メッセージの復旧はMQのログを用いて実施
11
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
参考:DB2 LOB処理(1)
BASEテーブルとAuxiliaryテーブル
LOBの扱い
„
„
„
„
Baseテーブル:LOBカラム定義のみ (LOBインディケーター:6Bytes)
Auxiliaryテーブル:LOBはAuxiliaryカラムとしてAuxiliaryテーブルに保持
Baseテーブルに複数LOBカラムが存在する場合、カラム毎にAuxiliaryテーブルが存在する
Baseテーブルを分割(区分化)可能
→クラスター・インデックスで割振りを定義 (V7)
ROWID
„
„
„
„
„
„
Base テーブルとAuxiliaryテーブルの各行は型:ROWIDにて関連付けられる
ROWIDは19Bytes
ROWIDカラムは一つに定義されている必要がある
行単位にROWIDカラムの値はユニークになる必要がある
同一行の複数LOBカラムは同じROWIDを持つ
ROWID GENERATED ALWAYSにてDB2が値を生成
12
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
参考:DB2 LOB処理(2)
Auxiliaryテーブル
各AuxiliaryテーブルにIndexが必要
„
„
ROWID(19 Bytes)とRID(5 Bytes)により構成
Createステートメントでカラム指定不要
CREATE INDEX MAUX1IND ON
MSG_AUX1
CREATE TABLE BASETBL
(TITLE
CHAR(10),
IDCOL ROWID GENERATED ALWAYS
BLOBMSG BLOB(512M));
TITLE
IDCOL
BLOBMSG
10 Bytes
19 Bytes
6 Bytes
ROWID
RID
外部表の行を特定
CREATE AUX TABLE MSG_AUX1
IN aux_ts
STORES BASETBL
COLUMN BLOBMSG
BLOBMSG本体
512M Bytes
Auxiliaryテーブル個別にテーブルスペースが必要
13
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
参考:DB2 LOB処理(3)
区分化
Baseテーブルを区分化
„
Auxiliaryテーブルは区分単位に対応
V7ではTYPE 2 CLUSTER INDEXに分割に用いるカラムを定義
V8ではテーブル定義時に分割を指定
ログ
Auxiliaryテーブルはログ取得の選択が可能
„
Auxiliaryテーブルスペースで定義
14
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
CFLEVEL(4)での63KB超のメッセージ
メッセージの本体は、BLOBとして保持
アプリケーション・ストラクチャーからはPLEIDでポイントされる
BLOBサイズは各511KB
511KBを超えるメッセージは複数にスプリットされる
Baseテーブルは4つに区分化
„
サンプルでは同一STORGROUP
BASEPARTの値により区分、AUXILIALRY TABLEが決定
CSQ.ADMIN_MSGS_BAUX1
CSQ.ADMIN_B_MESSAGES
PLEID
QSG1.APLSTR
QSGNAME
SEGNO
ROWID BASEPART
PLEID
CSQ.ADMIN_MSGS_BAUX2
CF
区分1
PLEID
QSGNAME
SEGNO
ROWID BASEPART
区分2
PLEID
QSGNAME
SEGNO
ROWID BASEPART
区分3
PLEID
QSGNAME
SEGNO
ROWID BASEPART
区分4
PLEID
QSGNAME
SEGNO
ROWID BASEPART
BASEPART
Cluster Index
(V7)
15
CSQ.ADMIN_MSGS_BAUX3
CSQ.ADMIN_MSGS_BAUX4
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
CFLEVEL(4)でのメッセージの保持方法(1)
BLOB用テーブル定義
Base テーブル:CSQ.ADMIN_B_MESSAGES
„
„
4区分
ベース表のカラム:BASEPARTによりクラスター化
AUXILIARLY テーブル:CSQ.ADMIN_MSGS_BAUXn
„
„
„
„
番号n:1-4
4区分に対応
INDEX:CSQ.ADMIN_MSGSn
TSはLOG(NO)
CLUSTER INDEX:CSQ.CLUS_INDEX
„
„
„
BASEPARTの値によりAUXILIARLY テーブルを決定
PART1:x’0000’-x’3FFF’
PART2:x’4000’-x’7FFF’
PART3:x’8000’-x’BFFF’
PART4:x’C000’-x’FFFF’
BASEPARTはメッセージのSTCK末尾2BYTEにより決定される
同一メッセージは同一BASEPARTが振られる
16
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
CFLEVEL(4)でのメッセージの保持方法(2)
メッセージ、アプリケーション・ストラクチャー、ベース・テーブル、AUXILIARLY表の関係
MSG
MSG長
分割数
MSG1
MSG2
MSG3
400KB
600KB
1200KB
1
2
3
CSQ.ADMIN_MSGS_BAUX1
LOB Msgs
MSG1-1
MQPUT
CSQ.ADMIN_B_MESSAGES
PLEID
QSG1.APLSTR
PLEID
ID1
ID2
ID3
メッセージ単位に
PLEIDをアサイン
QSGNAME SEGNO
CSQ.ADMIN_MSGS_BAUX2
MROWID BASEPART
ID1
QSG1
1
ROWID1
0020
ID2
ID2
QSG1
QSG1
1
2
ROWID2
ROWID3
4001
4001
ID3
ID3
ID3
QSG1
QSG1
QSG1
1
2
3
ROWID4
ROWID5
ROWID6
8010
8010
8010
メッセージ長に
合わせて分割
分割単位に
MROWIDをアサイン
同一メッセージは
同一BASEPART
17
LOB Msgs
MSG2-1
MSG2-2
CSQ.ADMIN_MSGS_BAUX3
LOB Msgs
MSG3-1
MSG3-2
MSG3-3
CSQ.ADMIN_MSGS_BAUX4
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
共用キューでの63KB超メッセージのサポート(続き)
PLEID(CF)と共用DBの不一致
MQGET時にPLEIDに該当するDBのエントリーが見つからない
„
„
„
„
Sturcture Failureと判断:Reason
2373 MQRC_CF_STRUC_FAILED
キュー共用環境に存在する他キュー・マネージャーに通知
ストラクチャーの復旧はRECOVER CFSTRUCTコマンドにて実施
メッセージ表示例:
CSQE035E M60B CSQEQSR1 STRUCTURE APLC4 IN FAILED STATE, RECOVERY NEEDED
CSQE007I M60B EEPLSTRFAILURE EVENT RECEIVED FOR 214
STRUCTURE APLC4 CONNECTION NAME CSQEQSG6M60B02
CSQE006I M60B STRUCTURE APLC4 CONNECTION NAME 215
CSQEQSG6M60B02 DISCONNECTED
18
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
CF関連障害
管理ストラクチャー障害時にV6 QMgrはABENDしない
CONNECTION Failureは今まで通りTerminate
„
他QmgrでPeerRecoveryを実行させるため
障害内容
アプリケーション・
ストラクチャー
管理ストラク
チャー
障害時のQmgrの挙動
MQ V5.2
MQ V5.3 V5.3.1
MQ V6
CFLEVEL(1,2)
ABEND
ABEND
ABEND
CFLEVEL(3)
-
エラー表示
エラー表示
CFLEVEL(4)
-
-
エラー表示
リンク障害
ABEND
ABEND
ABEND
ストラクチャー障害
ABEND
ABEND
エラー表示
リンク障害
ABEND
ABEND
ABEND
ストラクチャー障害
19
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
(参考):63KB超のメッセージのパフォーマンス(1)
SupportPac:MP1Eより
共用キューのメッセージ:63KB前後でパフォーマンスに変異点が存在する
共用キューのメッセージ: 511KB超でパフォーマンスに影響
(抜粋:SupportPac MP1Eより)
20
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
(参考):63KB超のメッセージのパフォーマンス(2)
*1SupportPacは以下のURLから入手可能
http://www-306.ibm.com/software/integration/support/supportpacs/product.html#wmq
*2:SupportPacに示された数値はIBMにて保障された訳ではありません
21
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
構成
22
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
DB2資源の計画
DB2定義資源
GPB名(シンボル名)*
テーブル・スペース名(シンボル名)*
テーブル名
DB2BPQMGR4K
DB2TBLSPCQMGR4K
CSQ.ADMIN_B_QSG
CSQ.ADMIN_B_QMGR
CSQ.EXTEND_B_QMGR
CSQ.ADMIN_B_STRUCTURE
CSQ.ADMIN_B_STRBACKUP
CSQ.OBJ_B_QUEUE
CSQ.OBJ_B_PROCESS
CSQ.OBJ_B_STGCLASS
CSQ.OBJ_B_AUTHINFO
DB2BPQMGR32K
DB2TBLSPCQMGR32K
CSQ.OBJ_B_NAMELIST
CSQ.OBJ_B_CHANNEL
DB2BPCHIN
DB2TBLSPCCHIN
CSQ.ADMIN_B_SCST
CSQ.ADMIN_B_SSKT
DB2BPQMGR4K
DB2TBLSPCBLOBMSGBASE4K
CSQ.ADMIN_B_MESSAGES
DB2BPBLOB32K
DB2TBLSPCLOB1-32K
CSQ.ADMIN_MSGS_BAUX1
DB2BPBLOB32K
DB2TBLSPCLOB2-32K
CSQ.ADMIN_MSGS_BAUX2
DB2BPBLOB32K
DB2TBLSPCLOB3-32K
CSQ.ADMIN_MSGS_BAUX3
DB2BPBLOB32K
DB2TBLSPCLOB4-32K
CSQ.ADMIN_MSGS_BAUX4
DB2
*GBP、TableSpace名は変更対象としてのサンプルJCL内のシンボル名です
23
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
MQ V6での共用環境DB2テーブル構成
テーブル名
行サイズ
行追加単位
V5.3.1からの変更
CSQ.ADMIN_B_QSG
252Bytes
キュー共用グループ追加時
サイズ増加
サイズ増加
CSQ.ADMIN_B_QMGR
3828 Bytes *1
キュー・マネージャー追加時
CSQ.ADMIN_B_STRUCTURE
329 Bytes
アプリケーション・ストラクチャー追加時
CSQ.ADMIN_B_SCST
342 Bytes
共用チャネル開始時
CSQ.ADMIN_B_SSKT
254 Bytes
NPMSPEED(NORMAL)の共用チャネル開始時
(もしくはパーシステント・メッセージ転送時 *1)
CSQ.ADMIN_B_STRBACKUP
507 Bytes
アプリケーション・ストラクチャー追加時
CSQ.OBJ_B_AUTHINFO
3400 Bytes
AUTHINFO DISP(GROUP)定義時
CSQ.OBJ_B_QUEUE
3707 Bytes *1
オブジェクト定義時
CSQ.OBJ_B_NAMELIST
15127 Bytes *1
オブジェクト定義時
CSQ.OBJ_B_CHANNEL
14127 Bytes *1
オブジェクト定義時
CSQ.OBJ_B_STGCLASS
2865 Bytes *1
オブジェクト定義時
CSQ.OBJ_B_PROCESS
3347 Bytes *1
オブジェクト定義時
CSQ.EXTEND_B_QMGR
430 Bytes *1
キュー・マネージャー追加時(内容:XPARM)
テーブル追加
CSQ.ADMIN_B_MESSAGE
87 Bytes
メッセージPUT時:511KB単位に追加
テーブル追加
同上
テーブル追加
CSQ.ADMIN_MSGS_BAUX1
CSQ.ADMIN_MSGS_BAUX2
CSQ.ADMIN_MSGS_BAUX3
CSQ.ADMIN_MSGS_BAUX4
サイズ増加
サイズ増加
*1:幕張テスト環境での確認
24
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
DB2環境の構築
DB2環境の構築
サンプルJCL:SCSQPROCに提供
JOB名
定義
事前確認事項
CSQ45CSG
DB2ストレージグループ作成
DB2SSID,
DB2STGRP,DB2VOLUME,DB2VCAT
CSQ45CDB
DB2データベース作成
DB2DBNAME,
GBP32K
CSQ45CTS
テーブルスペース作成
TableSpace名、該当GBP
容量
CSQ45CTB
テーブル作成
容量
CSQ45BPL
プランのバインド
CSQ45GEX
グラント
25
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
MQ ログ容量の計画
共用キューでのパーシステント・メッセージ
CFLEVEL(3)以上+RECOVER(YES)
パーシステント・メッセージはログに活動を取得
MQPUT時にはメッセージ本体もログに取得
アプリケーション・ストラクチャーのバックアップ
バックアップイメージはログに取得される
„
„
ストラクチャー障害時には各キュー・マネージャy-のログより復旧
静止点イメージを取得することにより、ログ適用量の削減
CFLEVEL(3)およびCFLEVEL(4)のストラクチャーが対象
イメージサイズは滞留メッセージ数x平均メッセージ長に比例
CFLEVEL(4)のストラクチャー上に、大量のメッセージが滞留する場合はイメージ・サイズに
注意が必要
26
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
CFストラクチャーの計画・定義
CFRM ポリシーの計画
管理ストラクチャーとアプリケーション・ストラクチャー
„
„
„
サンプルJCL:SCSQPROC(CSQ4CFRM)
各ストラクチャー名の先頭4文字はキュ共用グループ名でなければならない
キュー共用グループ毎に最大64ストラクチャーを定義可能
→一つは管理ストラクチャー
管理ストラクチャー:
„
„
„
ストラクチャー名は:キュー共用グループ名+”CSQ_ADMIN”
最低10MB
キュー・マネージャー単位に1000エントリー確保する
アプリケーション・ストラクチャー
„
„
„
ストラクチャー毎に512共用キューを定義可能
ストラクチャー当たり最大800万メッセージを保持可能
平均メッセージ長から必要ストラクチャーサイズを見積もる
→CFLEVEL(4)上の63KB超のメッセージは4KBで見積もる
27
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
CFストラクチャーの計画・定義:管理ストラクチャー
Admin Structure:
„
„
„
1Qmgr当たり最低1000 LIST Entriesを確保
製品提供サンプルでは10MBをINITSIZEに指定
キュー・マネージャー数との比較は以下の数値を参照
( GC34-6582:WMQ V6 for z/OS Concepts and Planning Guideより)
キュー・マネージャー数
必要ストレージ
1
2560KB
2
3328KB
4
4608KB
8
7680KB
16
13568KB
31
24832KB
28
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
CFストラクチャーの計画・定義:アプリケーション・ストラクチャー
アプリケーション・ストラクチャー:
„
„
平均メッセージ長より以下のグラフを参考に見積もりを実施
CFLEVEL(4)での63KB超のメッセージは4KBとして見積もる
出典:GC34-6582 WMQ V6 for z/OS Concepts and Planning Guideより
29
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
DB2リポジトリーへの登録
キュー共用グループの登録
サンプルJCL:SCSQPROC(CSQ45AQS)
//ADDQSG EXEC PGM=CSQ5PQSG
//
PARM=‘ADD QSG,キュー共用グループ名,DB2共用グループ名,DB2接続名'
キュー・マネージャーの登録
サンプルJCL:SCSQPROC(CSQ45AQM)
//ADDQSG EXEC PGM=CSQ5PQSG
//
PARM=‘ADD QMGR,キュー・マネージャー名,キュー共用グループ名,DB2共用グループ名,DB2接続名'
30
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
QSG VERIFY (参考)
非同期に更新されてしまったDB2 Repositoryの妥当性チェック
ユーティリティー・プログラム:CSQ5PQSGの拡張機能
„
DB2リポジトリー・テーブルの内容とCFストラクチャー情報を相互にチェック
CSQU000I CSQ5PQSG IBM WEBSPHERE MQ FOR Z/OS VD13JAN05
CSQU500I CSQ5PQSG QUEUE-SHARING GROUP UTILITY - 2005-06-01 20:35:23
CSQU501I VERIFY QSG FUNCTION REQUESTED
CSQU503I QSG=QSG6, DB2 DSG=D71SGRP, DB2 SSID=D7S1
CSQU517I XCF GROUP CSQGQSG6 ALREADY DEFINED
CSQU520I SUMMARY INFORMATION FOR XCF GROUP CSQGQSG6
CSQU522I MEMBER=M60A, STATE=ACTIVE, SYSTEM=ZOS1
CSQU523I USER DATA=E9D6E2F1D4F6F0C140404040C4F7E2F1E00000000505050000010100F6F
CSQU526I CONNECTED TO DB2 D7S1
CSQU572E USAGE MAP T03_LH_ARRAY AND DB2 TABLE CSQ.OBJ_B_QUEUE INCONSISTENT
CSQU578E QUEUE 2 IN USAGE MAP FOR STRUCTURE APLC4 HAS NO ENTRY IN TABLE
CSQU528I DISCONNECTED FROM DB2 D7S1
CSQU148I CSQ5PQSG UTILITY COMPLETED, RETURN CODE=12
31
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
構成パラメーターの変更
CSQ6SYSP-QSGDATA
共用グループ名、接続先DB2を指定
DB2BLOBパラメーターの追加
„
BLOBメッセージの処理タスク数を指定
指定方法
„
CSQZPARM:CSQ6SYSPスタンザ、QSGDATAに指定
QSGDATA(Qsgname,Dsgname,DB2name,DB2Serv,DB2BLOB)
追加パラメーター
パラメーター
意味
指定値
初期値
Qsgname
キュー共用グループ名
1-4文字で指定
-
Dsgname
データ共用グループ名
1-8文字で指定
-
DB2name
DB2サブシステム名 or
グループ・アタッチ名
1-4文字で指定
-
DB2Serv
DB2アクセススレッド数
4-10
4
DB2BLOB : 新規
BLOB処理Thread数
4-10
4
32
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
MQストラクチャーレベルの定義
ストラクチャー・レベルの定義
初期状態はCFLEVEL(1):MQ V5.2レベル
V5.3以降の機能を利用する場合はキューマネージャー起動後、DEFINE/ALTER
CFSTRUCTコマンドにて変更
„
„
V5.3レベル:CFLEVEL(3)
V6.0レベル:CFLEVEL(4)
共用キューの定義
パラメーター:QSGDISP(SHARED) および CFSTRUCTを指定して定義
DEFINE QL(キュー名) QSGDISP(SHARED) CFSTRUCT(ストラクチャー名)
33
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
キュー共用環境におけるV5.3&V5.3.1との共存
前提のPTF適用
V5.3.0/V5.3.1のキュー・マネージャーでCO-EXISTENCE PTFの適用が前提
„
„
„
APAR:PQ81627 (FALL BACK PTFとは別)
PTF R5.3.0:UQ96901、
PTF R5.3.1:UQ96902(BASE)、UQ96903(FULL FUNCTION)
V6 PLANが提供
既存DB2テーブルの移行
CSQ45ATBサンプルJOBの実行
キュー共用環境の全てのキュー・マネージャーがV6対応の必要有り
CFLEVEL(4)への接続は不可
次のキューはCFLEVEL(3)以下に配置
„
„
„
SYSTEM.QSG.TRANSMIT.QUEUE
SYSTEM.QSG.CHANNEL.SYNCQ
共用チャネル用の転送キュー
V5.2はSupport終了のため共存不可能
34
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
コマンドの拡張
35
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
追加・変更コマンド
キュー共用関係 コマンドの拡張
DISPLAY GROUP
SUSPEND QMGR FACILITY(DB2)
„
„
„
„
DB2 Table変更のWindow
APIはSuspendされる
DISPLAY SYSTEMで確認可能
WTO出力
DISPLAY CFSTATUS TYPE(BACKUP)
36
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
DISPLAY GROUPコマンドの拡張
Orphaned Message(DB2)の表示が追加
DISPLAY GROUP
Orphaned Message(DB2)の情報表示が追加
„
CFとDBの不一致:CF:PLEIDが無く、DB2にエントリーが残っている場合
表示例:
CSQ5100I M60A DISPLAY GROUP REPORT ...
CSQ5102I M60A QUEUE MANAGERS IN GROUP QSG6
---------------------------------------------------------NAME NUM PREFIX STATUS
VER DB2 CONNECTION
---- --- -------- ---------- --- ---- ---------M60A 1 M60A
ACTIVE
600 D7S1 ACTIVE
---------------------------------------------------------END OF QUEUE MANAGERS REPORT
37
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
SUSPEND QMGRコマンドの拡張
Suspend:FACILITYパラメーターの追加
CMDSCOPE(‘ ’)
SUSPEND QMGR
CLUSTER(cluster name)
CLUSNL(nl name)
FACILITY(
CMDSCOPE(qmgr-name)
)
DB2
IMSBRIDGE
追加パラメーター
LOG
MODE(QUIESCE)
MODE(FORCE)
DB2(共用環境)接続、IMS BRIDGEの停止が可能
実行例:
*CSQ5032I M60A D71SGRP CONNECTION TO DB2 IN 755
DATA-SHARING GROUP D7S1 IS SUSPENDED
CSQ9022I M60A CSQMCCLU ' SUSPEND QMGR' NORMAL COMPLETION
CSQ5019I M60A CSQ5DISC DISCONNECTED FROM DB2 D7S1
38
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
RESUME QMGRコマンドの拡張
Resume
CMDSCOPE(‘ ’)
RESUME QMGR
CLUSTER(cluster name)
CLUSNL(nl name)
FACILITY(
CMDSCOPE(qmgr-name)
)
DB2
IMSBRIDGE
追加パラメーター
LOG
Suspend状態のDB2(共用環境)接続、IMS BRIDGEの開始が可能
実行例:
M60A RESUME QMGR FACILITY(DB2)
CSQ5033I M60A D71SGRP CONNECTION TO DB2 IN 865
DATA-SHARING GROUP D7S1 IS RESUMED
CSQ9022I M60A CSQMCCLU ' RESUME QMGR' NORMAL COMPLETION
39
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
DISPLAY CFSTATUSコマンドの拡張
DISPLAY CFSTATUS
DISPLAY CFSTATUS(cf-name)
WHERE(Filter Condition)
追加パラメーター
TYPE(SUMMARY)
TYPE(CONNECT)
TYPE(BACKUP)
表示属性追加
CFのStatusを表示
TYPE(BACKUP)のオプション指定が追加
„
バックアップ状況の表示が可能に
WHERE句によるフィルターが可能
40
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
DISPLAY CFSTATUSコマンドの拡張(続き)
表示例:
M60A DIS CFSTATUS(*) TYPE(BACKUP) WHERE(BKUPSIZE LT 4)
CSQM293I M60A CSQMDRTC 1 CFSTATUS FOUND MATCHING REQUEST CRITERIA
CSQM201I M60A CSQMDRTC DIS CFSTATUS DETAILS 284
CFSTATUS(APLC4)
TYPE(BACKUP)
STATUS(ACTIVE)
QMNAME(M60A)
BKUPTIME(15.56.15)
BKUPDATE(2005-06-01)
BKUPSIZE(3)
BKUPSRBA(000000529193)
BKUPERBA(00000089C1E1)
LOGS(
M60A
)
FAILTIME( )
FAILDATE( )
END CFSTATUS DETAILS
41
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
IGQ Double Hoppingの抑制
42
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
IGQ Double Hopping
共用環境におけるRequest-Replyの返答
現状(V5.3.1まで)
QSG:QSG1
クライアント・アプリケーション
QSG1:QM1
MQCONN(QM1)
MQPUT(RequestQ
MQMD
ReplyToQ
Reply Q
ReplyToQmgr
QM1
MQMD
ReplyToQ
Reply Q
ReplyToQmgr
サーバー・アプリケーション
QSG1:QM2
MQGET
( Request Q)
Request Q
MQPUT
(QM1.ReplyQ)
IGQ
)
MQGET(ReplyQ)
Reply Q
共用環境では、キューに書き込むキュー・マネージャーと処理を実施するキュー・マネー
ジャーが必ずしも同一ではない
„
ReplyToQmgrがブランクの場合、メッセージを受け付けたキュー・マネージャー名がセットされる
回避策:
„
ReplyToQMgrにキュー共用グループ名を明示指定する
→アプリケーションでReplyToQmgr:QSG1と指定
43
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
IGQ Double Hopping(続き)
MQ V6
ReplyToQmgr:QM1が同一キュー共用グループに属していて、ReplyToQが共用キューの場合
クライアント・アプリケーション
MQCONN(QM1)
MQPUT(RequestQ
MQMD
ReplyToQ
Reply Q
ReplyToQmgr
QSG:QSG1
QSG1:QM1
QSG1:QM2
(SQQNMANE=
IGNORE)
MQMD
ReplyToQ
Reply Q
ReplyToQmgr
QM1
Request Q
IGQ
)
MQGET(ReplyQ)
サーバー・アプリケーション
MQGET
( Request Q)
MQPUT
(QM1.ReplyQ)
Reply Q
QM2は直接ReplyToQueueにReply Messageを書き込む事が可能
„
新Qmgr属性:SQQMNAME
値
動作
USE (初期値)
一旦宛先のキュー・マネージャーに転送
IGNORE
宛先キューが共用キューの場合、直接書き込む
44
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
参考資料
45
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
DB2テーブル・スペース定義体:(抜粋、メッセージ保持関連)
CREATE TABLESPACE ベーステーブル用テーブルスペース名
USING STOGROUP DB2ストレージグループ名
BUFFERPOOL GBP名(4K)
NUMPARTS 4
LOCKSIZE ANY
CLOSE NO
IN DB2データベース名;
CREATE LOB TABLESPACE Auxiliarly表区分1用テーブルス
ペース名
IN DB2データベース名
USING STOGROUP DB2ストレージグループ名
PRIQTY 一次割振り量
SECQTY 二次割振り量
LOCKSIZE LOB
GBPCACHE SYSTEM
BUFFERPOOL BLOB用GBP名(32K)
LOG NO
CLOSE NO;
(Auxiliarlyテーブルスペース2-3も同様に定義)
46
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
DB2テーブル定義体:(抜粋、メッセージ保持関連)
CREATE TABLE CSQ.ADMIN_B_MESSAGES
(
LEID
CHAR(12) NOT NULL
,
QSGNAME
CHAR(4) NOT NULL
,
SEGMENTNUM
SMALLINT NOT NULL
,
MROWID
ROWID
NOT NULL GENERATED ALWAYS,
STRUCNUM
SMALLINT
,
LHNUMBER
SMALLINT
,
MVERSION
INT
,
BASEPART
CHAR(2)
,
MESSAGE
BLOB(512K)
,
DELCOMMIT
CHAR(1) WITH DEFAULT 'N'
,
RECON_STAMP CHAR(8) WITH DEFAULT X'00' ,
PERSISTENT
CHAR(1),
MSG_STAMP
CHAR(8),
PRIMARY KEY (LEID, QSGNAME, SEGMENTNUM)
)
IN DB2データベース名.ベース・テーブル用テーブルスペース名;
CREATE TYPE 2 UNIQUE INDEX CSQ.ADMIN_MESSAGES_IX1
ON CSQ.ADMIN_B_MESSAGES
(LEID ASC, QSGNAME ASC, SEGMENTNUM ASC)
USING STOGROUP DB2ストレージグループ名
PRIQTY 一次割振り量
SECQTY 二次割振り量
CLOSE NO;
47
Copyright ISE Co,.Ltd
<6章-3:キュー共用環境>
DB2テーブル定義体:(抜粋、メッセージ保持関連 続き)
CREATE AUX TABLE CSQ.ADMIN_MSGS_BAUX1
IN DB2データベース名.Auxiliarly表区分1用テーブルスペース名
STORES CSQ.ADMIN_B_MESSAGES
COLUMN MESSAGE
PART 1;
CREATE INDEX CSQ.ADMIN_MSGS1
ON CSQ.ADMIN_MSGS_BAUX1
USING STOGROUP DB2ストレージグループ名
PRIQTY 一次割振り量
SECQTY 二次割振り量
CLOSE NO;
(Auxiliarlyテーブル2-3も同様に定義)
CREATE TYPE 2 INDEX CSQ.CLUS_INDEX
ON CSQ.ADMIN_B_MESSAGES
(BASEPART ASC)
USING STOGROUP DB2ストレージグループ名
PRIQTY 一次割振り量
SECQTY 二次割振り量
CLUSTER
(PART 1 VALUES(X'3FFF'),
PART 2 VALUES(X'7FFF'),
PART 3 VALUES(X'BFFF'),
PART 4 VALUES(X'FFFF'))
CLOSE NO;
48
Copyright ISE Co,.Ltd
Fly UP