【问题标题】:IBM Worklight 6.2 Server Deployement error: DB2 Instance not found on serverIBM Worklight 6.2 服务器部署错误:在服务器上找不到 DB2 实例
【发布时间】:2014-10-07 22:26:38
【问题描述】:

环境:

  1. IBM Worklight 6.2,
  2. IBM Liberty 8.5.5.1,
  3. IBM DB2 10.5 &
  4. Windows 2008 标准版。

对于数据库实例的高可用性[WLDBINST],我遵循了以下架构。

  1. 2 台带有 IBM DB2 二进制和 SAN 存储的 Windows 集群计算机用于共享数据库文件。
  2. 如果任何 1 个节点不可用,则另一个节点将接管控制权,而不会丢失任何数据。
  3. 我已经通过集群 IP 测试了 DB2 实例,它工作正常。

以下错误已记录,当我运行 Worklight 服务器配置工具时,

Instance WLDBINST not found on server. Found only [WLDBINST              C, :, DB2CLUSTER, DB2]

我已经找到了上述问题的原因。要列出 DB2 实例,我们可以使用命令 db2ilist

C:\>db2ilist
WLDBINST        C :    DB2CLUSTER
DB2

上面的结果表明我们有两个实例

  1. WLDBINST 位于“C”驱动器中,是 DB2CLUSTER 的一部分 &
  2. DB2

我猜,Worklight 配置工具也使用类似的 DB2 工具来列出实例。

所以配置工具将结果视为4个实例如下,

  1. WLDBINST C,
  2. :,
  3. DB2CLUSTER 和
  4. DB2

我该如何解决这个问题。

【问题讨论】:

  • 您能否检查一下 DB2 服务器系统上的 Windows 事件日志中是否有任何与 SSH 相关的错误?随 DB2 10.5 Fix Pack 3(以及之前的版本)提供的 IBM SSH 服务器存在问题,这可能会导致服务器配置工具与 Windows Server 2008 上的 DB2 服务器通信时出现奇怪的问题。如果这是问题,您可能会在事件日志中看到类似于“错误:[do_spawn in session.c @545] 错误将进程分配给作业对象 5”的错误。该问题已在 DB2 10.5 Fix Pack 4 中得到修复。

标签: db2 ibm-mobilefirst worklight-server websphere-liberty database-cluster


【解决方案1】:

如果服务器配置工具无法为您的拓扑创建数据库,您应该在运行该工具之前手动创建它。

对于管理数据库,文档在这里: https://www-01.ibm.com/support/knowledgecenter/SSZH4A_6.2.0/com.ibm.worklight.installconfig.doc/admin/t_creating_the_db2_database_for_wladmin.html

对于 Project Runtime 数据库,文档在这里: https://www-01.ibm.com/support/knowledgecenter/SSZH4A_6.2.0/com.ibm.worklight.deploy.doc/admin/t_creating_the_db2_databases.html

如果有数据库节点切换,服务器配置工具不会做任何特定配置来确保 Liberty 重新打开连接。我建议您查看 Liberty 在这种情况下的行为,并根据需要在 server.xml 中添加设置。

【讨论】:

  • 问题是 Worklight Server 配置工具无法正确获取我在问题中明确提到的 DB2 实例名称。但是您的答案是手动创建数据库。即使我手动创建数据库,服务器配置工具是否可以获取 DB2 实例?我同意,服务器配置工具与交换节点没有关系,这就是使用集群 IP 的原因。我想解释一下节点的环境是什么。你想让我在 server.xml 中查看什么?我需要添加什么设置?
  • 如果数据库是手动创建的,服务器配置工具应该能够在不需要知道实例的情况下使用正确的表填充它。它还应该能够进行战争部署。
  • 如何在不知道数据库实例的情况下部署 .war?在我的场景中,我有两个带有表的实例,根据您的评论,服务器配置工具将如何决定这些实例。如果服务器配置工具可以在不需要知道实例的情况下填充表,那么为什么我们需要一个选项来选择?
  • 同一台机器上的不同 DB2 实例使用不同的端口进行 JDBC 连接。在服务器配置工具的“数据库设置”面板中,您可以输入端口号。此端口号标识 DB2 实例。一旦数据库和架构已经存在,就不需要实例名称。
  • 数据库实例应通过您需要在服务器配置工具中输入的侦听端口进行区分。您是否尝试过建议的解决方法?它会产生问题吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多