CICS和DB2連接的簡單介紹

 

CICS和DB2連接的簡單介紹 

本文是對CICS Transaction Server和DB2連接的簡單介紹,描述了在CICS的環境中如何配置和DB2的連接、線程如何工作以及CICS DB2連接的定義等。
一.CICS和DB2的連接
在CICS 中提供了一個和DB2連接的附加工具,在CICS的環境中,CICS的應用可以訪問DB2的數據。因此,CICS即可以訪問DB2中的數據,也可以訪問CICS中的數據,當系統或者交易失敗時,CICS來保證數據的一致性。此附加工具在CICS和DB2之間建立連接,CICS的應用使用這個連接對DB2發出命令請求。可以指定一個DB2的子系統進行連接,也可以指定一個DB2的組,連接時會自動選擇一個可用的DB2成員。一個DB2的子系統可以被多個CICS同時連接,但是,一個CICS在一個時刻只能連接到一個DB2子系統。這個連接是多線程的,對於CICS中的連接到DB2的每個交易,都使用獨立的線程。
CICS提供一個交易DSNC,工具通過DSNC可以顯示和控制CICS和DB2連接的狀態,DSNC提供以下的命令:
STRT:啓動連接
STOP:停止連接
DISP:顯示線程的狀態和數據
MODI:修改連接的屬性
DISC:切斷線程的連接
二.DB2的地址空間
DB2子系統需要一些不同的地址空間,不同的任務在不同的地址空間中執行。
DSN1MSTR:系統服務的地址空間
DSN1DBM1:數據庫的服務的地址空間。維護用戶的數據結構
DSN1DIST:爲分佈的數據提供遠程的訪問
IRLMPROC:資源鎖管理器
DSN1SPAS:存儲過程的執行的地址空間
如下圖:

三.線程的使用
在CICS和DB2的連接中,提供了以下3種類型的線程。
1. Command:使用DSNC的交易,向DB2發出命令使用此類的線程。當命令線程不可用時,會自動使用一個pool的線程。
2. Entry:爲特定的交易指定使用的線程類型。
3. Pool:其他所有的交易使用的線程類型。
每個線程都是運行在CICS中的一個線程的TCB(task control block)下。CICS和DB2都有connection control blocks連接到線程的TCB,通過這些connection control blocks來交換信息。在CICS中的connection control block被稱作CSUB,用來指向DB2中的connection control block。在版本6以上的DB2使用的connection control blocks,如下圖:

在第1種情況下,CICS可以訪問DB2。在一個TCB下,有CSUB和connection control block,並且通過一個thread連接到DB2,相應的Plan在DB2中執行。
在第2種情況下,沒有TCB ,CICS和DB2的連接沒有使用,但是thread被保留,以便下次使用。
在第3種情況下,是Thread被中斷的情況,CSUB和connection control block被保留,以便下次使用。需要申請新的線程。
在第4種情況下,是可用的TCB。
四.CICS DB2連接的定義
可用使用RDO來定義CICS DB2的連接,有以下的3種類型:
1. DB2CONN
是CICS DB2的最主要的連接。在啓動CICS DB2的連接之前,需要install一個DB2CONN(並且同時只能install一個)。
DB2CONN需要定義的屬性:
CICS DB2連接的基本屬性(例如,連接的DB2子系統的名稱或者組名, TCB同時併發的最大數,保留的線程最長時間等)
Command的線程屬性(例如,Command的線程同時併發的最大數,DB2授權的類型等等)
Pool的線程屬性(例如,Pool的線程同時併發的最大數,DB2授權的類型,Plan的名稱等等)
2. DB2ENTRY
在CICS中,可以指定一些特殊的交易使用DB2ENTRY。實際上,是爲一些特殊的交易,保留了一定數量的線程,是它們能夠更快速的連接DB2。可以同時定義並install 多個DB2ENTRY類型的連接,每個連接爲不同的交易使用。
DB2ENTRY需要定義的屬性:
交易名稱(可以使用通配符)
Entry的線程屬性(例如,線程同時併發的最大數,DB2授權的類型,不使用時保留的線程數,Plan的名稱等等)
3. DB2TRAN
在CICS中,添加一些交易使用某個DB2ENTRY,定義一個DB2TRAN就可以了。DB2ENTRY需要定義的屬性:相關的DB2ENTRY名稱,交易名稱(可以使用通配符)。這樣,這個交易連接DB2的時候,就會使用此DB2ENTRY。

注:文章出自IBM中國

發佈了23 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章