TXSeries入門系列文章14

Closed queue successfully.

參閱:

IBM TXSeries配置WebSphere MQ Extended Transactional Client

IBM WebSphere MQ8.0Knowledge Center

 

WebSphere MQ認證和訪問權限:

 

WMQ 7.1 / 7.5 / 8.0隊列管理器,RC 2035 MQRC_NOT_AUTHORIZED或當使用客戶端連接作為MQ管理器時的AMQ4036

 

AMQ5540AMQ5541,應用程序沒有提供用戶ID和密碼,2035 MQRC_NOT_AUTHORIZED

 

6. 練習

按照本部分正文中介紹的步驟配置TXSeriesMQ並測試示例程序。

TXSeries入門系列文章單元三
數據管理
五部分 Oracle

三單元 數據管理

第五部分 Oracle

關於本部分

除了DB2Oracle是另一個常用的數據庫。所以在本部分,將會介紹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是服務器將要監聽的端口,默認值是1521SID的值是在安裝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)創建一個名為oracleregion

#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“到regionbin目錄下。

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

如果一切順利,將在當前目錄下發現名為oracle1pcswitch 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…

     

如果這文章對你有幫助,請掃左上角微信支付-支付寶,給於打賞,以助博客運營