IBM Support

[Db2] db2icrt が DBI1281E エラーで失敗する場合の対処方法

Question & Answer


Question

Db2 インスタンス作成のために、db2icrt コマンドを実行したところ、DBI1281E エラーで失敗しました。原因と対処方法を教えてください。
エラーの例
# db2icrt -a SERVER -u db2inst1 db2inst
DBI1281E データベース・マネージャー構成ファイルが初期化できませんでした。

Answer

db2icrt コマンドの実行が DBI1281E エラー・メッセージで失敗した場合、主に以下 A と B の原因が考えられます。
  1. 名前解決の構成が正しくない
    例えばホスト名に対する ping コマンドの実行が失敗するような場合、 db2icrt は正しく実行できません。
  2. カーネル・パラメーターの設定値が低い
    ipcs コマンドの結果で把握できるいくつかのパラメーターの設定が低い場合に DBI1281E エラー・メッセージが返ることがあります。

確認方法と回避方法について以下に記述します。


A の確認・対処方法

[必要な資料]
  • db2icrt コマンドの出力結果
  • /etc/hosts ファイル
  • ping `hostname` の実行結果
  • /etc/nsswitch.conf (Linux), /etc/netsvc.conf (AIX) ファイル
  • 以下のパーミッション情報
    /tmp
    /dev/null

[確認・対処方法]
  • db2icrt の対象となるサーバーの hostname を用いて以下のコマンドを実行します。
    $ ping`hostname`
    ping の実行が失敗する場合は、/etc/hosts ファイルにおける指定した hostname の構成定義の修正が必要です。
  • /etc/nsswitch.conf (Linux), /etc/netsvc.conf (AIX) を確認し、期待する順序で名前解決が行われることを確認します。
    例:Linux で /etc/hosts に続いて DNS で名前解決を行う場合
    hosts: files dns
    例:AIX で /etc/hosts に続いて DNS で名前解決を行う場合
    hosts=local4, bind4
  • db2icrt コマンドの対象であるインスタンス・ユーザーが、/tmp や /dev/null に対して read/write アクセス権限があるかどうかも確認し、権限が無い場合は付与します。

B の確認・対処方法

[必要な資料]
  • db2icrt コマンドの出力結果
  • ipcs -l の出力結果
  • db2diag.log ファイル

[確認・対処方法]
  • root ユーザーで "ipcs -l " を実行し、出力結果を確認します。
    ------ Shared Memory Limits --------
    max number of segments = 1024 // SHMMNI
    max seg size (kbytes) = 67108864 // SHMMAX
    max total shared memory (kbytes) = 17179869184 // SHMALL
    min seg size (bytes) = 1
    
    ------ Semaphore Limits --------
    max number of arrays = 1024 // SEMMNI
    max semaphores per array = 250 // SEMMSL
    max semaphores system wide = 256000 // SEMMNS
    max ops per semop call = 32 // SEMOPM
    semaphore max value = 32767
    
    ------ Messages: Limits --------
    max queues system wide = 3 // MSGMNI
    max size of message (bytes) = 65536 // MSGMAX
    default max size of queue (bytes) = 65536 // MSGMNB
    
    上記の例のように、カーネル・パラメーターである SHMMNI 、SEMMNI、 SEMMSL、MSGMNI の設定値が低い場合は、DBI1281E エラーで失敗する場合があります。
    問題解決のために、Information Center の以下の値を指標として、設定値を高く変更してエラーの回避が可能か確認します。
    カーネル・パラメーターの変更 (Linux)
  • [カーネル・パラメーターの変更方法]
    root ユーザーで /etc/sysctl.conf ファイルを編集し、システム上で変更内容を有効にします。有効にする方法はシステムによって異なります。

関連情報
お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと Db2 テクニカル・サポートへお問い合わせください。
Db2 テクニカル・サポート

[{"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":"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":"All Versions"}]

Document Information

Modified date:
26 August 2023

UID

swg21570366