Closed queue successfully.
參閱:
為IBM TXSeries配置WebSphere MQ Extended Transactional Client:
IBM WebSphere MQ,8.0版Knowledge Center:
WebSphere MQ認證和訪問權限:
WMQ 7.1 / 7.5 / 8.0隊列管理器,RC 2035 MQRC_NOT_AUTHORIZED或當使用客戶端連接作為MQ管理器時的AMQ4036:
AMQ5540和AMQ5541,應用程序沒有提供用戶ID和密碼,2035 MQRC_NOT_AUTHORIZED:
6. 練習
按照本部分正文中介紹的步驟配置TXSeries與MQ並測試示例程序。
TXSeries入門系列文章–單元三
數據管理
五部分 Oracle
三單元 數據管理
第五部分 Oracle
關於本部分
除了DB2,Oracle是另一個常用的數據庫。所以在本部分,將會介紹TXSeries通過XA協議連接Oracle數據庫的所有指令,並提供一個應用程序進行測試。大多數步驟和DB2的配置相似,所以如果用戶已經完成了前一部分的內容,完成本部分將非常容易。開始前請確保Oracle的服務器和客戶端已經成功地安裝。
1. Oracle服務器配置
在服務器端,需要完成數據庫的準備工作,包括啟動數據庫、創建示例視圖、解鎖用戶並賦予權限。關於Oracle命令的詳細信息不會在本部分提及,可以通過Oracle提供的文檔查看。
(1)啟動監聽器和數據庫
#lsnrctl start
#sqlplus /nolog
SQL>conn /as sysdba
SQL>startup
(2)使用sys用戶運行示例SQL命令創建 支持XA協議的視圖
SQL>conn sys as sysdba
SQL>@/home/oracle/app/oracle/product/12.1.0/dbhome_1/rdbms/admin/xaview.sql
(3)賦予適當的權限
SQL>grant select on v$xatrans$ to public with grant option;
SQL>grant select on v$pending_xatrans$ to public with grant option;
SQL>grant select on scott.emp to scott;
SQL>grant select on dba_pending_transactions to scott;
(4)解鎖scott用戶
本部分使用示例賬戶scott通過XA協議連接數據庫服務器,首先需要解鎖scott賬戶。
SQL>alter user scott account unlock
2. Oracle客戶端配置
(1)修改tnsnames.ora文件
為了連接Oracle服務器,需要在tnsnames.ora文件中定義連接信息。這個文件在”/usr/local/oracle“目錄下。如下對它進行編輯:
MYDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 9.119.154.229)(PORT = 1521))
)
(CONNECT_DATA =
(SID = orcl)
(SERVER = DEDICATED)
)
)
MYDB是本地數據庫名稱,將在XAOpen字符串中使用;HOST的值是服務器機器的地址;PORT是服務器將要監聽的端口,默認值是1521;SID的值是在安裝Oracle服務器時指定的全局數據庫名稱。
請記住在防火牆中啟用端口1521。
(2)使用scott用戶連接服務器並查看稍後將使用的示例數據
首先以用戶scott的身份使用本地數據庫名稱MYDB連接全局數據庫orcl
#sqlplus /nolog
SQL>conn scott@MYDB
Enter password:tiger
Connected.
然後通過SQL命令選擇表”emp“中的所有記錄。
SQL>select * from emp;
將會獲得如下的記錄(分區內容):
EMPNO ENAME JOB MGR HIREDATE SAL COMM
————– ————– ————– ————– ————- ————– ————–
DEPTNO
————–
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0
30
7876 ADAMS CLERK 7788 23-MAY-87 1100
20
7900 JAMES CLERK 7698 03-DEC-81 950
30
3. region配置
(1)創建一個名為oracle的region
#cicscp -v create region oracle
(2)編譯switch load file
TXSeries 在”/opt/ibm/cics/examples/RM_support/Oracle“目錄中為用戶提供了switch load file源代碼和makefile文件。複製文件”oracle1pc.pc“和”oracle1pc.mk“到region的bin目錄下。
a. 如下修改oracle1pc.mk文件的前兩行:
ORA_PRECOMP = $(ORACLE_HOME)/sdk/proc
LD_FLAGS_oracle = -L$(ORACLE_HOME) -lclntsh -R$(ORACLE_HOME)
或者根據具體環境編輯它們,這取決於Oracle客戶端的安裝位置。
b. 編輯預編譯配置文件pcscfg.cfg
文件位於”$(ORACLE_HOME)/precomp/admin/“目錄,oracle預編譯器會讀取其中的變量,所以必須根據實際系統適當地設置其中的內容,否則可能出現錯誤。例如本部分示例中的內容為:
sys_include=(/usr/local/oracle/sdk/include,/usr/lib64/gcc/x86_64-suse-linux/4.3/include,/usr/include) ltype=short
如果用戶的環境不同,請參考下列網站決定變量的選取。
參閱:
c.在switch load file中添加“#include <string.h>“語句
在oracle1pc.pc文件開頭添加”#include <string.h>“,否則可能收到關於函數中字符串不兼容的警告。
d. 添加符號鏈接
當連接switch load file時,需要用到共享庫”libclntsh.so“,但是在路徑”/usr/local/oracle“下只有libclntsh.so.12.1。所以需要通過如下命令創建一個符號鏈接:
#ln -s /usr/local/oracle/libclntsh.so.12.1 /usr/local/oracle/libclntsh.so
e.運行oracle的環境變量文件
#. /home/oracle/.bash_profile
因為其中包含編譯時必需的一些環境變量。
f.運行下列命令編譯switch load file
#make -f oracle1pc.mk oracle
如果一切順利,將在當前目錄下發現名為oracle1pc的switch load file。
(3)添加XAD
注意XAD中的XAOpen字符串,可能需要修改的內容以”<>“標記。
cicsadd -c xad -r <region name> <XAD entry name> SwitchLoadFile=”<path of switch load file>”
XAOpen=”Oracle_XA+SQLNET=<local database name>+Acc=P/<user
name>/<password>+SesTm=35+LogDir=/tmp/cics/oracle+DbgFl=1″
<local database name> 是你添加在tnsnames.ora文件中的。
在本部分的示例中,<user name>是scott,<password>是tiger。
例如:
cicsadd -c xad -r oracle oraxa SwitchLoadFile=”oracle1pc”
XAOpen=”Oracle_XA+SQLNET=MYDB+Acc=P/scott/tiger+SesTm=35+LogDir=/tmp/cics/oracle+DbgFl=1″
以下文章點擊率最高
Loading…