このドキュメントでは DB2 Express-C 10.1 for Windows をインストールする方法をご紹介します。

下佐粉 昭, ソフトウェア事業部, IBM

下佐粉 昭の肖像下佐粉 昭は DB2 に関して10 年の幅広い知識と経験を有する日本アイ・ビー・エムの社員です。彼は書籍「即戦力の DB2 管理術」の著者であり、「DB2 逆引きリファレンス」と「XML-DB 開発実技コース」の共著者でもあります。彼の旺盛な好奇心は DB2 に留まらず、Javaやオープン・テクノロジーでも幅広い活躍をしています。現在はソフトウエア事業に所属し、ビジネス・パートナー様の技術支援の仕事に従事しています。休日は各地の温泉に行く事を趣味にしています。



2012年 5月 16日

DB2 Express-C とは?

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

1. はじめに

DB2 Express-C 10.1 for Windows (以下 DB2 Express-C) は、有償の DB2 Express とほぼ同じ機能を持っていながら、無料で使用することができるエディションです (IBM からのサポートはありませんが、WEB のフォーラムで Q&A を行っています)。2012 年 5 月に最新版 v10.1 が公開されました。

ここでは Windows 版 DB2 Express-C のインストール方法を詳細に解説します。

DB2 Express-C には以下のような制限がありますが、制限は少なめです。前バージョン(9.7)と比較して使用可能なメモリが 2GB から 4GB に増加しました。また DB サイズの制限が無いことは特筆すべきことでしょう。

最大プロセッサ数DB2 が使えるのは 2 コアまで (これ以上の CPU コアを持つマシンにも導入は可能)
最大使用可能メモリDB2 が確保できるメモリが 4GB まで (これ以上のメモリを持つマシンにも導入可能)
最大 DB サイズ制限無し

また、DB2 の主な特徴として挙げられるのが XML データベース機能の「pureXML」や、メモリ管理の自動調整機能「STMM」、Oracle との互換機能 (PL/SQL が動く) 等ですが、どれも DB2 Express-C に搭載されています。最新の機能を持つデータベースを、ぜひ試してください。


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

DB2 10.1 for Windows がサポートする Windows OS は「データベース・サーバーのインストール前提条件」に記述されています。

正確なサポート範囲は上記ドキュメントに譲りますが、クライアント製品の Windows XP, VISTA, 7 やサーバー製品の Windows2003, 2008 等主要な Windows 環境をサポートしています。また 32bit 版と 64bit 版の両方をサポートしています。

このドキュメントで使用した DB2 と Windows は以下の通りです。64bit 版の例ですが 32bit 版 OS でも同じ操作で導入できます。

  • DB2 Express-C 10.1 (Windows 64bit 版)
  • Windows 7 (64bit 版)

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

DB2 Express-C は「Download DB2 Express-C」よりダウンロードが可能です。

リンク先ページでは多数の OS 用 DB2 Express-C イメージが用意されています。また、同じページから新しい管理用 GUI 環境 (IBM Data Studio) もダウンロード可能です。ここでは Windows (64bit) 版をダウンロードします。下記の丸印のリンクをクリックしてダウンロードしてください。なお 32bit 版 Windows を使用している場合は、Windows 32-bit をダウンロードしてください。

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

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

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

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

通常はダウンロード・ディレクターを使用します。DB2 Express-C にチェックを入れて、一番下の「ダウンロード」をクリックします。同時に DB2 add-ins for Visual Studio や Data Studio (新しい管理 GUI) 等もダウンロードできますので。必要な場合は同様にチェックを入れてください。

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


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

管理権限を持つユーザー (Administrator 等) でログインして、さきほどダウンロードした db2_v101_winx64_expc.exe を実行してください。最初に以下のような画面が表示されますが、これは 64bit 版の Windows には 64bit 版の DB2 を、32bit 版の Windows には 32bit 版の DB2 を導入してくださいという確認です。OK を押してインストールに進みます。

実行すると以下のように圧縮ファイルが展開するディレクトリを指定します。任意のディレクトリを指定して "Unzip" ボタンを押してイメージを展開してください。

