目次


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

Comments
1

はじめに

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

ドキュメントでは Linux 版 DB2 Express-C のインストール方法を詳細に解説します。

DB2 Express-C には以下のような制限がありますが、制限は少なめです。

項目 
最大プロセッサ数2 コア
メモリ使用上限16GB
最大 DB サイズ15TB

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

2

インストールの前提条件

DB2 11.1 for Linux がサポートする Linux ディストリビューションは「DB2 データベース製品のインストール要件」「Linux Supported Environments」に記述されています。

正確なサポート範囲は上記ドキュメントに譲りますが、Red Hat Enterprise Linux 6/7、SUSE Linux Enterprise Server 11/12、Ubuntu 14/16 が推奨ディストリビューションです。

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

  • DB2 Express-C 11.1 (Intel Linux 64bit)
  • Redhat Enterprise Linux 7.2 (64bit)
3

OS の設定

DB2 の導入前に OS の設定を確認しましょう。ファイアウォールと SELinux に注意が必要です。これらは OS 導入時に設定してしまうのが簡単ですが導入後に変更も可能です。

ファイアウォールは DB2 インスタンスのポート番号と 523 番 (DB2 の管理ツールで使用) を許可するように追加する必要があります。上記のように OS 付属の GUI ツールなどで指定をしてください。DB2 インスタンスのポート番号は自由に設定できますが、ここでは一般的な 50000 番を指定しています。手順は、下図を参考にして下さい。

1. ファイアウォールから、

2. 「ポート」に移り、設定する

SELinux は有効であっても DB2 は使用可能ですが、その場合は下記情報を参考に DB2 導入後に db2chgpath コマンドの実行が必要です。本番環境用 DB2 では SELinux を有効にし、開発用などでは無効にすると良いでしょう。

http://www.ibm.com/support/knowledgecenter/SSEPGG_11.1.0/com.ibm.db2.luw.admin.cmd.doc/doc/r0023676.html

SELinux を無効にするには、/etc/sysconfig/selinux で SELINUX=disabled を指定します。

次に DB2 に必要となるパッケージを導入する必要があります。RHEL については以下に記載されています。

https://www.ibm.com/support/knowledgecenter/ja/SSEPGG_11.1.0/com.ibm.db2.luw.qb.server.doc/doc/r0008865.html

これによると RHEL7 では libstdc++.so.6 を導入しておく必要があります (libaio 等も必要ですが、これは通常は最初から導入されています)。パッケージマネージャーなどで libstdc++.i686 0:4.8.5-4.el7.I686 パッケージを導入してください。

注: 上記 URL に記載されている 32 ビットのパッケージ要件の「libpam」についてですが、DB2 は Version 11 以降は、32 ビット版 (Linux) の提供を廃止していますので、導入する必要はございません。

最後に、これは必須ではありませんが DB2 のデータを格納するファイルシステム (表スペースを格納するファイルシステム) が ext4 の場合はマウントオプションの確認と変更をする事をお勧めします。

4

DB2 Express-C のダウンロード

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

DB2 Express-C は、多数の OS 用のイメージが用意されています。また、PHP や Rails のドライバや新しい GUI 環境 (IBM Data Studio) も無償でダウンロードすることができます。ここでは Linux x86 (64-bit) 版をダウンロードします。

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

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

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

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

通 常はダウンロード・ディレクターを使用します。"DB2 Express-C" と "National Language Pack for DB2" (言語パック) にチェックを入れて、一番下の「ダウンロード」をクリックします。言語パックは必須ではありませんが、導入すると DB2 が表示するメッセージが日本語になります。(言語パックを導入しなくても日本語データを格納する事は可能です) 同時に Data Studio Administration Client もダウンロードできますので必要な場合は同様にチェックを入れてください。

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

5

DB2 Express-C のインストール

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

まず、DB2 本体である v11.1_linixx64_expc.tar.gz を展開します。

展開すると expc/というディレクトリができるので、そこに cd で移動し、その中で言語パックを展開します。

db2setup を実行するとインストーラーが起動します。

このようにすると、DB2 本体と言語パックを同時に導入できます。なお DB2 本体導入後に言語パックだけを導入することも可能です。その場合は言語パックをどこか別のディレクトリに展開し、その中にある db2setup を実行してください。

注) 言語パック導入時に DB2 インスタンスを停止していないと言語パックの適用に失敗する場合があります。この場合は、当ドキュメントの FAQ をご覧ください。

インストーラーが起動したら、「新規インストール」をクリックします。

インストールが始まると、次の画面に移りますので、

「DB2 Express-c バージョン 11.1.0. 0」を選択します。

「次へ」をクリックします

その後に表示される「構成」の画面では、「標準」か「カスタム」か選ぶことができます。

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

多 くの場合、「標準」のままで問題ありませんが、ここでは「カスタム」を選択しています。これはアプリケーション開発ツール (ライブラリやヘッダーファイル) を導入するためです。Rails 用ドライバなど Linux 用のソフトウェアはソースコードで提供され、コンパイルが必要なケースが多いため、アプリケーション開発ツールを導入しておくのが便利です。

選択したら「次へ」をクリックします。

「フィーチャーの選択」の画面が表示されます。

ここでは導入するフィーチャー (コンポーネント) を選択します。ここで「アプリケーション開発ツール」を追加で選択しておく事をお勧めします。

選択できたら「次へ」をクリックします。

「言語の選択」の画面に移ります。ここでは言語ファイルを選択します。言語はデフォルトで OS のロケール (この場合は日本語) と英語が自動的に選択されます。

多くのケースでは変更は不要ですので、そのまま「次へ」をクリックします。

