IBM Support

[Db2] 構成アシスタントを利用せずに、データベースをカタログする方法

Question & Answer


Question

Db2 10.1 から構成アシスタントが廃止されました。 構成アシスタントを使わずに、リモート・データベースをカタログする方法を教えてください。

Cause

Db2 10.1 以降、Linux および Windows の x86、x86-64 版からも GUI ツールが廃止されました。
コントロール・センター・ツールが廃止された

このため、構成アシスタントは使えません。以下のいずれかの方法でデータベースをカタログしてください。
なお、JDBC ドライバーで Type 4 接続を使用する場合や、CLI、ODBC、.Net ドライバーなどでアプリケーションから接続文字列を指定する場合にデータベースをカタログする必要はありません。

  • CATALOG コマンド
    コマンド行プロセッサーが必要なので、Data Server Driver パッケージでは利用できません。
  • db2b2cfexp/db2cfimp コマンド
    コマンド行プロセッサーが必要なので、Data Server Driver パッケージでは利用できません。
    カタログだけでなく、クライアント構成パラメーターや ODBC 構成なども移行できます。
  • db2dsdriver.cfg ファイル
    構成ファイルを配置するだけで設定が行えます。また db2cli コマンドで構成ファイルを生成できます。
  • ODBC データ ソース アドミニストレーター (Windows のみ)
    Windows のみですが、GUI で構成が行えます。

Answer

以下の解説では、例としてデータベース・サーバーは db2srv.ibm.com、ポート番号は 50000、データベース名は SAMPLE を利用します。
注:Db2 11.5.6 以降、新規作成されたインスタンスのデフォルト・ポート番号は 25000 に変更されています。

CATALOG NODE および CATALOG DATABASE コマンド

  1. クライアント・インスタンスのインスタンス・オーナ (Unix/Linux) もしくは DB2ADMNS 権限のユーザー (Windows) でデータベース・クライアントにログインします。
  2. コマンド行プロセッサーから以下のコマンドを実行します。
    db2 catalog tcpip node <node_name> remote <host_name or IP address> server <port_number>
    db2 catalog database <database_name> [as <database_alias>] at node <node_name>
    ここで <node_name> は、クライアントで一意な任意の名前、<host_name or IP address> はデータベース・サーバーのホスト名もしくは IP アドレス、<port_number> はデータベース・サーバー・インスタンスのサービス・ポート番号、<database_name> はデータベース・サーバー上のデータベース名、<database_alias> はクライアント上で一意なデータベース別名です。
    コマンドの例
    $ db2 catalog tcpip node DB2SRV remote db2srv.ibm.com server 50000
    $ db2 catalog database SAMPLE at node DB2SRV
  3. (オプション) ODBC データソースを登録します。
    // 64 ビット・データソース
    db2 catalog system odbc data source <database_name>
    // 32 ビット・データソース
    db2cli32 registerdsn -add -dsn <database_name> -system
 

db2cfexp/db2cfimp コマンド

db2cfexp コマンドはノード・カタログやデータベースカタログだけでなく、クライアント構成パラメーターや ODBC、CLI 構成を含めてエクスポートできます。このため、1台のマスターを作成後、その設定を複数のクライアントに展開する用途に適しています。

  1. マスターとなるクライアントで CATALOG NODE および CATALOG DATABASE コマンドを実行して目的のカタログを作成します。
  2. コマンド行プロセッサーから以下のコマンドを実行します。
    db2cfexp <file_name> [template | maintain ]
    ここで <file_name> は構成情報を出力する任意のファイル名を、カタログだけでなく構成パラメーターや ODBC 構成まで含める場合は template を、カタログだけ含める場合は maintain を指定します。
    $ db2cfexp catalog.out maintain
  3. <file_name> を展開先のクライアント・コンピュータにバイナリー・モードで転送します。
  4. 展開先のクライアントにログインし、コマンド行プロセッサーから以下のコマンドを実行します。
    db2cfimp <file_name>
db2dsdriver.cfg ファイル

