新しい IBM Developer JP サイトへようこそ!サイトのデザインが一新され、旧 developerWorks のコンテンツも統合されました。 詳細はこちら

Db2 Express-C 9.5 for Windows クイックインストール

1

はじめに

Db2 Express-C とは?: Db2 Express-C は、無料で使用できる Db2 のエディションです。Windows,Linux,Solaris(x86), Mac OSX 版が用意されています。Db2 Express-C には使用期限やデータベースサイズの制限がありません。また、商用利用も可能です。IBM からのサポートが無いこと以外は Db2 Express とほぼ同じ機能を誇ります。さらに有償のサポートを購入することも可能です。IBM Knowledge Center: Db2 Express-C

Db2 Express-C 9.5.2 for Windows(以下Db2 Express-C)は、2009年2月に公開された、無料版Db2の最新バージョンです。

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

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

  • 最大プロセッサ数: 2コア(これ以上のCPUコアを持つマシンにも導入可能)
  • 最大使用可能メモリ: 2GB(これ以上のメモリを持つマシンにも導入可能)
  • 最大DBサイズ: 制限無し

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

2

インストールの前提条件

クライアント製品のWindows XP,VISTAからサーバー製品のWindows2003/2008まで主要なWindows環境をサポートしています。

このドキュメントで使用したDb2とWindowsは以下の通りです。

  • Db2 Express-C 9.5.2 (Windows 32Bit)
  • Windows XP SP2
3

Db2 Express-Cのダウンロード

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

Db2 Express-Cは、多数のOS用イメージが用意されています。また、.NET/JDBCドライバや新しい開発環境(IBM Data Studio)もダウンロード可能です。ここではWindows x86 (32-bit)版をダウンロードします。下記の丸印のリンクをクリックしてダウンロードしてください。

alt

クリックすると以下の画面が現れます。IBM IDをお持ちの方はIBM IDでサインインしてください。IDをお持ちでない場合は右側の“Guest sign in”をクリックしてください。

alt

次の画面ではアンケートに答えた後、画面下の方でライセンスの確認を求められます。

alt

ライセンス内容を確認の上、“I agree (同意します)”にチェックを入れて次に進んでください。

alt

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

通常はダウンロード・ディレクターを使用します。“Db2 Express-C for Windows (32bit)32-bit with Text Search”にチェックを入れて、一番下の「ダウンロード」をクリックします。同時にVisual Studio Add-Inもダウンロードできます。必要な場合は同様にチェックを入れてください。

Javaアプレットが使用できない環境ではダウンロード・ディレクターが使用できません。その場合は”Download using http”のタブをクリックしてからダウンロードしてください。

4

Db2 Express-Cのインストール

管理ユーザー(Administrator)でログインして、さきほどダウンロードしたDb2 Express-CのZIPファイルを任意のディレクトリに展開します。以下のようにEXPCというディレクトリが作成されます。

alt

展開した先にsetup.exeというファイルがありますので、それをエクスプローラ等から実行する事でインストーラーが起動します。これから具体的なインストール方法を解説しますが、これはDb2インストール方法の一例ですので、他の選択肢を選んでインストールしていただいても問題ありません。

alt

上記画面で、「製品のインストール」を選択します。

alt

右側の「新規インストール」ボタンをクリックすると、インストーラーが起動します。

注) OSに設定されている標準ブラウザが、Internet Explorerであれば問題ありませんが、別のブラウザが標準になっていると、上記のボタンを押してもインストーラーが起動しない場合があります。その場合は一時的にInternet Explorerを標準のブラウザに変更して実行してください。

alt

