首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

db2新建范例+客户端配置连接(转)

2012-08-25 
db2新建实例+客户端配置连接(转)?本实验分为上下两部分,第一部分:创建一个DB2实例;第二部分,进行了DB2网络

db2新建实例+客户端配置连接(转)

?本实验分为上下两部分,第一部分:创建一个DB2实例;第二部分,进行了DB2网络通信配置(Server验证模式)的详解,演示了使用DB2命令行客户端(windows环境下),连接远端数据库的配置过程,这其中涉及到服务器端的配置、客户端的编目节点目录和编目数据库的内容。

第一部分:新建实例

首先,在服务端需要配置好服务名、监听端口、通信协议,并且需要创建一个数据库,供客户端连接:

1、配置服务名

1.1、查看一下服务名,发现创建实例时指定的-p参数(端口名或端口号),成为了服务名:

[db2inst2@localhost ~]$ db2 get dbm cfg | grep SVC

?TCP/IP Service name?????????????????????????(SVCENAME) = 55555

?SSL service name????????????????????????(SSL_SVCENAME) =

1.2、指定实例的服务名为db2c_db2inst2:

[db2inst2@localhost ~]$ db2 update dbm cfg using SVCENAME db2c_db2inst2

DB20000I?The UPDATE DATABASE MANAGER CONFIGURATION command completed

successfully.

[db2inst2@localhost ~]$ db2 get dbm cfg | grep SVC?????

?TCP/IP Service name?????????????????????????(SVCENAME) = db2c_db2inst2

?SSL service name????????????????????????(SSL_SVCENAME) =

2、指定监听客户端请求的端口,修改service文件:

[root@localhost instance]# vi /etc/services

db2c_db2inst2?55555/tcp

3、确认好通信协议是tcpip:

[db2inst2@localhost ~]$ db2set

DB2COMM=tcpip

4、重启db2实例(运行db2stop和db2start两条命令),查看监听是否开启:

[root@localhost instance]#?netstat -a | grep db2c_db2inst2

tcp???????0?????0 *:db2c_db2inst2????????????*:*????????????????????????LISTEN?????

5、新建一个数据库,供客户端连接:

db2 => create database demo

DB20000I?The CREATE DATABASE command completed successfully.

?

?

????????以下部分是在客户端进行配置的操作过程:

1、编目节点目录:

回到我们的客户端机器,打开windows的开始菜单,选择“IBM DB2”--“命令行工具”--“命令窗口”:

db2 => catalog TCPIP node n1 remote 192.168.102.163 server db2c_db2inst2

DB20000I?CATALOG TCPIP NODE命令成功完成。

DB21056W?只有在刷新目录高速缓存以后,目录更改才会生效。

?

如何才能够“刷新”呢?使用如下命令,来查看帮助:

db2 => ? DB21056W

DB21056W直到刷新目录高速缓存之后,目录更改才生效。

解释:

若启用了目录高速缓存(DBM CFG dir_cache),数据库、节点和DCS目录文件都高速缓存在内存中。直到刷新该目录高速缓存之后,目录更改才开始生效。参阅“管理指南”中的dir_cache配置参数以获取有关目录高速缓存的描述。

?

用户响应:

?

要刷新CLP的目录高速缓存,发出db2TERMINATE。要刷新另一个应用程序的目录信息,停止该应用程序,然后重新启动它。要刷新该数据库的目录信息,停止(db2stop)该应用程序,然后重新启动(db2start)它。

?

查看帮助后,发现使用terminate即可:

db2 => terminate

DB20000I?TERMINATE命令成功完成。

?

D:\Program Files\IBM\SQLLIB\BIN>

?

2、在客户端上编目数据库,可以给数据库名在本地取一个“别名”,以防止不同实例下的数据库出现同名的情况:

db2 => catalog database demo as demo2 at node n1 authentication server

DB20000I?CATALOG DATABASE命令成功完成。

DB21056W?只有在刷新目录高速缓存以后,目录更改才会生效。

db2 => terminate

DB20000I?TERMINATE命令成功完成。

?

3、连接到数据库时出错,提示找不到服务:

db2 => connect to demo2 user db2inst2 using passwd

SQL1337N?找不到服务"db2c_db2inst2"。

?

4、分析:建立节点时,指定的最后一个参数可能有问题,因为我们新建实例的时候,指定的是端口号;与之对应得,客户端的在进行节点编目时也应该指定端口号,而不是服务名:

删除数据库编目和节点目录,为重新配置,做准备:

db2 => uncatalog db demo2

DB20000I?UNCATALOG DATABASE命令成功完成。

DB21056W?只有在刷新目录高速缓存以后,目录更改才会生效。

db2 => uncatalog node n1

DB20000I?UNCATALOG NODE命令成功完成。

DB21056W?只有在刷新目录高速缓存以后,目录更改才会生效。

db2 => terminate

DB20000I?TERMINATE命令成功完成。

?

D:\Program Files\IBM\SQLLIB\BIN>db2

?

5、重建节点目录和数据库编目:

db2 => catalog TCPIP node n1 remote 192.168.102.163 server 55555

DB20000I?CATALOG TCPIP NODE命令成功完成。

DB21056W?只有在刷新目录高速缓存以后,目录更改才会生效。

db2 => terminate

DB20000I?TERMINATE命令成功完成。

?

db2 => catalog database demo as demo2 at node n1 authentication server

DB20000I?CATALOG DATABASE命令成功完成。

DB21056W?只有在刷新目录高速缓存以后,目录更改才会生效。

db2 => terminate

DB20000I?TERMINATE命令成功完成。

?

6、成功登陆

db2 => connect to demo2 user db2inst2 using passwd

?

??数据库连接信息

?

?数据库服务器????????= DB2/LINUX 9.7.1

?SQL授权标识????????= DB2INST2

?本地数据库别名??????= DEMO2

?

db2 => list node directory

?

?节点目录

?

?目录中的条目数= 2

?

节点1条目:

?

?节点名?????????????????????????= N1

?注释???????????????????????????=

?目录条目类型???????????????????= LOCAL

?协议???????????????????????????= TCPIP

?主机名?????????????????????????= 192.168.102.163

?服务名称???????????????????????= 55555

?

节点2条目:

?

?节点名?????????????????????????= NDE5C9F6

?注释???????????????????????????=

?目录条目类型???????????????????= LOCAL

?协议???????????????????????????= TCPIP

?主机名?????????????????????????= 192.168.102.163

?服务名称???????????????????????= db2c_db2inst1

?

总结:1、在本实验中,端口号和通信协议是服务器配置的重要参数,服务名的作用没有体现出来(使用图形化工具配置时,服务名作用十分重要);

2、客户端的配置,比较关键的步骤是节点目录和数据库编目的创建。

热点排行