レベル: 中級 下佐粉 昭, ソフトウェア事業部, IBM
2007年 11月 15日 このドキュメントではDB2 Express-C 9.5 for Windowsをインストールする方法をご紹介します。
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 Windows(以下DB2 Express-C)は、2007年10月31日に公開された、無料版DB2の最新バージョンです。
DB2 Express-Cは、DB2 Expressとほぼ同じ機能を持っていますが、無料で使用することができます(IBMからのサポートはありませんが、WEBのフォーラムでQ&Aを行っています)。このドキュメントではWindows版DB2 Express-Cのインストール方法を詳細に解説します。
DB2 Express-Cには以下のような制限がありますが、制限は少なめです。特にDBサイズの制限が無いことは特筆すべきことでしょう。
| 最大プロセッサ数 | 2コア | | 最大使用可能メモリ | 2GB | | 最大搭載物理メモリ | 上限なし(マシン依存) | | 最大DBサイズ |
制限無し
| | 搭載されるオプション機能 | pureXML for Express |
また、DB2 9.5の主な特徴として挙げられるのがXMLネイティブ対応の”pureXML”や、メモリ管理の自動調整機能”STMM”ですが、そのどちらもDB2 Express-Cに搭載されています。最新の機能を持つデータベースを、ぜひ試してみてください。
2. インストールの前提条件
DB2 9 for WindowsがサポートするWindows OSは「DB2 9 System requirements」に記述されています。
正確なサポート範囲は上記ドキュメントに譲りますが、Windows 2003,XP,VISTAからVMware,Virtual PCまで主要な環境をサポートしています。
このドキュメントで使用したDB2とWindowsは以下の通りです。
- DB2 Express-C 9.5 (Windows 32Bit)
- Windows 2003 Server
3. DB2 9 Express-Cのダウンロード
DB2 9 Express-Cは「DB2 Express-C Downloads」よりダウンロードが可能です。
DB2 Express-Cは、多数のOS用のイメージが用意されています。また、ドライバや新しい開発環境(IBM Data Studio)もダウンロード可能です。ここではWindows x86 (32-bit)版をダウンロードします。下記の赤枠のリンクをクリックしてダウンロードしてください。
クリックするとIBM IDでのサインイン(ログイン)が求められます。まだIBM IDを持っていない場合は、IBM IDの作成を先に行ってください(無料です)。
サインインし、使用同意書に同意すると上記画面になります。ここではダウンロードの方法が選択できます。ダウンロード・ディレクター(Download Director)を使用した高速なダウンロード方法と、一般的なhttp経由でのダウンロードが選択できます。
通常はダウンロード・ディレクターを使用します。32-bit architectureのチェックボックスにチェックを入れて、一番下の「ダウンロード」をクリックします。
Javaアプレットが使用できない等、ダウンロード・ディレクターが使用できない環境では”Download using http”のタブをクリックしてからダウンロードしてください。
4. DB2 9 Express-Cのインストール
まず管理ユーザー(Administrator)でログインして、さきほどダウンロードしたDB2 Express-CのZIPファイルを任意のディレクトリに展開します。以下のようにEXPというディレクトリが作成されます。
展開した先にsetup.exeというファイルがありますので、それをエクスプローラ等から実行する事でインストーラーが起動します。これから具体的なインストール方法を解説しますが、これはDB2インストール方法の一例ですので、他の選択肢を選んでインストールしていただいても問題ありません。
上記画面で、「製品のインストール」を選択します。
「新規インストール」ボタンをクリックすると、インストーラーが起動します。
注: OSの標準ブラウザが、Internet Explorerであれば問題ありませんが、別のブラウザが標準になっていると、上記のボタンを押してもインストーラーが起動しない場合があります。その場合は一時的にInternet Explorerを標準のブラウザに変更して実行してください。
この画面が表示されたら「次へ」をクリックします。ただし、インストーラーの内部処理で圧縮ファイルの展開作業を行っているため、システムによっては「次へ」ボタンが有効になるまでに少し時間が掛かる場合があります。
DB2をインストールする前に、最低でも以下の事を計画しておく必要があります。
- DB2の管理ユーザー名(デフォルトでは、db2admin)
- インスタンスのTCP/IPポート番号(デフォルトでは、50000番)
DB2サーバーは、Windows上のサービスとして起動します。その起動には、上記の「DB2の管理ユーザー」が使用されます。
また、DB2 ではインスタンスが外部(クライアント)からの接続を受け付けるために、1インスタンス毎に一つ、現在使用していないTCP/IPポート番号が必要になります。
DB2ライセンス情報の確認です。内容を確認して同意できたら「使用条件の条項に同意します」をチェックして、「次へ」をクリックします。
インストール・タイプを選択します。「カスタム」を選択すると導入するコンポーネントを細かく選択できます。「標準」を選ぶと標準的なコンポーネントが選択され、またインストール時の質問項目の多くが自動的に決定されるため、質問項目が少なくなります。「フィーチャーの表示」を選択すると「標準」で導入されるコンポーネント一覧が確認できます。
多くの場合、「標準」のままで問題ありません。ここでは「標準」を選択したまま「次へ」をクリックします。
ここでは応答ファイル(レスポンスファイル)を作成するかどうかを設定します。応答ファイルは、インストール時に選択した内容を記録しておくファイルで、同じ内容で次回インストールする際にそのファイルを使用するとインストール作業を自動化できるというものです。
「応答ファイルに保管する」を選択したまま「次へ」をクリックします。
ここではDB2を導入するディレクトリを選択します。デフォルトでは\Program Files\IBM\SQLLIB\に設定されています。任意のディレクトリ名に変更する事が可能です。ここでは、上記のように短いディレクトリ名に変更しています。
DB2の管理ユーザーについての設定です。ここではユーザー名をデフォルトのdb2adminとしています。また、Windowsのドメインを利用して認証する場合はここで選択できます。
下部の「同じユーザー名とパスワードを残りのDB2サービスで使用する」は通常チェックを入れておいて問題ありませんが、何かの事情でDB2のサービス毎にユーザーを変えたい場合はチェックを外してください。
ここでは、インスタンスの構成を変更できます。主に、使用するTCP/IPのポートと、システム起動時に自動起動するかどうかを設定します。
DB2 for Windowsでは“DB2”という名前のインスタンスが自動的に作成されます。インストール時には一つのインスタンスしか作成されませんが、DB2は複数のインスタンスを作成可能です。インスタンスを追加するには導入後にdb2icrtコマンドを使用します。
”DB2”インスタンスの構成を確認するため、”DB2”を選択して「構成」のボタンをクリックします。
「構成」を選択すると上記ダイアログが出ますので、TCP/IPタブの構成を選択し、あらかじめ決めておいたTCP/IPのポート番号を入力します。前述のように他のサービスで使用していないポート番号を指定する必要があります。使用されているサービスは、Windows\system32\drivers\etc\servicesファイルを見ることで確認できます。
また、このダイアログで指定したサービス名もservicesファイルに追記されます。任意の名前を付けることが出来ますが、DB2のサービスである事が分かる名前にする事を推奨します。設定したら次は「スタートアップ」タブを選択します。
「スタートアップ」タブを選択すると上記画面が表示されます。
「システム始動時にインスタンスを自動開始します」にチェックを付けておくと、OS起動時に自動的にインスタンスが起動するようになります。(OS起動後にdb2startコマンドを実行するのと同じです)
DB2のインスタンスはWindowsのサービスとして登録されますので、インストール後にインスタンスの自動起動を変更したい場合は、Windowsの「管理ツール→サービス」によって設定できます。
設定したら、「OK」をクリックして前の画面に戻り、「次へ」をクリックします。
全て入力が完了すると、サマリーが表示されます。「DB2 コピー名:」というところにDB2COPY1という名前が設定されていることが確認できます。DB2 9から複数のバージョンのDB2を一つのマシンに導入できるようになったため、複数のDB2を区別するために、「コピー名」という名前が使用されるようになりました。(カスタムでインストールした場合は自由なコピー名が設定できます)
設定内容に間違いが無いことを確認して「完了」をクリックします。後は自動的にDB2のインストールが行われます。
インストールの途中で上記のようなウィンドウが開き、自動的にサンプルデーベースが作成されます。上記メッセージにあるように、デフォルトではインストールを実行したユーザー名のスキーマ上に表が作成されます。
SAMPLEデータベースを作成し直したい場合は、DB2導入後にAdministratorでdb2 DROP DB SAMPLEを行い、別のユーザーでdb2samplコマンドを実行する事で再度作成が可能です。(例えばdb2adminユーザーでdb2samplコマンドを実行するとDB2ADMINスキーマ上に表が作成されます)
インストールが終了すると上記のような完了の画面が表示されます。
これでDB2のインストールは完了です。「完了」をクリックしてインストールを完了します。環境によっては再起動が要求されますので、その場合はOSを再起動してください。
5. インストール後の確認
インストール後に、動作を確認します。まず、Administratorでのログインをログオフし、DB2管理ユーザー(db2admin)で再度ログインします。もしくはインストール後に再起動した場合は、db2adminでログインします。Administratorでも問題なく作業が行えますが、DB2の作業をする場合は、db2adminや他のユーザーで行うのが良いでしょう。
次に、インストール時に作成したSAMPLEデータベースにコマンド・ウィンドウから接続してみます。スタートメニューから「IBM DB2 →DB2COPY1(デフォルト)→コマンド行ツール→コマンド・ウィンドウ」と選択しコマンド・ウィンドウを起動します。DB2のコマンドはこのウィンドウで実行します。
まずdb2levelコマンドを実行してDB2のバージョンを確認してください。画面にDB2のバージョン番号や導入先ディレクトリが表示されるはずです。
次にコマンド・ウィンドウ上で以下のように入力し、SAMPLEデータベースに接続してみます。
C:\SQLLIB\BIN> db2 connect to sample (接続)
C:\SQLLIB\BIN> db2 list tables for all (表の一覧を表示)
C:\SQLLIB\BIN> db2 “select * from administrator.staff “ (SQLを実行)
C:\SQLLIB\BIN> db2 terminate (接続解除)
|
また、db2ccコマンドを実行するか、スタートメニューから「IBM DB2 →DB2COPY1(デフォルト)→汎用管理ツール→コントロール・センター」を選択することで、GUIのコントロール・センターを起動してデータベースの内容を確認する事もできます。
データベースに接続し、データベースの内容が確認できたら確認は終了です。
6. よくある質問と答え(FAQ)
[Q] db2adminのパスワードを変えると、DB2が起動しなくなりました
[A] サービスのパスワードを入力しなおす必要があります
DB2 for Windowsは、DB2関連のサービスをdb2adminユーザーで起動しているため、db2adminユーザーのパスワードを変更した場合、各サービスのプロパティにあるログオンタブを選択し、パスワードを新しいものに設定しなおす必要があります。
[Q] ドキュメントや情報はどこにあるのですか?
[A] インターネット上で閲覧可能です。
インターネット上で最新のマニュアル(インフォメーション・センター)を確認できます。
PDF版のマニュアルは、DB2 Version 9.5 for Linux, UNIX, and Windows translated manualsから検索して各国語版のマニュアルをダウンロードできます。
また「インフォメーション・センター」をダウンロードして自分のPCに導入することも可能です。
マニュアル以外の情報は、「DB2 Developer Domain(日本)」に各種情報がまとまっています。
このほかにIBM製品全般についてのよくある質問が「IBM製品よくある質問」にまとめられています。
[Q] 新しいDB2インスタンスを追加するには?
[A] db2icrtコマンドを使用します。
DB2インスタンスを追加するには、db2icrtを使用します。「IBM DB2 9.5 Information Center for Linux, UNIX, and Windows」にある以下の解説を参照してください。
db2icrt によるインスタンスの作成
IBM DB2 9.5 Information Center for Linux, UNIX, and Windows: db2icrt - インスタンスの作成コマンド
[Q] 他のマシン(クライアントマシン)からリモートのDB2に接続するには?
[A] ランタイム・クライアントを導入後、接続先のサーバーを設定します。
他マシンからDB2サーバーに接続するには、DB2のクライアント環境が導入されている必要があります。DB2クライアントは以下の3種類が用意されていますので、このうちのどれかを導入する必要があります。
- ランタイム・クライアント (Runtime Client)
- 管理クライアント (Administration Client)
- アプリケーション開発クライアント (Application Development Client)
数字の大きい物は小さい物の機能を兼ねます。
ただし、DB2のクライアント環境はDB2 Fix Packのページからダウンロード可能になる予定ですが、この記事を執筆時点では公開されていません。唯一[1]のランタイム・クライアントのみ、Express-Cダウンロードページで公開されていますので、現時点ではそれを利用してください。
導入時にクライアント側には接続用のインスタンス・ユーザーが作成されます。クライアント環境を導入できたら、次にDB2サーバー上のDBをクライアント側に登録する必要があります。
- まず、接続したいDBを提供しているインスタンスのTCPサービス名をDB2サーバー上で確認します。DB2サーバーにインスタンスオーナーでLoginして、db2 get dbm config コマンドを実行します。インスタンスに関する情報が出力されますが、その中の
TCP/IP サービス名 (SVCENAME) = db2cdb2inst1
の行を記録しておいてください。そして、そのサービス名と対になっている(同じ行に書かれている)TCP/IPのポート番号をサーバー上の/etc/services(Windowsの場合は、Windows\SYSTEM32\Drivers\etc\services)から見つけてください。
- インスタンスユーザーでクライアントマシンにLoginします(Windowsの場合は、DB2コマンドプロンプトを起動する)。
- 以下のコマンドを使用して、DB2サーバーを新しいノードとして登録します。
- ノード(DB2サーバー)上のDBを登録します。
上記登録が終了すると、別名を指定する事でDB2サーバー上のDBに接続する事が出来ます。
また、上記のコマンドラインからの方法以外にも、GUIの「構成アシスタント」を起動する事で、GUI上で設定を行う事ができます。
図1. 構成アシスタント
[Q] パッチ(修正ファイル)はどこで入手できますか?
[A] IBMサイトより、入手できます。
DB2 用の修正ファイルは、Fix Packという名前で公開されていますが、現時点では、DB2 9.5用の修正ファイルは公開されていません。Fix Packの適用方法は、Fix Packのアーカイブ内 doc/jp/FixpakReadme.txtに日本語のマニュアルがありますので、そちらを参照してください。
ただし無償のExpress-C用には、Fix Packは提供されていません。Express-Cは定期的にダウンロードイメージが更新されるので、それを利用してください。また、Express-Cの有償保守サービスを購入すると、Fix Packが適用できるようになり、CPUコア数やRAMの使用可能量も増大します。
[Q] SQL****Nというエラー文が表示されました。どういう意味ですか?
[A] “?”コマンドで調査するか、メッセージ・リファレンス第2巻を調べてください。
SQLから始まる文字列は、SQLCODEというDB2 UDBでのエラー内容を表した値です。この値の意味を調べるには、DB2 UDBのPDFドキュメントの「メッセージ・リファレンス第2巻」を見るか、DB2インフォメーション・センターから「参照情報」→「メッセージ」→「SQL」を参照してください。
またDB2コマンド・ウィンドウでdb2 ? SQLCODEと入力する事で、簡易な解説を得る事ができます。
[Q] 操作するインスタンスを切り替えるには?
[A] DB2INSTANCE環境変数を設定してください
DB2 for Windowsでは、操作するインスタンスは環境変数DB2INSTANCEの値で決定されるため、他のインスタンスに切り替えるにはDB2INSTANCEを変更します。
> set DB2INSTANCE=db2other
|
また、システム起動時のデフォルトインスタンスを設定したい場合は、DB2のレジストリ変数DB2INSTDEFに値を設定します
> db2set DB2INSTDEF=db2other
|
[Q] コマンドプロンプトからDB2のコマンドを実行すると、「DB21061E コマンド行環境は初期化されていません。」が表示されます。
[A] DB2のコマンド(db2 connect 等)は、DB2コマンド・ウィンドウから実行します。
コマンドプロンプト(MS-DOSプロンプト)から直接db2 connectなどと実行すると、「DB21061E コマンド行環境は初期化されていません。」というエラーが表示されます。これはDB2コマンドの実行に必要な環境が初期化されていないためです。DB2コマンドの実行は、スタートメニューから「IBM DB2」→「DB2COPY1」→「コマンド行ツール」内にあるコマンド・ウィンドウなどから実行する必要があります。
もしくは、MS-DOSプロンプトからdb2cmdコマンドを実行すると出てくるプロンプトでも同様にDB2コマンドの実行が可能です。
参考文献
著者について  | 
|  | 下佐粉 昭はDB2に関して6年の幅広い知識と経験を有する日本アイ・ビー・エムの社員です。彼は書籍「DB2 逆引きリファレンス」の共著者でもあります。彼の旺盛な好奇心はDB2に留まらず、Javaやオープン・テクノロジーでも幅広い活躍をしています。現在はソフトウエア事業に所属し、ビジネス・パートナー様の技術支援の仕事に従事しています。休日は各地の温泉に行く事を趣味にしています。
|
記事の評価
|