任意のエディターで以下のような db2dsdriver.cfg ファイルを作成し、クライアントに配置します。
db2dsdriver.cfg はデフォルトで以下のパスに配置しますが、DB2DSDRIVER_CFG_PATH レジストリー変数で任意のパスに変更できます。

  • Linux/Unix の場合: <instance_path>/cfg
  • Windows の場合: C:¥ProgramData¥IBM¥DB2¥<copy_name>¥cfg
    参照: IBM データ・サーバー・ドライバー構成ファイルの場所
    <configuration>
      <dsncollection>
        <dsn alias="<database_alias>" name="<database_name>" host="<host_name or IP address>" port="<port_number>"/>
      </dsncollection>
      <databases>
        <database name="<database_name>" host="<host_name or IP address>" port="<port_number>"/>
      </databases>
    </configuration>

    ここで <host_name or IP address> はデータベース・サーバーのホスト名もしくは IP アドレス、<port_number> はデータベース・サーバー・インスタンスのサービス・ポート番号、<database_name> はデータベース・サーバー上のデータベース名、<database_alias> はクライアント上で一意なデータベース別名です。

    <configuration>
      <dsncollection>
        <dsn alias="SAMPLE" name="SAMPLE" host="db2srv.ibm.com" port="50000"/>
      </dsncollection>
      <databases>
        <database name="SAMPLE" host="db2srv.ibm.com" port="50000"/>
      </databases>
    </configuration>
  • CATALOG コマンドで正しいノード・カタログとデータベース・カタログを作成後、カタログから db2dsdcfgfill コマンドを利用して db2dsdriver.cfg ファイルを生成できます。
    例: db2inst1 インスタンスのノードおよびデータベース・カタログから /work/db2dsdriver.cfg を作成。
    $ db2ilist
    db2inst1
    $ db2dsdcfgfill -i db2inst1 -o /work
    SQL1535I  db2dsdcfgfill ユーティリティーは db2dsdriver.cfg 構成ファイルを正常に作成しました。
  • db2cli コマンドで db2dsdriver.cfg ファイルおよび ODBC データソースを構成できます。
    上の例で記載した db2dsdriver.cfg は以下のコマンドで生成できます。
    // 構成方法
    db2cli writecfg add -database SAMPLE -host db2srv.ibm.com -port 50000
    db2cli writecfg add -dsn SAMPLE -database SAMPLE -host db2srv.ibm.com -port 50000
    // テスト接続方法
    db2cli validate -dsn SAMPLE -connect -user <user_name> -passwd <password>

ODBC データ ソース アドミニストレーター (Windows のみ)

Windows のみですが、ODBC データソース アドミニストレーターでデータソースを追加するとき、新規データベースを「追加」することで、カタログを作成できます。

  1. 管理者権限で Windows にログオンします。
  2. 管理ツールから「データソース(ODBC)」を開きます。
  3. DSN の「追加」をクリックし、IBM DB2 ODBC DRIVER を選択して「完了」をクリックします。
  4. ドライバーによるデータベース追加画面で、新規作成するデータソース名をタイプして「追加」をクリックします。
  5. CLI/ODBC 設定画面で、データベース名、サーバーのホスト名、ポート番号を入力して「OK」します。
 

運用上の考慮点

関連情報
[Db2] パスポート・アドバンテージによく寄せられる質問
[Db2] Db2 が使用する TCP/IP ポート番号
クライアント/サーバー間通信
CATALOG DATABASE コマンド
CATALOG TCPIP/TCPIP4/TCPIP6 NODE コマンド

db2cfexp - 接続構成エクスポート・ツール・コマンド
db2cfimp -接続構成インポート・ツール・コマンド

IBM データ・サーバー・ドライバー構成ファイル

お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと 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":"a8m500000008Pl2AAE","label":"Connectivity-\u003ECataloging"}],"ARM Case Number":"","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"10.1.0;10.5.0;11.1.0;11.5.0"}]

Document Information

Modified date:
26 August 2023

UID

swg22011089