DB2 Express-C をインストールしてみる

勉強がてら、DB2を触るために、Express-C を CentOS にインストールしてみる。

最初は、ServersMan@VPS Entry プラン にインストールを試みた。インストール自体は成功するのだが、インスタンスがメモリ不足で起動しない。やはり 256MB のサーバーにRDBMSを入れるのは無理があるか。きっと上位契約にすれば良いはずだが、学習用にはもったいない。

ということで、途中から、VirtualBox 上の CentOSに切り替えた。

DB2 Express-C は、使用できるメモリ2G、CPUコア2つという制限があるが、基本的にデータサイズやインスタンス数等などの制限は行わない、再頒布も申請すれば可能、と非常に面白いライセンスになっているので、場面によっては、かなり使えるのではないか。

Linux 用 インストールガイド

http://www.ibm.com/developerworks/jp/offers/db2express-c/installlin_v95/

★ は、必要な箇所、☆は、ServersMan@VPS ではまった、基本的に不要な箇所

★ ダウンロード

http://www-06.ibm.com/software/jp/data/db2/v9/express-c/

db2_express_c_01

本体:db2exc_974_LNX_x86.tar.gz と、ランゲージパック : db2exc_nlpack_974_LNX_x86.tar.gz をダウンロード。IBM ID がダウンロードに必要。無料でIDは取得できる。(自分は以前メンバーになっていたようで、ログインできた)

インストールを試みるも、ライブラリが足りない

ServersMan@VPS では、ライブラリが足りなかったため、インストールした。CentOSのインストーラから、GUI Server をインストールした場合、ライブラリを別途インストールする必要はなかった。

# tar -xvf db2exc_974_LNX_x86.tar.gz
# cd expc
# ./db2setup
ERROR: 
   The required library file libaio.so.1 is not found on the system. 
   Check the following web site for the up-to-date system requirements
   of IBM DB2 9.7
   http://www.ibm.com/software/data/db2/udb/sysreqs.html
   http://www.software.ibm.com/data/db2/linux/validate  
  Aborting the current installation ...
  Run installation with the option "-f sysreq" parameter to force the installation.

ライブラリをインストールして再実行してみる。

# yum install compat-libstdc++-33
# yum install libaio
# ./db2setup
DBI1190I  db2setup is preparing the DB2 Setup wizard which will guide
      you through the program setup process. Please wait.

The DISPLAY variable is not set properly.  Ensure that the DISPLAY variable is set properly and that permissions are set properly to open windows on the display specified, then rerun the command.

 

☆ VNCを入れる

ServersMan@VPS では、当然、GUIはないので、VNCを入れてみる。VirtualBoxには、GUI Server をインストールした。

途中で作成する、セットアップ設定ファイルを利用すると、サイレントインストール自体は可能なようだ。

switchdeskしようとしたら、GNOME がないので、言われたとおりにGNOMEも入れる

# yum install vnc-server.i386
# yum install switchdesk
# switchdesk gnome
Red Hat Linux switchdesk 4.0
Copyright (C) 1999-2004 Red Hat, Inc
Redistributable under the terms of the GNU General Public License
ERROR: GNOME is not installed on your machine! to install GNOME, please type
yum groupinstall "GNOME Desktop Environment"

指摘通り GNOME を入れる


# yum groupinstall "GNOME Desktop Environment"

デスクトップを GNOME に変更する

# switchdesk gnome
Red Hat Linux switchdesk 4.0
Copyright (C) 1999-2004 Red Hat, Inc
Redistributable under the terms of the GNU General Public License
Desktop now set up to run GNOME.

一旦、vncserver を実行後、設定を書き換える

# cd /root/.vnc
# mv xstartup  xstartup.bak
# ln -s /root/.Xclients xstartup

vncserver を実行

# vncserver
xauth: (stdin):1:  bad display name "dti-vps-srv39:1" in "add" command

New 'dti-vps-srv39:1 (root)' desktop is dti-vps-srv39:1

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/dti-vps-srv39:1.log

ServersMan@VPS にVNCクライアントから接続。

db2_express_c_02

★ DB2 Express-C インストール

ダウンロードしたファイルを解凍し、expc フォルダの中で、db2setup を実行

# tar -xvf db2exc_974_LNX_x86.tar.gz
# cd expc
# ./db2setup

左側ペインで、Install a Product を選択

db2_express_c_03

Install New を選択

db2_express_c_04