展開したディレクトリには EXPC というディレクトリが作成されていますので、その中にある setup.exe を実行するとインストーラーが起動します。

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

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

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

注) OS に設定されている標準ブラウザが、Internet Explorer 以外を標準にしている場合、上記のボタンを押してもインストーラーが起動しない場合があります。もしそのような現象が起きた場合は一時的に Internet Explorer を標準のブラウザに変更して、実行なおしてください。

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

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

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

DB2 サーバーは、Windows 上のサービスとして起動します。その起動には、上記の「DB2 の管理ユーザー」の ID とパスワードが使用されます。ユーザーとしてローカルシステムアカウント (パスワードを設定しないアカウント) を設定する事も可能ですが、本番用途での使用はお勧めできません。

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

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

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

多くの場合、「標準」のままで問題ありませんが、全文検索機能の Text Search を導入したい場合は「カスタム」を選択する必要があります。

ここでは「標準」を選択したまま「次へ」をクリックします。

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

一番下の「このコンピューターに DB2 Express-C をインストールし、設定を応答ファイルに保管する」を選択したまま「次へ」をクリックします。

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

Windows 版の DB2 には v10.1 から SSH サーバーが同梱されるようになりました。これは、一部の DB2 の機能を実現するために必要になりますが、SSH サーバーがすでに導入されている場合はそれを利用する事もできます。(インストール開始時にカスタムを選択すると SSH サーバー自体を導入しない設定も可能です)

導入ディレクトリと自動開始の有無を選択して、「次へ」を押します。

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

ここで管理ユーザーを作成するのではなく、Windows のローカルシステムアカウントを使うことも可能です。(「LocalSystem アカウント」にチェックを入れる)

ローカルシステムアカウントは、パスワード管理が不要になるため簡単に使えます。そのため開発用途などではローカルシステムアカウントを選択しても良いでしょう。ただし本番環境用としてはお勧めできません。

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

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

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

"DB2" インスタンスの構成を確認するため、画面上の "DB2" を選択して「構成」のボタンをクリックします。

「構成」を選択すると上記ダイアログが出ますので、TCP/IP タブの構成を選択し、あらかじめ決めておいた TCP/IP のポート番号を入力します。デフォルトでは 50000 番を使用します。

前述のように他のサービスで使用していないポート番号を指定する必要があります。使用されているサービスは、Windows\system32\drivers\etc\services ファイルを見ることで確認できます。

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

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

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

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

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

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

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

インストールの中で自動的にサンプルデーベース (SAMPLE) が作成されますが、デフォルトではインストールを実行したユーザー名 (Administrator) のスキーマ上に表が作成されます。

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

インストールが終了すると上記のような完了の画面が表示されます。

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

インストール完了後に上記のような「DB2 ファースト・ステップ」が表示されます。メニューに「サンプル・データベースの作成」とありますが、標準インストールの場合はデフォルトで作成されていますので、再度作成する必要はありません。ここではそのままウィンドウを閉じてください。

後でファースト・ステップを表示したい場合は Windows スタートメニューから「IBM DB2 -> DB2COPY1 (デフォルト) -> ファースト・ステップ」で起動できます。


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

インストール後に、動作を確認します。まず、Administrator でログインしている場合はログオフし、DB2 管理ユーザー (db2admin) で再度ログインします。Administrator でも問題なく作業が行えますが、DB2 の作業をする場合は、db2admin や他のユーザーで行うのが良いでしょう。(インストール時に db2admin ユーザーを作成せず、ローカルシステムアカウントを使用した場合はログインしなおす必要はありません)。

次に、インストール時に作成した SAMPLE データベースにコマンド・ウィンドウから接続してみます。スタートメニューから「IBM DB2 -> DB2COPY1 (デフォルト) -> コマンド・ウィンドウ - 管理者」と選択しコマンド・ウィンドウを起動します。DB2 のコマンドはこのウィンドウで実行します。

