本地連接虛擬機db2V10.5遇到的問題

在連接虛擬機資料庫時發現自己不知道db2的埠號是多少,百度上說50000,60000的都有,所以還是決定自己試一下,並記錄下這個過程

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

1

通過上面這個命令,查出來的(SVCENAME)=為空,按其他部落格的教程是拿這裡的SVCENAME的值在/etc/services中新增一行,但是這裡沒有,所以百度出命令如下:

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

再次執行db2 get dbm cfg | grep -i service,這時SVCENAME已經有值了。

2

使用命令vi /ect/services插入一行DB2_db2inst1 50000/tcp,:wq!無法保存強制退出,是因為當前用戶許可權不足,要麼修改許可權,要麼切換回root用戶。

5

編輯失敗:

4

編輯成功:

3

這時按道理來說應該已經可以了,只要把防火牆關閉或者防火牆開放50000埠就大功告成了。

於是我關閉了防火牆。。。

本地使用dbvis連接虛擬機db2

image-20200603092109892

報錯如下:

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

6

終於有了!!!

image-20200603093216345

再次使用dbvis連接虛擬機db2

image-20200603093350713

連接成功!

搞定,債見~