目次


DB2 Express-C 9.5 for Linux クイックインストール

Comments

1. はじめに

DB2 Express-C 9.5 for Linux(以下DB2 Express-C)は、2007年10月31日に公開された、無料版DB2の最新バージョンです。

DB2 Express-C 9.5は、DB2 Express 9.5とほぼ同じ機能を持っていますが、無料で使用することができます(IBMからのサポートはありませんが、WEBのフォーラムでQ&Aを行っています)。このドキュメントではDB2 Express-C 9.5 for Linuxのインストール方法を詳細に解説します。

DB2 Express-Cには以下のような制限がありますが、制限は少なめです。特にDBサイズの制限が無いことは特筆すべきことでしょう。

最大プロセッサ数2コア
最大使用可能メモリー2GB
最大搭載物理メモリ上限なし(マシン依存)
最大DBサイズ制限無し
搭載されるオプション機能pureXML for Express

また、DB2 9.5の主な特徴として挙げられるのがXMLネイティブ対応の”pureXML”や、メモリー管理の自動調整機能”STMM (Self Tuning Memory Manager)”ですが、そのどちらもDB2 Express-C 9.5に実装されています。最新の機能を持つデータベースを、ぜひ試してみてください。

2. インストールの前提条件

DB2 9.5 for LinuxがサポートするLinuxディストリビューションは以下のURLに記述されています。

「DB2 9 System requirements」
http://ibm.com/software/data/db2/udb/sysreqs.html
「Supported Environments」
http://www.ibm.com/software/data/db2/linux/validate/

正確なサポート範囲は上記ドキュメントに譲りますが、Red Hat Enterprise Linux 5、SUSE Linux Enterprise Server 10、Ubuntu 7.10を推奨としています。また、このほかにもRed Hat Enterprise Linux 4、SUSE Linux Enterprise Server 9、Ubuntu 7.04などで検証されています。

このドキュメントで使用したDB2とLinuxディストリビューションは以下の通りです。

  • DB2 9 Express-C (Linux 32Bit)
  • Redhat Enterprise Linux 4 U5

3. DB2 Express-C 9.5のダウンロード

DB2 Express-C 9.5は以下のURLよりダウンロードが可能です。

http://www.ibm.com/services/forms/preLogin.do?source=swg-db2expressc&lang=ja_JP&S_CMP=DWJAPAN&S_TACT=105AGX90

DB2 Express-Cは、多数のOS用のイメージが用意されています。また、ドライバーや新しい開発環境(IBM Data Studio)も無償でダウンロードすることができます。ここではLinux x86 (32-bit)版をダウンロードします。Linux版のDB2の導入には、DB2 9.5本体のイメージとNational Language Packのイメージの2つが必要です。まずは、DB2 9.5のイメージをダウンロードしてください。

クリックするとIBM IDでのサインイン(ログイン)が求められます。まだIBM IDを持っていない場合は、IBM IDの登録を先に行ってください。登録は無料で行えます。

サインインし、使用同意書に同意すると上の画面になります。ここではダウンロードの方法が選択できます。ダウンロード・ディレクター(Download Director)を使用した高速なダウンロード方法と、一般的なhttp経由でのダウンロードが選択できます。

通常はダウンロード・ディレクターを使用します。適切なダウンロード・イメージのチェック・ボックスにチェックを入れて、一番下の「ダウンロード」をクリックします。

Javaアプレットが使用できないなどダウンロード・ディレクターが使用できない環境では”download using http”のリンクからダウンロードしてください。

同様にNational Language Packもダウンロードします。

4. DB2 Express-C 9.5のインストール

ここでは、DB2 Express-C 9.5 for Linux(以下DB2)のインストール方法を解説します。まずrootユーザーでログインして、さきほどダウンロードしたDB2のインストール用ファイルを任意のディレクトリーに展開します。ここでは/workに展開するとします。

#mkdir /work
#cd /work
#tar –ungzip –xvf db2exc_950_LNX_x86.tar.gz

展開すると、expという名前のディレクトリーが生成されますのでそこに移動します。