DB2をインストールする前に、最低でも以下の事を計画しておく必要があるらしい

DB2のインストールは初めてなので、デフォルトで進める。

DB2管理サーバーのユーザー名 デフォルト:dasadm1
DB2のインスタンス・オーナー・ユーザー名 デフォルト:db2inst1
fencedユーザーのユーザー名 デフォルト:db2fenc1
インスタンスのTCP/IPポート番号 50000番

 

「DB2のサーバー・プロセスは、上記の「DB2の管理ユーザー」で起動されます。また、DB2 ではインスタンスが外部(クライアント)からの接続を受け付けるために、1インスタンス毎に一つ、現在使用していないポート番号が必要になります。」

へぇ。

Next

db2_express_c_05

次の画面では、ライセンスに同意してNext

Typical (標準)- Next

View Features で導入されるコンポーネントを確認できる。

「多くの場合、「標準」のままで問題ありません。」

ということのなので、そのままで次へ。

db2_express_c_06

応答ファイル(レスポンス・ファイル)を作成するかどうかを設定

「応答ファイルは、インストール時に選択した内容を記録しておくファイルで、同じ内容で次回インストールする際にそのファイルを使用するとインストール作業を自動化できるというものです。」

なしでいいかな。とりあえず。

db2_express_c_07

インストールディレクトリはデフォルトのままで

/opt/ibm/db2/V9.7

db2_express_c_08

DB2の管理ユーザーについての設定

db2_express_c_09

インスタンスを作成するにして、次へ

db2_express_c_10

「DB2インスタンスを作成する」を選ばない場合、データベースを扱うためのインスタンスの作成・構成はインストール・プロセスの中では行われず、インストール終了後にdb2icrtコマンドなどを用いてマニュアルで実施することになります。

インスタンス・オーナー・ユーザーについて指定

fencedユーザーについても、同様に、パスワードを設定し進める。

fencedユーザーとは、

DB2のユーザー定義関数、ストアード・プロシージャーなどは、fencedユーザー権限で実行されます。fencedユーザーをインスタンス・オーナーと別に指定することで、ユーザー定義関数、ストアード・プロシージャーに問題があった際にインスタンス本体へ影響を及ぼすことを防ぎます。

db2_express_c_11

設定内容のサマリーが表示される

db2_express_c_12

インストール実行中

db2_express_c_13

マイナーエラー発生!?

db2_express_c_14

Post-install steps を実行しろと言っているようだ。

/tmp/db2setup.log を見ると、

ERROR: SQL1042C  An unexpected system error occurred.

ERROR: An error occurred while trying to start the "db2inst1" instance. The
return code is "4" and the SQL Message is:   "PROCESS_ERROR"

ERROR: An error occurred while configuring the instance "db2inst1".

Configuring DB2 instances :.......Failure 


ERROR: An error occurred while trying to start the "db2inst1" instance. The
return code is "4" and the SQL Message is:   "PROCESS_ERROR"

ERROR: The installation program is unable to add the contact "db2inst1". The
return value is "5109". See the DB2 Information Center for more information
about adding contacts and configuring health alert notifications.

インスタンスの起動に失敗しているようだ。

この後、OS自体がメモリ不足でウィンドウが開かない、コマンドが実行できない等の状況となったので、メモリが足りないため、インスタンスの起動ができなかったのだろう。

メモリを2Gに設定した、VirtualBox上にCentOSをインストールして、ここまでの作業をやり直したところ、は成功。

db2_express_c_23 

★ ランゲージパックのインストール

一旦、db2inst1 ユーザでログインし直し、db2stop を行ってから、rootになって実行(インスタンスが動いているとエラーが発生することがあるとのことなので)

# tar -xvf db2exc_nlpack_974_LNX_x86.tar.gz
# cd nlpack/
# sudo ./db2setup

Install a Product

db2_express_c_15

Work with Existing ~ Laun ch DB2 Setup wizard

db2_express_c_16

Next ~ Next Japanese を選択してNext

db2_express_c_17

Finish

db2_express_c_18

Setup Complete

db2_express_c_19

☆ JDKのインストールと設定

ServersMan@VPS にてエラーのため実施したが、通常は不要と思われる。

ダウンロード

http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html

db2_express_c_21

インストールと設定

jdk-6u25-linux-i586.bin

