3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Db2コマンド実行環境のインストール(Db2サーバー無し、ユーザー名を自由に設定、Linux編)

Last updated at Posted at 2023-05-07

1. はじめに

Db2サーバーを導入すればCLP(command line processor)を利用できますが、

  1. Db2クライアントだけを導入したい
  2. Db2クライアント環境のユーザー名をデフォルトのdb2inst1以外の任意の名前にしたい

といった要望を聞くことがあります。本記事ではLinux環境を対象にして、この要望に応える手順をまとめます。要点は

  1. CLPが同梱されているIBM Data Server Runtime Clientパッケージを導入すること
  2. その際db2setupコマンドを用いずに、db2_installコマンドを使って導入し、次にdb2icrtコマンドでインスタンスを作成すること
    • 補足)db2setupコマンドを実行すると基本的にはdb2inst1のインスタンスが作成されます。

です。(これがわかるまで時間がかかった。。)

本記事の目次は次の通りです。

  1. はじめに
  2. 手順実行の前提
  3. 参考資料
  4. 手順概要
  5. 手順

2. 手順実行の前提

次の情報と実行環境が必要です。

  1. IBM ID(Db2クライアントのパッケージをダウンロードするとき使用)
  2. Linux環境とrootのパスワード
    • 本記事では CentOS Stream release 8 x86_64環境を用いますが、他LinuxディストリビューションにおいてもDb2サポート対象であれば、同じDb2コマンドを用いて導入できます。

3. 参考資料

4. 手順概要

  1. Data Server Runtime Clientの導入パッケージを取得
  2. Data Server Runtime Clientを導入
  3. 任意の名前でユーザーを作成
  4. 作成したユーザー用のDb2インスタンスを作成
  5. 作成したユーザーにてCLPプロンプトを確認

5. 手順1) Data Server Runtime Clientの導入パッケージを取得

次のURLを開いてFix Centralに移動します。
https://www.ibm.com/support/fixcentral/
image.png
この画面でSelect Productタブを選択し、次に4つのプルダウンメニューを下の通りに選択し、最後にContinueボタンを押します。
image.png
次の画面でBrowse for fixesを選択してContinueボタンを押します。
image.png
次の画面でIBM Data Server Runtime Client (Linux/x86-64 64bit)を選択します。このバージョンは接続予定のDb2サーバーのバージョンに合わせてください。本記事では11.5.8.0を選択します。
image.png
次の画面においてIBM IDでログインしてください。
image.png
次の画面に表示される3つのファイルをダウンロードします。
image.png
ダウンロードしたファイルをCentOS環境にコピーして(scp等でコピー)それが本物かどうかをopensslコマンドで確認します。参考のため1つ目のコマンドでCentOSのバージョンを表示しています。作業フォルダは任意ですが、本記事では20230507とそのサブディレクトリを用います。

$ ssh root@xxx.xxx.xxx.xxx
[root@cos8b ~]# cat /etc/centos-release
CentOS Stream release 8

[root@cos8b ~]# cd 20230507

[root@cos8b 20230507]# ls
publicKey.pem  v11.5.8_linuxx64_rtcl.tar.gz  v11.5.8_linuxx64_rtcl.tar.gz.sig

[root@cos8b 20230507]# openssl dgst -sha256 -verify publicKey.pem -signature v11.5.8_linuxx64_rtcl.tar.gz.sig v11.5.8_linuxx64_rtcl.tar.gz
Verified OK

5. 手順2) Data Server Runtime Clientを導入

gzファイルを解凍して内容を確認します。rtclディレクトリに導入コマンドdb2_install等が保存されています。

[root@cos8b 20230507]# tar xzf v11.5.8_linuxx64_rtcl.tar.gz

[root@cos8b 20230507]# ls
publicKey.pem  rtcl  v11.5.8_linuxx64_rtcl.tar.gz  v11.5.8_linuxx64_rtcl.tar.gz.sig

[root@cos8b 20230507]# cd rtcl

[root@cos8b rtcl]# ls
db2  db2_deinstall  db2_install  db2ls  db2prereqcheck  db2setup  installFixPack

導入前のチェックコマンドdb2prereqcheckを実行します。オプション-lを付けると最新バージョン(現時点で11.5.8)のみをチェックします。不足パッケージに対してエラーメッセージが表示されます。