#cd exp

ディレクトリーの内容を確認すると、db2setupというファイルがあるのが分かります。これが、DB2のGUIインストーラーを起動するプログラムになります。早速、実行してみましょう。

#./db2setup

実行すると以下のような画面が表示されます。左側のペインの、「製品のインストール」をクリックします。

すると、次のような画面が表示されますので、「新規インストール」をクリックします。

これから具体的なインストール方法を解説しますが、これはDB2インストール方法の一例ですので、他の選択肢を選んでインストールしていただいても問題ありません。

注)上記画面は、Webブラウザーにより表示されています。ここでは、FireFoxをWebブラウザーとして利用しています。画面のボタンが機能しない場合には、Webブラウザーを変更して試みてください。

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

  1. DB2管理サーバーのユーザー名(デフォルト:dasadm1)
  2. DB2のインスタンス・オーナー・ユーザー名(デフォルト:db2inst1
  3. fencedユーザーのユーザー名(デフォルト:db2fenc1、fencedユーザーについては後述)
  4. インスタンスのTCP/IPポート番号(デフォルト:50000番

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

インストール・ウィザードが開始され、この画面が表示されます。「次へ」をクリックします。

DB2ライセンス情報の確認です。内容を確認して同意できたら「同意する」をチェックして、「次へ」をクリックします。

インストール・タイプを選択します。「カスタム」を選択すると導入するコンポーネントを細かく選択できます。「標準」を選ぶと標準的なコンポーネントが選択され、またインストール時の質問項目の多くが自動的に決定されるため、質問項目が少なくなります。「フィーチャーの表示」をクリックすると、「標準」で導入されるコンポーネント一覧を確認することができます。

多くの場合、「標準」のままで問題ありません。ここでは「標準」を選択して「次へ」をクリックします。

ここでは応答ファイル(レスポンス・ファイル)を作成するかどうかを設定します。応答ファイルは、インストール時に選択した内容を記録しておくファイルで、同じ内容で次回インストールする際にそのファイルを使用するとインストール作業を自動化できるというものです。

「応答ファイルに保管する」を選択したまま「次へ」をクリックします。

ここではDB2を導入するディレクトリーを選択します。デフォルトでは/opt/ibm/db2/V9.5に設定されています。

DB2の管理ユーザーについての設定です。デフォルトではユーザー名にdasusr1、管理ユーザーが属するグループ名にdasadm1が指定されています。

パスワード欄が空白となっていますので、設定するパスワードを入力して下さい。

ホーム・ディレクトリーもデフォルトで「/home/dasusr1」が指定されています。必要があれば、変更してください。

デフォルトUIDを使用にチェックを入れると、インストーラーがユーザーIDを自動的に選択します。任意のユーザーIDを割り振りたい場合には、このチェックをはずし、適切なユーザーIDを割り振ってください。また、グループIDについても同様に、任意のグループIDを指定することができます。

また、新規にユーザーを作成するのではなく、既存のユーザーを指定することもできます。その場合には、既存ユーザーのチェック・ボックスをチェックし、管理ユーザーとするユーザーをリストから選択してください。

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

管理ユーザーのときと同様に、インスタンス・オーナー・ユーザーについて指定する画面が表示されます。デフォルトではユーザー名に「db2inst1」、グループ名に「db2iadm1」が指定されています。DB2プロセスは、ここで指定したユーザーで実行されます。パスワードを設定してください。

その他のユーザー名、UID、グループ名、GID、ホーム・ディレクトリーなどについては内容を確認し、必要があれば変更してください。

また、既存ユーザーを指定することもできます。

確認・設定を終えたら、「次へ」をクリックします。

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

 

ここでも、ユーザー名、UID、グループ名、GID、ホーム・ディレクトリーを確認し、パスワードを設定します。

 

もしくは、既存ユーザーを指定します。

 

これらの設定を終えたら「次へ」をクリックします。

全て入力が完了すると、設定内容のサマリーが表示されます。設定内容に間違いが無いことを確認して「完了」をクリックします。後は自動的にDB2のインストールが行われます。

インストールが終了すると上記のような完了の画面が表示されます。構成されたインスタンス名、インスタンス用のTCP/IPポート番号などが記されていますので、確認してください。TCP/IPポートはデフォルトでは50000番が使われます。また、ポート番号については/etc/servicesでも確認することができます。

 

これでDB2のインストールは完了です。「完了」をクリックしてインストールを完了します。

 

日本語環境で利用する場合には、引き続き「National Language Pack」をインストールします。National Language Packの導入はDB2インスタンスが停止した状態で行いますが、前記のインスタンスのセットアップが終わった時点でインスタンスが起動されています。まずはインスタンス・オーナー・ユーザー(db2inst1)にユーザーを変更し、DB2インスタンスを停止します。

#su – db2inst1
$db2stop
SQL1064N DB2STOPの処理が正常に終了しました。
$exit

製品のインストール・イメージと同様に適当なディレクトリー(ここでは/work)にインストール・イメージを展開します。

#cd /work
#tar –ungzip –xvf db2_v95_linuxia32_nlpack.tar.gz

展開すると、nlpackという名前のディレクトリーが生成されますのでそこに移動します。

#cd nlpack

ディレクトリーの内容を確認すると、製品イメージと同様にdb2setupというファイルがあるのでこれを起動します。

#./db2setup

DB2製品インストール時と同様にセットアップ・ランチパッドが起動します。前回と同様に、製品のインストールを選択します。

製品インストール画面に遷りますので、「既存の製品を操作」ボタンをクリックします。

処理するDB2コピーとして、先ほど導入したDB2製品が表示されますので選択し、「DB2セットアップ・ウィザードの起動」ボタンをクリックします。

DB2セットアップ・ウィザードが起動するので、「次へ」をクリックします。

同様に「次へ」をクリックします。

「完了」をクリックします。

上のような表示が出れば、セットアップは正常に終了しました。

注) National Language Pack導入時にDB2インスタンスを停止していないと、National Language Packの適用に失敗し、次のような表示が現れることがあります。この場合は、当ドキュメントのFAQをご覧ください。

5. インストール後の確認

インストールが終了したので、動作を確認しましょう。rootユーザーからログアウトし、インスタンス・オーナー・ユーザー(db2inst1)でログインします。

シェル・ウィンドウを起動し、db2fsと入力します。すると、以下のようにブラウザーを設定する画面が表示され、「OK」をクリックした後に、「ファースト・ステップ」ダイアログが表示されます。

$db2fs

ここでは、このダイアログからサンプル・データベースを作成します。左のペインから「データベース作成」をクリックします。

「SAMPLEデータベースの作成」をクリックします。

上記ダイアログが表示されますので、「XMLおよびSQLのオブジェクトとデータ」にチェックを入れて、「OK」をクリックします。少し時間がかかりますが、「完了」のダイアログが出ると作成終了です。作成が完了すると、/home/db2inst1/db2inst1/NODE0000というディレクトリーが作成され、その中にサンプル・データベースがSAMPLEという名前で作成されます。

次にシェル・ウィンドウからSAMPLEデータベースに接続してみます。新しいシェル・ウィンドウを開きます。まずdb2levelコマンドを実行してDB2のバージョンを確認してみましょう。画面にDB2のバージョン番号や導入先ディレクトリーが表示されます。

$db2level
DB21085I  インスタンス "db2inst1" は、"32" ビットおよび DB2 コード・リリース
"SQL09050" をレベル ID "03010107" で使用します。
情報トークンは、"DB2
v9.5.0.0"、"s071001"、"LINUXIA3295"、およびフィックスパック "0"
です。
製品は "/opt/ibm/db2/V9.5" にインストールされています。

次にシェル・ウィンドウ上で以下のように入力し、SAMPLEデータベースに接続してみましょう。

$db2 connect to sample		(データベースに接続)
$db2 list tables			(表の一覧を表示)
$db2 “select * from staff “		(SQLを実行)
$db2 terminate			(接続解除)

また、db2ccコマンドを実行すると、GUIの管理ツール「コントロール・センター」を起動してデータベースの内容を確認する事ができます。

$db2cc

スプラッシュ・ウィンドウに続き、コントロール・センターの表示方法についての問い合わせ画面が表示されます。今回はデフォルトの「詳細」のまま、「OK」をクリックします。

上のような画面が表示されます。ツリーをたどっていき、データベースの内容が確認できたら確認は終了です。

6. よくある質問と答え(FAQ)

[Q] インストール時に問題があったようですが、インストール中のログはどこで確認できますか?

[A] /tmpにインストール時のログがあります。

インストール時のログは/tmp/db2setup.logファイルに記録されます。インストール時に、問題が確認されたときや、インストール状況を確認したいときはこのファイルを参照しましょう。 また、インストール中にJavaプロセスによって戻されるエラー出力がdb2setup.errに記録されます。

[Q] National Language Packを導入する際に、DB2インスタンスを停止し忘れてしまったのですが。

[A] DB2インスタンスを停止した上で再度導入処理を行うか、db2iupdtコマンドを実行してください。

National Language Packの導入プロセスの中ではDB2インスタンスを更新するdb2iupdtというコマンドが実行されています。このコマンドはインスタンス・プロセスが停止した状態でないと実行することができません。DB2インスタンスを停止しない状態でNational Language Packの導入を実施すると、db2iupdtコマンドの実行に失敗しエラーとなります。この場合は、次のいずれかの方法で対処しましょう。

方法1: DB2インスタンスを停止し、National Language Packの導入を再度行う
rootユーザーでログインします。
DB2インスタンスを停止します。

#su – db2inst1
$db2stop
$exit

National Language Packのインストール・ウィザードを起動します。

#cd /work/nlpack
#./db2setup

方法2: DB2インスタンスを停止し、db2iupdtコマンドを実行します。
rootユーザーでログインします。
DB2インスタンスを停止します。

#su – db2inst1
$db2stop
$exit

db2iupdtコマンドを実行します。

#/opt/ibm/db2/V9.5/instance/db2iupdt db2inst1

[Q] ドキュメントや情報はどこにあるのですか?

[A] インターネット上で閲覧可能です。

インターネット上でも最新のマニュアルを確認できます。

http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp

オンライン・マニュアルは、DB2 Express-Cダウンロード・サイトからダウンロードし、ローカルにインストールすることもできます。その場合は、以下サイトから「DB2 9.5 Information Center Install」を選択ください。

http://www.ibm.com/services/forms/preLogin.do?source=swg-db2expressc&lang=ja_JP&S_CMP=DWJAPAN&S_TACT=105AGX90

PDF版のマニュアルは、以下のURLから検索して各国語版のマニュアルをダウンロードできます。

http://www.ibm.com/software/data/db2/udb/support/manualsNLVv9.html

マニュアル以外の情報は、以下のホームページより御覧頂けます。

DB2 Developer Domain JP

このほかにIBM製品全般についてのよくある質問が以下のURLにまとめられています。

IBM製品よくある質問

[Q] 新しいDB2インスタンスを追加するには?

[A] db2icrtコマンドを使用します。

DB2インスタンスを追加するには、db2icrtを使用します。以下のURLにある解説を参照してください。

db2icrt によるインスタンスの作成
db2icrt - インスタンスの作成 コマンド

[Q] 他のマシン(クライアント・マシン)からリモートのDB2に接続するには?

[A] ランタイム・クライアントを導入後、接続先のサーバーを設定します。

他マシンからDBサーバーに接続するには、DB2 UDBのクライアント環境が導入されている必要があります。DB2のクライアント環境は以下のパッケージに含まれていますので、このうちのどれかを導入する必要があります。

  1. ランタイム・クライアント (Runtime Client)
  2. 管理クライアント (Administration Client)
  3. アプリケーション開発クライアント (Application Development Client)

数字の大きい物は小さい物の機能を兼ねます。ただし、DB2のクライアント環境はDB2 fix packのWebサイトからダウンロード可能になる予定ですが、この記事の執筆時点では公開されていません。①のランタイム・クライアントについては、Express-Cダウンロード・サイトで公開されていますので、現時点ではそれを利用してください。

導入時にクライアント側には接続用のクライアント・インスタンス・ユーザーが作成されます。クライアント環境を導入できたら、次にDBサーバー上のDBをクライアント側に登録する必要があります。

  1. まず、接続したいDBを提供しているインスタンスのTCPサービス名をDBサーバー上で確認します。DBサーバーにインスタンス・オーナーでログインして、「db2 get dbm config」 コマンドを実行します。インスタンスに関する情報が出力されますが、その中の

    TCP/IP サービス名 (SVCENAME) = db2cdb2inst1

    の行を記録しておいてください。そして、そのサービス名と対になっている(同じ行に書かれている)TCP/IPのポート番号をサーバー上の/etc/servicesから見つけてください。
  2. インスタンスユーザでクライアント・マシンにログインします(Windowsの場合は、DB2コマンド・プロンプトを起動する)。
  3. DBサーバーを新しいノードとして登録する。
  1. ノード(DBサーバー)上のDBを登録する。

上記登録が終了すると、別名を指定する事でDBサーバー上のDBに接続する事が出来ます。

また、上記のコマンドラインからの方法以外にも、GUIの「構成アシスタント」を起動する事で、GUI上で設定を行う事ができます。

図 1構成アシスタント
図 1構成アシスタント
図 1構成アシスタント

[Q] SQL****Nというエラー文が表示されました。どういう意味ですか?

[A] メッセージ・リファレンス第2巻を調べてください。

SQLから始まる文字列は、SQLCODEというDB2 UDBでのエラー内容を表した値です。この値の意味を調べるには、DB2 UDBのPDFドキュメントの「メッセージ・リファレンス第2巻」を見るか、DB2インフォメーション・センターから「参照情報」→「メッセージ」→「SQL」を参照してください。

またDB2コマンド・ウィンドウでdb2 ? SQLCODEと入力する事で、簡易な解説を得る事ができます。

$db2 ? SQL0204N

[Q] クライアントのWindows環境でコマンド・プロンプトからDB2のコマンドを実行すると、「DB21061E コマンド行環境は初期化されていません。」が表示されます。

[A] DB2のコマンド(db2 connect 等)は、DB2コマンド・ウィンドウから実行します。

コマンド・プロンプト(MS-DOSプロンプト)から直接db2 connectなどと実行すると、「DB21061E コマンド行環境は初期化されていません。」というエラーが表示されます。これはDB2コマンドの実行に必要な環境が初期化されていないためです。DB2コマンドの実行は、スタートメニューから「IBM DB2」→「DB2COPY1」→「コマンド行ツール」内にあるコマンド・ウィンドウなどから実行する必要があります。

もしくは、MS-DOSプロンプトからdb2cmdコマンドを実行すると出てくるプロンプトでも同様にDB2コマンドの実行が可能です。

(次の質問は、製品版での内容になります。DB2 Express-Cでは該当しませんが、このドキュメントを参考にして製品版の導入を行う方もいらっしゃると思いますので記載します。)

[Q] ライセンスの登録はどのように行うのですか?

[A] DB2ライセンス・センターを用いてGUIで行うか、db2licmコマンドを用いて行います。

製品のインストールを行っただけでは、ライセンスの登録は行われません。製品版を購入頂いた際にはインストール・イメージとは別にライセンス・ファイルが提供されます。このライセンス・ファイルをDB2ライセンス・センターかdb2licmコマンドを用いて登録ください。

方法1: DB2ライセンス・センターによる登録

db2lcコマンドにより、DB2ライセンス・センターが起動します。GUI上からライセンスを登録するインスタンス、適切なライセンス・ファイルを選択して登録してください。

方法2: db2licmコマンドによる登録

$db2licm –a ライセンス・ファイル名

ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Information Management, Open source
ArticleID=270674
ArticleTitle=DB2 Express-C 9.5 for Linux クイックインストール
publish-date=11152007