本地连接虚拟机db2V10.5遇到的问题
阅读原文时间:2023年07月11日阅读:1

在连接虚拟机数据库时发现自己不知道db2的端口号是多少,百度上说50000,60000的都有,所以还是决定自己试一下,并记录下这个过程

# 首先切换到db2inst1的用户
su - db2inst1
# 查询db2配置中 (SVCENAME)= 的值
db2 get dbm cfg | grep -i service

通过上面这个命令,查出来的(SVCENAME)=为空,按其他博客的教程是拿这里的SVCENAME的值在/etc/services中新增一行,但是这里没有,所以百度出命令如下:

db2set DB2COMM=tcpip
db2 update database manager configuration using svcename DB2_db2inst1

再次执行db2 get dbm cfg | grep -i service,这时SVCENAME已经有值了。

使用命令vi /ect/services插入一行DB2_db2inst1 50000/tcp,:wq!无法保存强制退出,是因为当前用户权限不足,要么修改权限,要么切换回root用户。

编辑失败:

编辑成功:

这时按道理来说应该已经可以了,只要把防火墙关闭或者防火墙开放50000端口就大功告成了。

于是我关闭了防火墙。。。

本地使用dbvis连接虚拟机db2

报错如下:

Long Message:
[jcc][t4][2043][11550][4.18.60] 异常 java.net.ConnectException:打开端口 50,000 上服务器 /192.168.137.100 的套接字时出错,消息为:Connection refused: connect。 ERRORCODE=-4499, SQLSTATE=08001

无法连接。。那我就ping一下我虚拟机的ip192.168.137.100,是可以ping成功的,在检查了一下防火墙是否关闭,也是关着的。没办法,继续百度吧

有篇博客说看下端口50000的LISTEN状态

netstat -nap|grep 50000

啥也没显示。。

所以又一番百度后,查出命令如下:

db2set -all

终于有了!!!

再次使用dbvis连接虚拟机db2

连接成功!

搞定,债见~