IBM Support

[Db2] db2iupdt や db2iupgrade 実行後、DB2 のコマンドが SQL6031N rc=3 や rc=11 で失敗する

Question & Answer


Question

V10.5 以降にアップグレード後またはフィックスパック適用後に db2start などのコマンドを実行すると、以下のような SQL6031N が発生するようになりました。原因と対応方法を教えてください。
$ db2start 
SQL6031N db2nodes.cfg ファイルの行番号 "0" で エラーがありました。 理由コード "3"
または
SQL6031N db2nodes.cfg ファイルの行番号 "0" で エラーがありました。 理由コード "11"
または
SQL5043N DB2COMM 環境変数で指定されている 1 つ以上の通信プロトコルに対するサポートを正常に
開始できませんでした。 
ただし、コアのデータベース・マネージャーの機能は正常に開始されました。

Cause

以下 FAQ 記載のとおり、Db2 10.5 以降 Server Editions のデフォルト・インスタンス・タイプが ESE へ変更されました。また、Db2 11.5 以降 WSE インスタンスはサポートされません。
以前のバージョンで WSE インスタンスを使用していた場合に、db2iugrade を -k オプションなしで実行した、あるいは db2iupdt を -k オプションなしで実行した場合には、デフォルト・インスタンス・タイプの ESE へアップグレードされています。
注: フィックスパックの適用に伴う暗黙的な db2iupdt は -k オプションつきで実行されます。
[Db2] V10.5 以降、Server Editions のデフォルト・インスタンス・タイプは ESE

ESE インスタンスでは、パーティション・データベース機能をサポートするために、以下 a、b の設定が必要です。
WSE インスタンスからアップグレード後、これらの設定が欠けていると SQL6031N エラーが返ります。
  1. ノード構成ファイル ($INST_HOME/sqllib/db2nodes.cfg)
    データベース・パーティションを定義するために必要です。
    正しいノード構成ファイルが存在しない場合、そのインスタンスでの操作は SQL6031N rc=3 で失敗します。
    シングル・パーティションの場合でも、以下のような1行のエントリーが必要です。
    0 <ホスト名> 0
  2. 高速コミュニケーション・マネージャー (FCM) ポート
    パーティション・データベースではパーティション間の通信に FCM ポートが必要です。
    該当インスタンス用の FCM ポートが定義されていない場合、そのインスタンスでの操作は SQL6031N rc=11 で失敗します。
    シングル・パーティションの場合でも、/etc/services に以下のような FCM ポートを定義する必要があります。
    DB2_<インスタンス名> 60000/tcp
    DB2_<インスタンス名>_END 60001/tcp
    FCM ポートについては、以下の FAQ も参照してください。
    [Db2] Db2 が使用する TCP/IP ポート番号

    また、WSE インスタンスが ESE インスタンスにアップグレードされる際、既存のデータベース・マネージャー構成ファイルが初期化されます。この影響で以下の例を含め様々なエラーが返る可能性があります。
    • SQL1416N, SQL20076N (FEDERATED が NO に初期化された場合)
    • SQL5043N (SVCENAME がブランクに初期化された場合)
    • SQL のパフォーマンス障害 (SQL コンパイラーが参照するパラメーターの変更による)

Answer

Workgroup Server Edition 利用時も ESE インスタンスの使用がサポートされますので、インスタンスの再作成は不要です。以下の手順でご確認ください。
 
  1. 現行インスタンスのタイプを確認します。
    "ローカルとリモート・クライアントを持つ Enterprise Server Edition"と出力されている場合には、ESE インスタンスです。
    $ db2 get dbm cfg | grep ノード・タイプ
  2. ESE インスタンスの場合は、ノード構成ファイル (db2nodes.cfg) とサービス・ファイル (/etc/services) が正しく設定されていることを確認します。
    1. ノード構成ファイル(db2nodes.cfg)の確認
      HA クラスター構成でスタンバイ機でインスタンスを起動した場合や、コンピュータのホスト名を変更した場合には、db2nodes.cfg の修正が必要です。
      以下 FAQ の 手順 5. 6. を参照し、db2nodes.cfg ファイルを編集してください。
      [Db2] Db2 がインストールされたコンピュータのホスト名変更手順 (IM-10-00K)

      db2nodes.cfg ファイルでホスト名として指定する内容は、hostname コマンドで出力される文字列とする必要がありますので、以下 FAQ もあわせて参照ください。
      [Db2] フェイルオーバー・クラスター環境における db2nodes.cfg ファイルへのホスト名の記述方法
      ※上記 FAQ はフェイルオーバー・クラスター環境にかぎらず内容は有効です。
       
    2. サービス・ファイル (/etc/services)の確認
      services ファイルに FCM サービス・ポートが定義されていることを確認します。
      該当インスタンス用の FCM サービス・ポートが定義されていない場合、任意のエディターで services ファイルに追記します。
      $ grep "DB2_" /etc/services
      
      DB2_db2inst1 60000/tcp
      DB2_db2inst1_1 60001/tcp
      DB2_db2inst1_2 60002/tcp
      DB2_db2inst1_END 60003/tcp
  3. データベース構成マネージャー構成が期待通りであることを確認します。
    $ db2 get dbm cfg
運用上の考慮点
何らかの理由で WSE インスタンスを使用したい場合、インスタンスの再作成が必要です。
ただし、db2iupdt などで ESE に変換される可能性があるため、必然性がない限り ESE インスタンスをご利用ください。

関連情報
[Db2] パスポート・アドバンテージによく寄せられる質問

db2iupdt - インスタンスの更新コマンド
db2icrt - インスタンスの作成コマンド
ノード構成ファイルの作成
SQL6031N db2nodes.cfg ファイルの行番号 line で エラーがありました。 理由コード reason-code
 
お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと Db2 テクニカル・サポートへお問い合わせください。
Db2 テクニカル・サポート

[{"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":"a8m500000008Pm7AAE","label":"Install\/Migrate\/Upgrade-\u003EFixpak"},{"code":"a8m500000008PmAAAU","label":"Install\/Migrate\/Upgrade-\u003EInstance"}],"ARM Case Number":"","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"}],"Version":"10.5.0;11.1.0;11.5.0"}]

Document Information

Modified date:
27 August 2023

UID

swg22008971