レベル: 中級 下佐粉 昭, ソフトウェア事業部, IBM 高橋 賢司, ソフトウェア事業部,
IBM
2007年 11月 15日 このドキュメントではDB2 Express-C 9.5 for Linuxをインストールする方法をご紹介します。
1. はじめに
 |
DB2 Express-Cとは?
DB2 Express-Cは、無料で使用できるDB2です。Linux版,Windows版が用意されています。DB2 Express-Cには使用期限やデータベースサイズの制限がありません。
また、商用利用も可能です。IBMからのサポートが無い以外はDB2 Expressとほぼ同じ機能を誇りますし、有償のサポートを購入する事も可能です。DB2 Express-CはUS IBMのサイトからダウンロードする事ができます。
※ダウンロードの際には、簡単なID登録(IBM IDの取得)が必要になります。
|
|
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://ibm.com/software/data/db2/udb/db2express/download.html
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という名前のディレクトリーが生成されますのでそこに移動します。
ディレクトリーの内容を確認すると、db2setupというファイルがあるのが分かります。これが、DB2のGUIインストーラーを起動するプログラムになります。早速、実行してみましょう。
実行すると以下のような画面が表示されます。左側のペインの、「製品のインストール」をクリックします。
すると、次のような画面が表示されますので、「新規インストール」をクリックします。
これから具体的なインストール方法を解説しますが、これはDB2インストール方法の一例ですので、他の選択肢を選んでインストールしていただいても問題ありません。
注)上記画面は、Webブラウザーにより表示されています。ここでは、FireFoxをWebブラウザーとして利用しています。画面のボタンが機能しない場合には、Webブラウザーを変更して試みてください。
DB2をインストールする前に、最低でも以下の事を計画しておく必要があります。
- DB2管理サーバーのユーザー名(デフォルト:dasadm1)
- DB2のインスタンス・オーナー・ユーザー名(デフォルト:db2inst1)
- fencedユーザーのユーザー名(デフォルト:db2fenc1、fencedユーザーについては後述)
- インスタンスの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という名前のディレクトリーが生成されますのでそこに移動します。
ディレクトリーの内容を確認すると、製品イメージと同様にdb2setupというファイルがあるのでこれを起動します。
DB2製品インストール時と同様にセットアップ・ランチパッドが起動します。前回と同様に、製品のインストールを選択します。
製品インストール画面に遷りますので、「既存の製品を操作」ボタンをクリックします。
処理するDB2コピーとして、先ほど導入したDB2製品が表示されますので選択し、「DB2セットアップ・ウィザードの起動」ボタンをクリックします。
DB2セットアップ・ウィザードが起動するので、「次へ」をクリックします。
同様に「次へ」をクリックします。
「完了」をクリックします。
上のような表示が出れば、セットアップは正常に終了しました。
注) National Language Pack導入時にDB2インスタンスを停止していないと、National Language Packの適用に失敗し、次のような表示が現れることがあります。この場合は、当ドキュメントのFAQをご覧ください。
5. インストール後の確認
インストールが終了したので、動作を確認しましょう。rootユーザーからログアウトし、インスタンス・オーナー・ユーザー(db2inst1)でログインします。
シェル・ウィンドウを起動し、db2fsと入力します。すると、以下のようにブラウザーを設定する画面が表示され、「OK」をクリックした後に、「ファースト・ステップ」ダイアログが表示されます。
ここでは、このダイアログからサンプル・データベースを作成します。左のペインから「データベース作成」をクリックします。
「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の管理ツール「コントロール・センター」を起動してデータベースの内容を確認する事ができます。
スプラッシュ・ウィンドウに続き、コントロール・センターの表示方法についての問い合わせ画面が表示されます。今回はデフォルトの「詳細」のまま、「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のインストール・ウィザードを起動します。
方法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://ibm.com/software/data/db2/udb/db2express/download.html
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のクライアント環境は以下のパッケージに含まれていますので、このうちのどれかを導入する必要があります。
- ランタイム・クライアント (Runtime Client)
- 管理クライアント (Administration Client)
- アプリケーション開発クライアント (Application Development Client)
数字の大きい物は小さい物の機能を兼ねます。ただし、DB2のクライアント環境はDB2 fix packのWebサイトからダウンロード可能になる予定ですが、この記事の執筆時点では公開されていません。①のランタイム・クライアントについては、Express-Cダウンロード・サイトで公開されていますので、現時点ではそれを利用してください。
導入時にクライアント側には接続用のクライアント・インスタンス・ユーザーが作成されます。クライアント環境を導入できたら、次にDBサーバー上のDBをクライアント側に登録する必要があります。
- まず、接続したいDBを提供しているインスタンスのTCPサービス名をDBサーバー上で確認します。DBサーバーにインスタンス・オーナーでログインして、「db2 get dbm config」 コマンドを実行します。インスタンスに関する情報が出力されますが、その中の
TCP/IP サービス名 (SVCENAME) = db2cdb2inst1
の行を記録しておいてください。そして、そのサービス名と対になっている(同じ行に書かれている)TCP/IPのポート番号をサーバー上の/etc/servicesから見つけてください。
- インスタンスユーザでクライアント・マシンにログインします(Windowsの場合は、DB2コマンド・プロンプトを起動する)。
- DBサーバーを新しいノードとして登録する。
- ノード(DBサーバー)上のDBを登録する。
上記登録が終了すると、別名を指定する事でDBサーバー上のDBに接続する事が出来ます。
また、上記のコマンドラインからの方法以外にも、GUIの「構成アシスタント」を起動する事で、GUI上で設定を行う事ができます。
図 1構成アシスタント
[Q] パッチ(修正ファイル)はどこで入手できますか?
[A] IBMのFTPサイトより、入手できます。
DB2 UDB用の修正ファイルは、fix packという名前で公開されていますが、当ドキュメント執筆時点ではDB2 9.5用の修正ファイルは公開されていません。fix packの適用方法はfix packのアーカイブ内doc/jp/FixpakReadme.txtに日本語の適用方法が記載されていますので、そちらを参照してください。
ただし無償のExpress-C用には、fix packは提供されていません。Express-Cはダウンロード・イメージが更新されて、fix pack的用済みのものが提供されることがありますので、それを利用してください。また、Express-Cの有償保守サービスを購入すると、fix packが適用できるようになります。さらに、利用することのできるCPUコア数や、メモリーの使用可能量も増加します。
[Q] SQL****Nというエラー文が表示されました。どういう意味ですか?
[A] メッセージ・リファレンス第2巻を調べてください。
SQLから始まる文字列は、SQLCODEというDB2 UDBでのエラー内容を表した値です。この値の意味を調べるには、DB2 UDBのPDFドキュメントの「メッセージ・リファレンス第2巻」を見るか、DB2インフォメーション・センターから「参照情報」→「メッセージ」→「SQL」を参照してください。
またDB2コマンド・ウィンドウでdb2 ? SQLCODEと入力する事で、簡易な解説を得る事ができます。
[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コマンドによる登録
参考文献
著者について  | 
|  | 下佐粉 昭はDB2に関して6年の幅広い知識と経験を有する日本アイ・ビー・エムの社員です。彼は書籍「DB2 逆引きリファレンス」の共著者でもあります。彼の旺盛な好奇心はDB2に留まらず、Javaやオープン・テクノロジーでも幅広い活躍をしています。現在はソフトウエア事業に所属し、ビジネス・パートナー様の技術支援の仕事に従事しています。休日は各地の温泉に行く事を趣味にしています。
|
 | 
|  | 高橋賢司はDB2に関して6年の幅広い知識と経験を有する日本アイ・ビー・エムの社員です。彼の幅広い知識やビジネス・センスは、金融系のお客様でのシステム構築やパートナー様現場での豊富な経験に裏打ちされています。彼の現在の職務は、ビジネス・パートナー様向けのミドルウェアの構成・アーキテクチャーの観点からの技術支援です。ここ数年、私生活での彼の情熱はスキーに捧げられてきましたが、今年は「パパ」になり、新たに情熱を注ぐ対象が増えました。 |
記事の評価
|