「資料」の画面が表示されます。DB2 Knowledge Center にアクセスするロケーションとして、ここではデフォルトのまま「IBM Web サイト」を選択します。そのまま「次へ」をクリックします。

「DAS ユーザー」の画面に移ります。多くの場合、デフォルトの設定のまま進んでも問題はありませんが、ユーザー名とパスワードは控えておいていて下さい。

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

「インスタンス所有者」の画面に移ります。ここでのデフォルトユーザー名は db2inst1 になります。

パスワードは、前画面で設定したものと同じになります。

このままの設定で良ければ「次へ」をクリックします。

「fenced ユーザー」の画面が表示されます。

デフォルトではユーザー名に「db2fenc1」、グループ名に「db2fadm1」が指定されています。DB2 プロセスは、ここで指定したユーザーで実行されます。

パスワードは、5.DAS ユーザーの画面で設定したものと同じになります。

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

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

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

「通信およびスタートアップ」の画面が表示されます。

ここではインスタンスが通信に使うポート番号を指定します。ここではデフォルトの 50000 番をそのまま使用しています。

また「システム起動時にインスタンスを自動開始する」にチェックが入っているため、OS 起動時に DB2 のインスタンス (db2inst1) が自動的に起動します。自動起動が不要な場合はチェックを外してください。

「通知のセットアップ」の画面が表示されます。

通知 SMTP サーバーは「localhost.localdomain」で設定されています。

管理連絡先リスト・ロケーションは、「ローカルーこのコンピューターに連絡先リストを作成する」にチェックが付いています。

「現時点では、通知を送信するように DB2 サーバーをセットアップしない」には、必要がなければチェックをつける必要はありません。

ここでも、デフォルトのままの設定で構わなければ、

そのまま「次へ」をクリックして下さい。

「連絡先」の画面が表示されます。

名前や E メールアドレスに問題がないことを確かめた上、問題が無ければ「次へ」をクリックして下さい。

「DB2 Text Search」の画面が表示されます。

「Text Search」については、今回は重要ではないので、説明の方は割愛します。

サービス名、ポート番号を確認の上、問題が無ければ、「次へ」をクリックして下さい。

「サマリー」の画面が表示されます。

記載されているインストール場所、インスタンス名、DAS ユーザー名、fenced ユーザー名に間違いが無いことを確認して、問題が無ければ「完了」を押して下さい。後は自動的に DB2 のインストールが行われます。

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

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

6

インストール後の確認

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

シェル・ウィンドウを起動し、db2level コマンドを実行して DB2 のバージョンを確認してみましょう。画面に DB2 のバージョン番号や導入先ディレクトリが表示されます。

次にサンプルのデータベースを作成します。コマンドプロンプトで db2sampl と入力してください。(インスタンスが起動していない場合はまず db2start で起動する必要があります)

データベースの作成には少し時間がかかります。作成が完了するとデータベースが SAMPLE という名前で作成されます。

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

上から順に説明すると、

$ db2 “connect to sample”

—データベースに接続します。

$ “list tables”

—テーブル一覧を表示してみます。

$ “select * from staff”

—テーブル一覧の中から、適当なテーブルを選択して select してみます。今回は「STAFF」表を参照してみました。

$”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」で確認できます。

まとめ

本資料では、出荷されて間もない DB2 V11.1 Linux 版 Express-C の導入手順ガイドをご紹介しました。無償版ではありますが、本番稼動も可能です。

7

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

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

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

インストール時のログは/tmp/db2setup.log ファイルに記録されます。インストール時に、問題が確認されたときや、インストール状況を確認したいときはこのファイルを参照しましょう。

また、インストール中に Java プロセスによって戻されるエラー出力が db2setup.err に記録されます。

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

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

言語パックの導入プロセスの中では DB2 インスタンスを更新する db2iupdt というコマンドが実行されています。このコマンドはインスタンス・プロセスが停止した状態でないと実行することができません。

DB2 インスタンスを停止しない状態で言語パックの導入を実施すると、db2iupdt コマンドの実行に失敗しエラーとなります。この場合は、次のいずれかの方法で対処しましょう。

方法 1: DB2 インスタンスを停止し、導入を再度行う

db2inst1 ユーザで DB2 インスタンスを停止します。

言語パックのファイルを展開し、インストール・ウィザード (db2setup) を起動します。

方法 2: DB2 インスタンスを停止し、db2iupdt コマンドを実行します。

db2inst1 ユーザで DB2 インスタンスを停止します。

root ユーザで db2iupdt コマンドを実行します。

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

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

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

マニュアル以外の情報は、「IBM developerworks」に各種情報がまとまっています。

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

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

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

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

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

他マシンから DB2 サーバーにコマンドラインで接続するには、DB2 のクライアント環境が導入されている必要があります。DB2 のクライアント環境は「DB2 for Linux, UNIX and Windows Trial Downloads」からダウンロード可能です。

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

上記のようにたくさんの種類のクライアントがありますが、IBM Data Server Client Packages と書かれたリンクをダウンロードしてください。IBM Data Server Client Packages には全てのクライアントコンポーネントが含まれています。

DB2 のコマンド・ウィンドウからリモートの DB2 サーバーに接続するにはクライアント環境を導入後、接続したいデータベースをクライアント側に登録する必要があります。

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

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

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

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

[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] "?" コマンドで調査するか、Knowledge Center を調べてください。

SQL から始まる文字列は、SQLCODE という DB2 でのエラー内容を表した値です。この値の意味を調べるには、Knowledge Center で検索するか、「データベース・リファレンス > メッセージ > SQL メッセージ」を参照してください。

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

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

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

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

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

8

Web 上のリソース


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


コメント

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

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