コマンド・ウィンドウには通常のものと、「管理者」と付いたものの 2 種類があります。db2 インスタンスの起動など、管理者権限が必要なコマンドを実行する際は「管理者」版を使用します。

コマンド・ウィンドウが起動したら db2level コマンドを実行して DB2 のバージョンを確認してください。画面に DB2 のバージョン番号や導入先ディレクトリが表示されるはずです。

 C:\>db2level
 DB210851 インスタンス "DB2" は、"64" ビットおよび DB2 コード・リリース
 "SQL10010" をレベル ID "0201010E" で使用します。
 情報トークンは、"DB2 v10.1.0.872"、"s120403"、"NTX64101"、およびフィックスパック "0" です。
 DB2 コピー名 "DB2COPY1" で製品は "C:\SQLLIB" にインストールされています。

次にコマンド・ウィンドウ上で以下のように入力し、SAMPLE データベースに接続してみます。ただしインストール直後はインスタンスが起動していますので db2start は不要です。

  > db2start				        (インスタンスの起動)
  > db2 "CONNECT TO SAMPLE"			(データベースに接続)
  > db2 "LIST TABLES FOR ALL"			(表の一覧を表示)
  > db2 "SELECT * FROM ADMINISTRATOR.STAFF"	(SQL を実行)
  > db2 "TERMINATE"				(接続解除)

また IBM Data Studio (無料) を導入すると Eclipse ベースの GUI で DB2 の操作ができるようになります。(これまでの GUI であるコントロール・センターは v10.1 から廃止されました)

Data Studio は DB2 Express-C と同時にダウンロードするか、Data Studio のホームページからダウンロードが可能です。

Data Studio は、DB2 管理機能中心の Administration client と全機能を含んだ Full client の 2 種類があります。DB2 の管理目的であれば Administration client でほとんどの場合に対応できます。それぞれの機能の違いは「Features in IBM Data Studio」で確認できます。


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

[Q] db2admin のパスワードを変えると、DB2 が起動しなくなりました。

[A] サービスのパスワードを入力しなおす必要があります。

Windows 版の DB2 では DB2 関連のサービスを db2admin ユーザーで起動しているため、db2admin ユーザーのパスワードを変更した場合、各サービスのプロパティにあるログオンタブを選択し、パスワードを新しいものに設定しなおす必要があります。

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

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

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

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

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

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

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

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

上記より、"Data Server Client Packages (GA level)" もしくは"Data Server Client Packages (latest fixpacks)"をクリックします。latest fixpacks とは最新の修正が適用されたという意味です。DB2 10.1 はまだ Fix Pack (修正ファイル) が提供されていないため、"Data Server Client Packages (GA level)" をクリックします。

上記のようにたくさんの種類のクライアントがありますが、Data Server Client と書かれたリンクをダウンロードしてください。Data Server Client には全てのクライアントコンポーネントが含まれています。(なお JDBC での接続や、ODBC での接続のみ必要であれば、該当するコンポーネントをダウンロードする事でダウンロードサイズを小さくできます)

DB2 のコマンド・ウィンドウからリモートの 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. インスタンスユーザーでクライアントマシンにログインします (Windows の場合は、DB2 コマンドプロンプトを起動します)。
  3. 以下のコマンドを使用して、DB2 サーバーを新しいノードとして登録します。
  4. ノード (DB2 サーバー) 上のデータベースを登録します。

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

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

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

DB2 用の修正ファイルは、Fix Pack ダウンロードサイトに 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] "?" コマンドで調査するか、インフォメーション・センターを調べてください。

SQL から始まる文字列は、SQLCODE という 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 コマンドの実行が可能です。

[Q] ライセンスの登録はどのように行うのですか?
(この質問は製品版 DB2 についてです。DB2 Express-C では該当しませんが、このドキュメントを参考にして製品版の導入を行う方もいらっしゃると思いますので記載します。)

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

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

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

7. Web 上のリソース

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Information Management
ArticleID=814617
ArticleTitle=DB2 Express-C 10.1 for Windows クイックインストール
publish-date=05162012