DB2中编目本机其中数据库的方法

问题:同一节点上有两个实例。假设想在当中一个实例下訪问还有一个实例中的数据库,有两种方法:

1. 使用catalog local node的方式,在当中一个实例中将另外一个实例直接编目,这样的方试中,它们之间採用的通信方式是IPC(进程间通信)。这样的方式仅仅能在同一物理机上进行。

2. 使用catalog TCPIP node的方式,将当中一个作为client,还有一个作为服务端。 这样的方式中,它们之间採用的通信方式是TCPIP,这样的方式不限于本地,也适用于远程通信。

以下分别举两个样例来说明这个过程 

实验 DB2 10.1.0.0。 Windows操作系统,使用catalog local node的方式。

1. 机器上有两个实例INST01INST02。实例INST01下有一个数据库SAMPLE1,实例INST02下有一个数据库SAMPLE2,启动两个实例之后。例如以下图所看到的:


如今,在实例INST01下使用catalog local node的方式将实例INST02编目进来(注意。下面全部操作都是在实例INST01下完毕)


这里的node01相当于给INST02的起的别名,使用attach连接到node01之后,发出的create database命令相当于在INST02下进行的。



从以上的输出中能够看到创建的数据库SAMPLE3实际上是在INST02下,而非INST01下。

为了能够在INST01下訪问INST02中的数据库SAMPLE2。能够直接在INST01对其编目。




能够使用 connect to 命令连接数据库了



实验2 DB2 v10.5 , Linux 使用catalog TCPIP node的方式

同一台物理机上有两个实例 qingsongdb2inst2。当中实例QINGSONG下有数据库QSMIAO,作为服务端。实例db2inst2作为client



1. 查看/etc/services文件


2. 使用root用户/etc/services里加入一行 REMOTE_TEST 60012/tcp

3. 服务端qingsong上更新数据库管理器配置文件

$ db2 update dbm cfg using svcename REMOTE_TEST

$ db2stop

$ db2start

$ db2 get dbm cfg | grep svcename

4. 设置服务端的通信协议为TCPIP

$ db2set DB2COMM=tcpip

$ db2stop

$ db2start

$ db2set -all

5. client 编目节点

$ db2start

$ db2 list node directory

$ db2 catalog TCPIP node qingnode remote localhost server 60012

$ db2 terminate

$ db2 list node directory

当中。localhost指本机,假设是在远程,能够直接改动为相应的IP地址,60012指服务端相应的port。

6. client 编目数据库

$ db2 catalog db qsmiao as remoteDB at node qingnode

$ db2 list db directory

$ db2 connect to REMOTEDB user qingsong using qingsong



上面的这样的编目方式是 TCPIP node 

參考资料:

Catalog tcpip node

http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.admin.cmd.doc/doc/r0001944.html?

cp=SSEPGG_9.7.0%2F3-6-2-4-17&lang=en

Catalog local node

http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.admin.cmd.doc/doc/r0001989.html?

cp=SSEPGG_9.7.0%2F3-6-2-4-14&lang=en

Catalog database

http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.admin.cmd.doc/doc/r0001936.html?cp=SSEPGG_9.7.0%2F3-6-2-4-10&lang=en


原文地址:https://www.cnblogs.com/jzssuanfa/p/7354446.html