#db2 catalog database test1 as demo1 at node node1
通過運行終止命令刷新上面的目錄設置。
#db2 terminate
參閱:
關於catalog TCP/IP node:
關於catalog database:
(2)測試到DB2服務器的連接
在配置region和DB2之前,可以測試 DB2服務器和客戶端的所有設置是否是有效的。下面通過DB2客戶端連接服務器,並查看錶student是否存在。
#db2 connect to demo1 user cics using passw0rd
#db2 list tables for schema db2inst1
如果一切正常,將看到下列響應:
Table/View Schema Type Creation time
——————————- ————— —– ————————–
STUDENT DB2INST1 T 2014-11-21-16.41.44.144932
1 record(s) selected.
(3)TXSeries region配置
本步驟中將創建一個region,添加XAD和環境變量,並準備switch load file來保證region能夠使用XA協議進行連接。
a. 創建一個名為DB2的region
#cicscp -v create region DB2
b. 準備switch load file
TXSeries提供了兩個switch load file,包括一階段提交(cics1pcdb2)和兩階段提交(cicsxadb2)。將它們複製到region的bin目錄下。
#cp /opt/ibm/cics/bin/cicsxadb2 /var/cics_regions/DB2/bin
#cp /opt/ibm/cics/bin/cics1pcdb2 /var/cics_regions/DB2/bin
除了使用TXSeries提供的文件,也可以自己編譯switch load file。
c. 添加32位共享對象
之前提到過,當使用XA協議連接時,TXSeries提供的switch load file需要32位共享對象。在本部分示例中,需要libaudit.so.0和libpam.so.0,因為客戶端機器是64位的。從一個32位系統複製文件/lib/libaudit.so.0.0.0和/lib/libpam.so.0.83.1,並如下做兩個符號鏈接:
ln -s /lib/libaudit.so.0.0.0 /lib/libaudit.so.0
ln -s /lib/libpam.so.0.83.1 /lib/libpam.so.0
也可以安裝 pam和audit的32位rpm包。
d. region環境配置(使用一階段提交)
#vi /var/cics_regions/DB2/environment
添加如下指定服務器實例名稱的變量對。
DB2INSTANCE=db2inst1
e. 添加XAD
注意,這個XAD中的XAOpen字符串不同於MQ中的——DB是遠程數據庫名稱或者別名,UID是有權限連接數據庫的用戶名稱,PWD是這個用戶的密碼。對於SwitchLoadFile屬性,可以隨意使用一階段提交或兩階段提交。
例如一階段提交:
#cicsadd -c xad -r DB2 DB2XAD ResourceDescription=”XA connect to DB2″
XAOpen=”DB=demo1,UID=cics,PWD=passw0rd” SwitchLoadFile=”cics1pcdb2″
兩階段提交:
#cicsadd -c xad -r DB2 DB2XAD ResourceDescription=”XA connect to DB2″
XAOpen=”DB=demo1,UID=cics,PWD=passw0rd” SwitchLoadFile=”cicsxadb2″
參閱:
f. 冷啟動region
#cicscp -v start region DB2 StartType=cold
在執行這條命令後,region將自動連接到指定的數據庫。查看region中最新的console.nnnnnn文件,如果其中有如下所示的消息,恭喜,你的region已經成功地連接到數據庫。
ERZ080088I/0801 11/26/14 04:11:23.258039000 DB2 25407/0001 : XA OPEN submitted for Server 104 connected to ‘DB2 for LINUX’ using XA_OPEN string ‘DB=demo1,UID=cics,PWD=######’
ERZ080006I/0801 11/26/14 04:11:23.356102000 DB2 25407/0001 : XA_OPEN succeeded: Application Server 104 connected to ‘DB2 for LINUX’ using XA_OPEN string
‘DB=demo1,UID=cics,PWD=######’
ERZ080089I/0801 11/26/14 04:11:23.356183000 DB2 25407/0001 : XA OPEN completed for Server 104 connected to ‘DB2 for LINUX’ using XA_OPEN string ‘DB=demo1,UID=cics,PWD=######’
(4)編譯應用程序並添加PD和TD
從Unit 3/Part4 DB2目錄複製所有的文件到region的bin目錄中。總共有三個文件:包含嵌入式SQL命令的應用程序源代碼db2test.sqc文件; 會將db2test.sqc預編譯為C代碼,修改後綴為”.ccs“,然後使用”cicstcl“去編譯應用程序的db2test.mk文件; 包含編譯和連接選項的env_c.def文件。
a. 編輯文件
在編譯前,env_c.def中的一些編譯和連接選項的路徑可能需要根據實際環境進行修改。另外,注意db2test.sqc中的下列變量:
DATABASE=<database local alias>
SCHEMA=<schema of database on server>
DB2DIR=<db2 installation directory>
USER=<user name>
PASSWORD=<password>
在本部分的示例中,變量值應該是:
DATABASE=demo1
SCHEMA=db2inst1
DB2DIR=/opt/ibm/db2/V10.5
USER=cics
PASSWORD=passw0rd
b. 編譯應用程序
#make -f db2test.mk
c. 添加PD和TD
#cicsadd -cpd -r DB2 -B db2test PathName=db2test RSLKey=public
#cicsadd -ctd -r DB2 -B DB21 ProgName=db2test
到目前為止,已經完成了客戶端的配置。請用戶查看一下應用程序是否運行良好。
7. 故障排除
(1)/opt/ibm/db2/V10.5路徑下沒有include目錄或者include目錄只包含一個文件
在安裝DB2服務器或客戶端時,選擇了”典型的”或”壓縮的”安裝類型。這些文件對於開發應用程序是非常重要的。所以,用戶可以從相似的環境中複製這個目錄或者使用”自定義”類型重新安裝DB2。請仔細閱讀卸載指導。
參閱:
(2)通過DB2客戶端連接DB2服務器失敗並收到下列消息:
SQL30081N A communication error has been detected. Communication protocol being used: “TCP/IP”. Communication API being used: “SOCKETS”. Location where the error was detected: “9.119.154.229”. Communication function detecting the error: “connect”. Protocol specific error code(s): “111”, “*”, “*”. SQLSTATE=08001
查看服務器端機器的防火牆並確保用於連接的端口是有效的。
8. 編譯switch load file
(1)一階段提交
需要”/opt/ibm/cics/example/RM_support/DB2“目錄下的db21pc.c和db21pc.mk文件。修改db21pc.mk文件中第88行,將”db2 connect to $(DBNAME); \“改為”db2 connect to <database name/alias> user <user name> using <passw0rd>; \“。例如:”db2 connect to demo1 user db2inst1 using passw0rd; \“。
通過下列命令編譯:
#make -f db21pc.mk
(2)兩階段提交
需要”/opt/ibm/cics/example/RM_support/DB2“目錄下的db2xa.c和db2xa.mk文件。通過下列命令編譯:
#make -f db2xa.mk
9. 練習
根據本部分中的步驟配置TXSeries 連接DB2,並通過執行應用程序進行測試。
TXSeries入門系列文章–單元三
數據管理
三部分 TDQ/TSQ
以下文章點擊率最高
Loading…
