【发布时间】:2018-01-20 06:24:35
【问题描述】:
我在 Linux(x64)上使用 Tuxedo(v12.2.2.0.0) 通过 DB2 Connect Server(v9.7) 访问大型机上的 DB2。
现在遇到一个问题,TMS_UDB 无法启动。 来自 Tuxedo ULOG,它说:
错误:tpopen TPERMERR xa_open 返回 XAER_RMERR
我检查了它显示的 db2dial 日志:
2018-XX-XX-xxxx E4387E703 LEVEL: Error
PID : 12673 TID: 139892007870912 PROC: TMS_UDB
INSTANCE: db2inst1
HOSTNAME: XXXX
FUNCTOIN: DB2 UDB, XA DTP Support, sqlxaConnect, probe: 5329
MESSAGE : XA Interface SQLCA
DATA #1 : SQLCA, PD_DB2TYPE_SQLCA, 136 bytes
sqlcaid : SQLCA sqlcabc: 136 sqlcode: -1032 sqlerrml:0
sqlerrmc:
sqlerrp : SQLJCMN
sqlerrd : (1) 0x81360012 (2) 0x00000012 (3) 0x00000000
(4) 0x00000002 (5) 0x00000004 (6) 0x00000000
sqlwarn : (1) (2) (3) (4) (5) (6)
(7) (8) (9) (10) (11)
sqlstate: 00000
任何 DB2 导出,我怎样才能修复它?谢谢
我已经验证了 DB2 客户端 CONNECT 命令($ db2 connect to DBXX user USERxx using PASSXX),并使用 SELECT 语句查询出数据。 并且还可以按照 Tuxedo 指南设置 DB2 配置项。 https://docs.oracle.com/cd/E26665_01/artrt/docs11gr1/cicsref/db2conn.html
【问题讨论】:
-
-1032 sqlcode 最可能的原因是在调用 XA_OPEN 时至少有一个必需的 Db2 实例未运行。如果 Db2-instance(s) 是本地的(在 Linux 上),请验证 db2sysc 进程是否正在运行并且对于每个所需的实例都处于活动状态,并验证 Tuxedo 用于连接的用户帐户与数据库的连接性。此外,在寻求帮助时,您应该始终提供您的 Db2 版本/修复包,以及您的 Linux 平台(x64、power、Z 等)。
-
谢谢@mao;我正在使用 DB2 Connect Server 访问大型机上的 DB2。 Tuxdeo 和 DB2 Connect Server 都安装在 Linux x64 上; DB2 Connect Server 版本为 9.7;并且可以使用db2命令“connect to DS user USER using PASSWD”连接到DB2主机,也可以检索表上的数据。
-
所以您的问题具有误导性,您并没有真正连接到 UDB,它只是一个网关。编辑您的问题以添加新事实。 Tuxedo 与 XA 的连接是否曾在此节点上工作过?或者它是一个新的安装?如果它以前有效,请确定发生了什么变化并进行消除以找出哪些变化破坏了它。如果是新设置,请确保按照这两个产品的文档为 XA 正确配置 Tuxedo 和 Db2-connect。另见ibm.com/support/knowledgecenter/en/SSEPGG_9.7.0/…
-
谢谢,我会试试;它是新安装的,永远不会成功。
-
其他信息。如果我使用“DB2 Advanced Enterprise Server Edition”,xa_open 是可以的,如果使用“DB2 Connect Server”xa_open 会失败,Tuxedo 和 DB2 主机端都没有任何变化。 “DB2 Connect Server”一定有什么特别之处。
标签: db2