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…