2

我在两个单独的 AIX 服务器上有两个实例。两个 DB2 数据库都配备了它们的示例数据库。我想从另一个实例连接一个 DB2 实例。

我是 DB2 的新手,想知道我该怎么做。

我已经执行了以下命令:

此路径是客户端实例:

#.  /home/db2inst2/sqllib/db2profile
db2 catalog tcpip node db2serverinst remote lpar1 server 50005 remote_instance ctginst1
db2 => terminate
DB20000I  The TERMINATE command completed successfully.
# db2 connect to db2serverinst user ctginst1
Enter current password for ctginst1: SQL1031N  The database directory cannot be found on the indicated file system.
SQLSTATE=58031
4

2 回答 2

1

术语“连接到实例”是不正确的。正确的是附上:

Machine A
 db2inst1
  db-1
  db-2
  sample

Machine B
 db2inst2
  db-3
  db-4
  sample
 db2inst3
  sample

如果您想将命令从机器 A 执行到机器 B,您必须在 db2inst1(目录 tcpip 节点)中对 db2inst2 AND/OR db2inst3 进行编目。请记住,您必须为每个编目对象指定不同的名称。

对远程实例进行编目后,您还可以发出数据库命令,但必须对远程数据库进行编目。您可以有一个远程样本和一个本地样本,但别名应该不同。

如果您将 db2inst2 实例编目为机器 A 的本地节点中的 db2inst2 节点。并且您将示例数据库编目为机器 A 的本地节点中的 sample-2 别名。您可以在机器 A 中执行。

 db2 attach to db2inst2
 db2 connect to sample-2

附加是用于“管理”的事情,如列表应用程序、创建数据库等。连接是使用数据库。

于 2012-12-11T09:25:49.163 回答
0

您只对 DB2 实例进行了编目。您需要在远程服务器上对数据库进行编目:

db2 catalog database XXXX at node db2serverinst

显然,您需要将 替换XXXX为远程数据库的实际名称。对数据库进行编目后,您可以连接:

db2 connect to XXXX user ctginst1

请注意,这仅定义连接。如果不配置联合,您将无法从本地实例中的其他数据库访问此远程数据库中的对象。

于 2012-12-10T20:52:40.410 回答