# mv jdk-6u25-linux-i586.bin /opt/
# cd /opt/
# chmod +x jdk-6u25-linux-i586.bin 
# ./jdk-6u25-linux-i586.bin 
# vi /etc/profile.d/java.sh
export JAVA_HOME=/opt/jdk1.6.0_25
export PATH=$JAVA_HOME/bin:$PATH
# source /etc/profile.d/java.sh 
# alternatives --install /usr/bin/java java /opt/jdk1.6.0_25/bin/java 2
# alternatives --config java

There is 1 program that provides 'java'.

  Selection    Command
-----------------------------------------------
*+ 1           /opt/jdk1.6.0_25/bin/java

Enter to keep the current selection[+], or type selection number: 

rootでうごかしていたVNCサーバーを終了させる

# vncserver -kill :1

一旦ログオフし、db2inst1ユーザにて接続しなおしVNCの設定、VNCサーバーの起動

$ switchdesk gnome
Red Hat Linux switchdesk 4.0
Copyright (C) 1999-2004 Red Hat, Inc
Redistributable under the terms of the GNU General Public License
Desktop now set up to run GNOME.
$ cd /home/db2inst1/.vnc
$ mv xstartup xstartup.bak
$ ln -s /home/db2inst1/.Xclients xstartup
$ vncserver

db2_express_c_20

☆ DB2ファーストステップ(db2fs)

ServersMan@VPS にて、このステップを行おうとしてエラーとなったため、JDKをインストールしたが、VirtualBoxにインストールしたCentOSでは不要。

https://www-304.ibm.com/support/docview.wss?uid=swg21377358

$ db2fs
sh: /home/db2v2/sqllib/java/jdk32/jre/bin/java: No such file or directory DB2JAVIT : RC = 127

DB2の設定値を変更

$ db2 update dbm cfg using JDK_PATH $JAVA_HOME
DB20000I  The UPDATE DATABASE MANAGER CONFIGURATION command completed 
successfully.

確認

$ db2 get dbm cfg | grep "JDK"
 Java Development Kit installation path       (JDK_PATH) = /opt/jdk1.6.0_25

これで、上記のエラーは解消されるも、メモリ不足のエラーのため、ServersMan@VPS での続行を断念し、VirtualBox に CentOSをインストールして、ここまでの処理を行う。

★  サンプルデータベースの作成

上記インストールガイドで、db2fs でやっているのはサンプルデータベースを作成するだけのようだ。そのために、ブラウザのインストールが必要とうのは面倒くさい。サンプルデータベースはコマンドラインから作成可能のようだ。

DB2 Express-C 入門 V9,7 対応

コマンドからサンプルデータベースを作成する

$ db2sampl -xml -sql

  Creating database "SAMPLE"...
  Connecting to database "SAMPLE"...
  Creating tables and data in schema "DB2INST1"...
  Creating tables with XML columns and XML data in schema "DB2INST1"...

  'db2sampl' processing complete.

ここまでで、システムの再起動推奨

★ インストールの確認

再起動後、DB2の状態を確認

インストールされた  DB2  製品、fix  pack  のレベル、およびその他の詳細情報を表示

$ db2level
DB21085I  Instance "db2inst1" uses "32" bits and DB2 code release "SQL09074" 
with level identifier "08050107".
Informational tokens are "DB2 v9.7.0.4", "s110330", "IP23242", and Fix Pack 
"4".
Product is installed at "/opt/ibm/db2/V9.7".

インストールされた DB2 製品に固有のライセンス情報をすべてリストアップ

$ db2licm -l
Product name:                     "DB2 Express-C"
License type:                     "Unwarranted"
Expiry date:                      "Permanent"
Product identifier:               "db2expc"
Version information:              "9.7"
Max number of CPUs:               "2"
Max amount of memory (GB):        "2"

DB2  コピーのコア機能を検証することによって、インストールの検証

db2val 応答返らず

★ IBM Data Studio

IBM  Data  Studio  は、現在使用が推奨されない「コントロール・センター」や「コマンド・エディター」などの  DB2  ツールに置き換わるものです  (「コントロール・センター」、「コマンド・エディター」は  DB2  には組み込まれているものの、現在開発は行われていません)。

とのことなので、次は IBM Data Studio を利用して作成したデータベースに接続してみよう。

★ まとめ

ServersMan@VPS で、たびたびエラーが出たため対処、今後のためにメモを残しておくが、VirtualBox 上にインストールしたCentOSでは、db2val の応答がないことを除いて、全く問題なくスムースに作業は完了した。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です