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…

     

如果这文章对你有帮助,请扫左上角微信支付-支付宝,给于打赏,以助博客运营