この画面が表示されたら「次へ」をクリックします。ただし、インストーラーの内部処理で圧縮ファイルの展開作業を行っているため、システムによっては「次へ」ボタンが有効になるまでに少し時間が掛かる場合があります。

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

  1. Db2の管理ユーザー名(デフォルトでは、db2admin
  2. インスタンスのTCP/IPポート番号(デフォルトでは、50000番

Db2サーバーは、Windows上のサービスとして起動します。その起動には、上記の「Db2の管理ユーザー」のIDとパスワードが使用されます。

また、Db2 ではインスタンス(データベースシステム)が外部(クライアント)からの接続を受け付けるために、インスタンス毎に一つ、現在使用していないTCP/IPポート番号が必要になります。

alt

Db2ライセンス情報の確認です。内容を確認して同意できたら「使用条件の条項に同意します」をチェックして、「次へ」をクリックします。

alt

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

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

alt

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

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

alt

ここではDb2を導入するディレクトリを選択します。デフォルトでは \Program Files\IBM\SQLLIB\ に設定されています。任意のディレクトリ名に変更する事が可能です。ここでは上記のようなディレクトリ名を指定しています。ディレクトリを指定したら“次へ”を押します。

alt

Db2の管理ユーザーについての設定です。ここではユーザー名をデフォルトのdb2adminとしています。また、Windowsのドメインを利用して認証する場合はここで選択できます。

下部の「同じユーザー名とパスワードを残りのDb2サービスで使用する」は通常チェックを入れておいて問題ありませんが、何かの事情でDb2のサービス毎にユーザーを変えたい場合はチェックを外してください。

alt

ここでは、インスタンスの構成を変更できます。主に、使用するTCP/IPのポートと、システム起動時に自動起動するかどうかを設定します。

Db2 for Windowsでは“Db2”という名前のインスタンスが自動的に作成されます。インストール時には一つのインスタンスが作成されますが、Db2は複数のインスタンスを作成可能です。インスタンスを追加するには導入後にdb2icrtコマンドを使用します。

“Db2”インスタンスの構成を確認するため、”Db2”を選択して「構成」のボタンをクリックします。

alt

「構成」を選択すると上記ダイアログが出ますので、TCP/IPタブの構成を選択し、あらかじめ決めておいたTCP/IPのポート番号を入力します。前述のように他のサービスで使用していないポート番号を指定する必要があります。使用されているサービスは、Windows\system32\drivers\etc\services ファイルを見ることで確認できます。

また、このダイアログで指定したサービス名もservicesファイルに追記されます。任意の名前を付けることが出来ますが、Db2のサービスである事が分かる名前にする事を推奨します。設定したら次は「スタートアップ」タブを選択します。

alt

「スタートアップ」タブを選択すると上記画面が表示されます。

「システム始動時にインスタンスを自動開始します」にチェックを付けておくと、OS起動時に自動的にインスタンスが起動するようになります。(OS起動後にdb2startコマンドを実行するのと同じです)

Db2のインスタンスはWindowsのサービスとして登録されますので、インストール後にインスタンスの自動起動を変更したい場合は、Windowsの「管理ツール→サービス」によって設定できます。

設定したら、「OK」をクリックして前の画面に戻り、「次へ」をクリックします。

alt

全て入力が完了するとサマリーが表示されます。「Db2 コピー名:」というところにDb2COPY1という名前が設定されていることが確認できます。Db2 9.1から複数のバージョンのDb2を一つのマシンに導入できるようになったため、複数のDb2を区別するために、「コピー名」という名前が使用されるようになりました。(カスタムでインストールした場合は自由なコピー名が設定できます)

また、9.5.2からは新しい全文検索エンジンである“Text Search”が内蔵されました。“標準”を選択した場合は特に何も設定する必要はありませんが、ポート番号55000番を使用するので、その番号を変えたい場合は”カスタム”を使用してインストールしてください。

設定内容に間違いが無いことを確認して「完了」をクリックします。後は自動的にDb2のインストールが行われます。

alt

インストールの途中で上記のようなウィンドウが開き、自動的にサンプルデーベースが作成されます。上記メッセージにあるように、デフォルトではインストールを実行したユーザー名(Administrator)のスキーマ上に表が作成されます。

SAMPLEデータベースを作成し直したい場合は、Db2導入後にAdministratorでdb2 DROP DB SAMPLEを行い、別のユーザーでdb2samplコマンドを実行する事で再度作成が可能です。(例えばdb2adminユーザーでdb2samplコマンドを実行するとDb2ADMINスキーマ上に表が作成されます)

alt

インストールが終了するとブラウザ上にDb2 Express-Cホームページが表示され、インストーラーには上記のような完了の画面が表示されます。

これで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: インターネット上で閲覧可能です。

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

PDF版のマニュアルは、Db2 Version 9.5 for Linux, UNIX, and Windows translated manualsから検索して各国語版のマニュアルをダウンロードできます。

Q: 新しいDb2インスタンスを追加するには?

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

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

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

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

他マシンからDb2サーバーにコマンドラインで接続するには、Db2のクライアント環境が導入されている必要があります。Db2のクライアント環境は以下のURLからもダウンロード可能です。

上記より、”Db2 Runtime Client Installer for Windows 32bit (もしくは64bit)”をダウンロードします。*.exe形式のインストーラーがダウンロードされますので、実行してインストールしてください。(なおJDBCでの接続や、ADO.NETでの接続のみ必要であれば、該当するコンポーネントをダウンロードする事でダウンロードサイズを小さくできます)

Db2コマンドプロンプトから接続するにはクライアント環境を導入後に、接続したいデータベースをクライアント側に登録する必要があります。

  1. まず、接続したいDBを提供しているインスタンスのTCPサービス名をDb2サーバー上で確認します。Db2サーバーにインスタンスオーナーでLoginして、db2 get dbm config コマンドを実行します。インスタンスに関する情報が出力されますが、その中の TCP/IP サービス名   (SVCENAME) = db2cdb2inst1 の行を記録しておいてください。そして、そのサービス名と対になっている(同じ行に書かれている)TCP/IPのポート番号をサーバー上の/etc/services(Windowsの場合は、Windows\SYSTEM32\Drivers\etc\services)から見つけてください。
  2. インスタンスユーザーでクライアントマシンにLoginします(Windowsの場合は、Db2コマンドプロンプトを起動する)。
  3. 以下のコマンドを使用して、Db2サーバーを新しいノードとして登録します。 alt
  4. ノード(Db2サーバー)上のデータベースを登録します。 alt 上記登録が終了すると、別名を指定する事でDb2サーバー上のデータベースに接続する事が出来ます。 alt また、上記のコマンドラインからの方法以外にも、GUIの「構成アシスタント」を起動する事で、GUI上で設定を行う事ができます。 alt

Q: パッチ(修正ファイル)はどこで入手できますか?

A: IBMサイトより、入手できます。

Db2 用の修正ファイルは、Fix Packという名前で公開されています。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と入力する事で、簡易な解説を得る事ができます。

> db2 "? SQL0204N"

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コマンドの実行が可能です。