[root@cos8b rtcl]# ./db2prereqcheck -l
...
DBT3507E  The db2prereqcheck utility failed to find the following package or file: "kernel-source".
DBT3507E  The db2prereqcheck utility failed to find the following package or file: "".
DBT3507E  The db2prereqcheck utility failed to find the following package or file: "".
DBT3507E  The db2prereqcheck utility failed to find the following package or file: "gcc-c++".
DBT3507E  The db2prereqcheck utility failed to find the following package or file: "cpp".
DBT3507E  The db2prereqcheck utility failed to find the following package or file: "binutils".
DBT3507E  The db2prereqcheck utility failed to find the following package or file: "gcc".
DBT3563E  The db2prereqcheck utility determined that SELinux is enabled, which is not supported with GPFS.
DBT3618E  The db2prereqcheck utility detected that ksh is not linked to ksh or ksh93. This is required for Db2 High Availability Feature with Tivoli SA MP.

上のパッケージを導入します。なお環境に応じて上のエラーメッセージが異なり、導入するパッケージも異なってきます。

[root@cos8b rtcl]# dnf -y install gcc
Installed:
  binutils-2.30-120.el8.x86_64             cpp-8.5.0-19.el8.x86_64               gcc-8.5.0-19.el8.x86_64                 glibc-devel-2.28-225.el8.x86_64
  glibc-headers-2.28-225.el8.x86_64        isl-0.16.1-6.el8.x86_64               kernel-headers-4.18.0-489.el8.x86_64    libmpc-1.1.0-9.1.el8.x86_64
  libpkgconf-1.4.2-1.el8.x86_64            libxcrypt-devel-4.1.1-6.el8.x86_64    pkgconf-1.4.2-1.el8.x86_64              pkgconf-m4-1.4.2-1.el8.noarch
  pkgconf-pkg-config-1.4.2-1.el8.x86_64
Complete!

[root@cos8b rtcl]# dnf -y install gcc-c++
Installed:
  gcc-c++-8.5.0-19.el8.x86_64                                               libstdc++-devel-8.5.0-19.el8.x86_64
Complete!

チェックコマンドdb2prereqcheckを再度実行します。オプション-lに加えて-cを付けます。これによってサーバー導入前のチェックは行わず、クライアント導入前のチェックを行います。

[root@cos8b rtcl]# ./db2prereqcheck -c -l
Requirement not matched for DB2 database "Client" . Version: "11.5.8.0".
Summary of prerequisites that are not met on the current system:
   DBT3514W  The db2prereqcheck utility failed to find the following 32-bit library file: "/lib/libpam.so*".
DBT3514W  The db2prereqcheck utility failed to find the following 32-bit library file: "libstdc++.so.6".

上の警告は32bitライブラリに関するものであるため対応せずそのままにして、db2_installコマンドを用いてDb2クライアントを導入します。

[root@cos8b rtcl]# ./db2_install
Requirement not matched for DB2 database "Server" . Version: "11.5.8.0".
...
The execution completed successfully.

導入結果を確認します。下のようにdb2コマンドはまだ実行できません。

[root@cos8b rtcl]# ls /opt/ibm/db2/V11.5/
adm  bin  bnd  cfg  conv  desktop  function  install  instance  java  json  lib32  lib64  license  logs  msg  Readme  security32  security64  tools

[root@cos8b rtcl]# which db2
/usr/bin/which: no db2 in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)

5. 手順3) 任意の名前でユーザーを作成

任意のユーザー名として本記事ではyamasakkを用います。useraddコマンドにオプション-mを付けてホームディレクトリを作成します。

[root@cos8b rtcl]# useradd -m yamasakk

[root@cos8b rtcl]# passwd yamasakk
Changing password for user yamasakk.
...
passwd: all authentication tokens updated successfully.

5. 手順4) 作成したユーザー用のDb2インスタンスを作成

db2icrtコマンドを実行します。上で作成したユーザー名yamasakkを指定します。オプション-s clientによってサーバー用ではなくクライアント用インスタンスを作成します。

[root@cos8b rtcl]# /opt/ibm/db2/V11.5/instance/db2icrt -s client yamasakk
...
The execution completed successfully.

5. 手順5) 作成したユーザーにてCLPプロンプトを確認

上で作成したユーザーでログインします。ホームディレクトリが作成されたこと、その配下にdb2コマンドが導入されていることを確認します。次にdb2コマンドを実行してCLPのプロンプトが表示されることを確認します。これで本記事の目的(サーバー導入無し、任意のユーザー名)を達成しました。

$ ssh yamasakk@xxx.xxx.xxx.xxx
[yamasakk@cos8b ~]$ pwd
/home/yamasakk

[yamasakk@cos8b ~]$ which db2
~/sqllib/bin/db2

[yamasakk@cos8b ~]$ db2
(c) Copyright IBM Corporation 1993,2007
Command Line Processor for DB2 Client 11.5.8.0
db2 =>
3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?