Question & Answer
Question
Db2 サーバーが LISTEN する可能性のある TCP/IP のポート番号を教えてください。
Answer
Db2 は以下のポートを LISTEN する可能性があります。
運用上の考慮点
- インスタンス・サービスポート (SVCENAME)
- インスタンス・SSL サービスポート (SSL_SVCNAME)
- 高速コミュニケーション・マネージャー (FCM) ポート
- Db2 高可用性災害時リカバリー (HADR) ポート
- RSCT 用ポート (TSAMP によるクラスターを構成する場合)
- Pacemaker 用ポート (Pacemaker によるクラスターを構成する場合)
- GPFS (Spectrum Scale) 用ポート (pureScale クラスターのみ)
- MQ チャネル (Q レプリケーション使用時のみ)
- IBM Secure Shell Server For Windows 用ポート (Windows のみ)
- Db2 管理サーバー (DAS) サービスポート (V9.7 以降非推奨)
- IBM Tivoli Monitoring for Databases: DB2 Agent (ITMA) ポート (V9.7 まで)
- Db2 Java Daemon ポート (JDBC Type3 接続使用時のみ。V8 まで)
それぞれのポートの詳細は以下の説明を参照してください。
- インスタンス・サービス (SVCENAME) ポート
データベース・アプリケーションが、データベース・サーバーに接続するときに使用します。
インスタンス作成時のデフォルトは V11.5.5 以前は 50000、V11.5.6 以降は 25000 ですが、データベース・マネージャー構成パラメーター SVCENAME で変更できます。
正しく LISTEN されているかどうかは以下の手順で確認できます。- サービス名の確認
db2 get dbm cfg | findstr "SVCENAME" (Windows) db2 get dbm cfg | grep "SVCENAME (UNIX/Linux) TCP/IP Service name (SVCENAME) = db2c_DB2
- services ファイルからサービス・ポートを確認
findstr "db2c_DB2" %systemroot%\system32\drivers\etc\services (Windows) grep "db2c_DB2" /etc/services (UNIX/Linux) db2c_DB2 50000/tcp
- netstat で、動作状態を確認
netstat -ao | findstr "db2c_DB2" (Windows) TCP DB2HOST1:db2c_DB2 DB2HOST1:0 LISTENING 1380
netstat -o | grep "db2c_DB2" (UNIX/Linux) tcp4 0 0 *.db2c_DB2 *.* LISTEN
db2set DB2COMM=TCPIP db2stop force db2start
- サービス名の確認
- インスタンス・SSL サービスポート (SSL_SVCNAME)
データベース・アプリケーションが、SSL/TLS でデータベース・サーバーに接続するときに使用します。
デフォルトはありません。データベース・マネージャー構成パラメーター SSL_SVCENAME で定義できます。
TCP/IP でも通信する場合、SVCNAME と異なる番号に設定する必要があります。同じ番号に設定すると TCP/IP も SSL も通信できなくなります。
SSL/TLS による通信の構成方法は以下の Technote を参照してください。
[Db2] SSL によってクライアント/サーバー間の通信を暗号化する方法
- 高速コミュニケーション・マネージャー (FCM) ポート
Database Partitioning Feature (DPF: 複数データベース・パーティション) 使用時のパーティション間通信に使われます。 インスタンス作成時のデフォルトは 60000 から始まる 6 ポート (V10.1 以前は 4 ポート) です。V11.5.6 以降は 20000 から始まる 6 ポートです。なお、インスタンスごとに、同様のポートのセットが必要です。たとえば、2 つめのインスタンスを作成すると 60006 から 60011 を使用します。V11.5.6 以降は 20006 から 20011 を使用します。
DPF 使用時、1 台のサーバーあたりの最大論理ノード数の分必要となります。このポートも必要に応じて利用者で設定・変更します。なお、V9.5 以降は DPF や区画内並行性 (INTRA_PARALLEL) が有効でなくても FCM が使用されます。
V11.5.5 以前の最初のインスタンスの例DB2_<インスタンス名> 60000/tcp DB2_<インスタンス名>_1 60001/tcp DB2_<インスタンス名>_2 60002/tcp DB2_<インスタンス名>_3 60003/tcp DB2_<インスタンス名>_4 60004/tcp DB2_<インスタンス名>_END 60005/tcp
V11.5.6 以降の最初のインスタンスの例DB2_<インスタンス名> 20000/tcp DB2_<インスタンス名>_1 20001/tcp DB2_<インスタンス名>_2 20002/tcp DB2_<インスタンス名>_3 20003/tcp DB2_<インスタンス名>_4 20004/tcp DB2_<インスタンス名>_END 20005/tcp
-
Db2 高可用性災害時リカバリー (HADR) ポート (V8.2 以降)
高可用性災害時リカバリー (HADR) のプライマリー EDU とスタンバイ EDU の通信に使われます。HADR を使用している場合は、HADR が活動化されているデータベースにつき 1 ポート必要です。データベース構成パラメーター HADR_LOCAL_SVC で定義します。
現在の設定は以下のコマンドで確認できます。db2 get db cfg for <データベース名> | grep HADR_LOCAL_SVC
- RSCT 用ポート (TSAMP によるクラスターを構成する場合)
TSA によるクラスターを構成する場合、すべてのファイアウォールが、クラスター・ノード間の ICMP ping および IP トラフィックに対して、次のポート番号の通過を許可する必要があります。
cthats および cthags のポート番号は cthactrl コマンドで変更できます。- RSCT cthats サブシステム用の 12347/udp
- RSCT cthags サブシステム用の 12348/udp
- RSCT rmc サブシステム用の 657/udp
- RSCT rmc サブシステム用の 657/tcp
- Pacemaker 用ポート (Db2 11.5 以降で Pacemaker によるクラスターを構成する場合)
crmd 3121/tcp corosync-qnetd 5403/tcp corosync 5404 - 5405/udp
- GPFS (Spectrum Scale) 用ポート
mmfsd (mmfsd64) 1191/tcp mmsdrserv 1191/tcp
- MQ チャネル (Q レプリケーション使用時のみ)
Q レプリケーションで定義した各チャネルは DEFINE CHL で指定したポートで LISTEN します。デフォルトは 1414 ですが空いている任意のポートを指定可能です。現在定義されているチャネルの状態とポート番号は以下の MQSC コマンドで表示できます。DISPLAY CHSTATUS(*)
- IBM Secure Shell Server For Windows 用ポート
Windows で ssh サーバー機能を提供するために IBM Secure Shell Server For Windows がインストールされます。デフォルトで 22 が使用されますが、sshd_config の設定で変更可能です。findstr "Port " "%ALLUSERSPROFILE%\Application Data\IBM\ibmssh\etc\ssh\sshd_config" #Port 22
- Db2 管理サーバー (DAS) サービスポート
Db2 管理サーバー (DAS) がコントロール・センターなどと通信するときに使われます。
523 で固定されており、変更できません。
- IBM Tivoli Monitoring for Databases: Db2 Agent (ITMA) ポート (Db2 9.5 および 9.7 のみ)
ITMA が Data Studio Admin Console と通信するときに利用されます。デフォルトで 1920 が使用されます。
- Db2 Java Daemon ポート (JDBC Type3 接続使用時のみ。Db2 V8 のみ。)
JDBC Type 3 接続を使用する場合、デフォルトで 6789 を使用します。利用者側で変更可能です。
デフォルトは DB2JD_PORT_NUMBER レジストリ変数で上書きでき、db2jstrt コマンドの引数で変更できます。
運用上の考慮点
- これらのサービス・ポートは、複数のネットワーク・インターフェースをもつコンピュータでは、どのインターフェースからでも利用可能です。V10.5 FP5 以降、複数のネットワーク・インターフェースをもつコンピュータで、nicbinding.cfg を利用して複数のインスタンスがインスタンス・サービス・ポートを使い分けられます。詳細な設定方法は以下のページを参照してください。
ポートへの排他的アクセスを DB2 メンバーが獲得できるようにするための NIC の指定 - インスタンス・サービス・ポートや SSL サービス・ポートがオペレーティング・システムのエフェメラル・ポート範囲に含まれる場合、インスタンスを起動してもサービス・ポートで正しく LISTEN できず、リモート・クライアントから接続できないことがあります。このため、エフェメラル・ポート範囲からインスタンス・サービス・ポートなどを除外する設定を検討してください。
この事象の詳細は以下の Technote を参照してください。
[Db2] インスタンス起動時に SQL5043N が発生する場合の対処方法
[{"Type":"MASTER","Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"ARM Category":[{"code":"a8m500000008Pl7AAE","label":"Connectivity-\u003ETCP\/IP"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]
Was this topic helpful?
Document Information
Modified date:
08 September 2024
UID
swg21573861