切换 DB2LUW 节点时是否需要预编译?

is precompilation necessary when switching DB2LUW node?

DB2LUW 的嵌入式 SQL 应用程序按以下步骤开发:

  1. db2 准备
  2. db2 绑定

假设我们有 2 个 DB2LUW 节点,并且两个节点的 DDL 相同。切换DB2LUW节点时,是否需要对新节点进行预编译?或者是否可以使用第一个节点预编译时生成的绑定文件从绑定开始?

我的意思是可以通过下面的方式绑定吗?

[对于节点 1] 1. db2准备 2. db2 绑定

[对于节点 2] db2 使用在第 1 步为 node1 生成的绑定文件进行绑定?

非常感谢任何意见!

寻求帮助时使用更清晰的术语会有所帮助。

如果 'node1' 和 'node2' 你的意思是 同一数据库的不同副本,可能具有不同的数据,但 DDL 相同 那么你不需要再次预编译,您可以简单地使用之前生成的绑定文件进行绑定。这假设两个数据库使用相同的 Db2 平台。这在环境(开发、各种测试、预生产、生产等)之间推广嵌入式 SQL 代码时很常见。任何外部例程都需要适当提升其可部署项。在绑定之前始终确保 runstats 是合适的。

如果您的 'node1' 和 'node2' 是高可用性解决方案的一部分(在 failover/failback 上 active:passive 或接管后 primary:standby,或者purescale-members),那么它就是同一个数据库,所以你不需要重新绑定。如果你愿意,你可以重新绑定 - 但不是必需的。