如何识别DB2端口号

问题描述:

我必须使用端口号在java中建立DB2连接。 DB2中是否有任何命令或可以获取DB2端口号的任何方式?如何识别DB2端口号

在创建DB2连接时我没有使用默认端口50000,因为在DB2安装过程中可以更改此端口。 请建议任何DB2命令或其他选择。

+2

运行,如果你是一个Linux框中可以试试'netstat -pn | grep -i db'列出DB2正在监听的所有端口。 –

+0

我想那里会有类似的Windows。 –

在Windows DB2服务器上,打开DB2命令窗口并执行命令

db2 get database manager configuration | findstr /i svce 

这应该提供像一些输出:

TCP/IP Service name       (SVCENAME) = db2c_DB2 
SSL service name       (SSL_SVCENAME) = 

SVCENAME是DB2侦听的端口。要将此名称解析为实际的端口号,您需要参考位于%SystemRoot%\system32\drivers\etc\services的服务文件。

+3

这只适用于当前实例。为了了解“services”文件中定义的DB2实例的所有端口,需要附加到服务器中的每个实例。 – AngocA

+0

以上不起作用。 –

+0

@DurgadasKamath照顾详细? –

在Linux/Unix DB2服务器上,打开shell终端并与实例所有者一起登录。执行以下命令:

 db2 "get dbm cfg"|grep -i svce 

像伊恩Bjorhvde的显示您的TCP/IP服务名称, SVCENAME你可以在文件/ etc /服务查看答案。

+0

这仅适用于当前实例。如果需要更改为每个实例以获取服务名称,并将其与服务文件进行匹配。 – AngocA

您的服务器中可能有不同的实例,也就是说,DB2正在不同的端口上侦听。 首先,你必须列出的实例在服务器

db2ilist 

你会得到一组实例名称。对于每一个你必须得到端口名称

的Windows

set DB2INSTANCE=instname 
db2 get dbm cfg 

的Linux

export DB2INSTANCE=instname 
db2 get dbm cfg 

如果你不改变的情况下,你只会得到当前实例的服务名称。 从客户端获取该信息的另一种方法是通过配置助手(db2ca)。高级视图,你右键点击一个实例,然后你会得到实例的详细信息:端口号,服务名称等。

这将给所有安装在机器上的db2实例的端口(for Linux或AIX系统)

netstat -aan | grep -i db2 

转至DB2命令提示符。

执行命令以获取DB2实例

命令:DB2获得实例

发出命令,找到TCP/IP服务名称

命令:DB2获得DBM CFG | grep的SVCE

DB2获得DBM CFG | grep的SVCE

TCP/IP服务名(SVCENAME)= db2c_db2inst9 的TCP/IP服务名称是 “db2c_db2inst9

使用TCP/IP服务名称来查找在/ etc端口号/ services文件

命令:grep的TCP/IPservicename/etc/services中

变化TCP/IPservicename与当前服务名称。

的grep db2c_db2inst9/etc/services中

db2c_db2inst9 50090/TCP

的DB2实例的端口号

+0

这对我来说只是使用:db2 get dbm cfg。然后读一点我看到我的港口,它是50000。 – Airborne