DB2 Express-C 11.1 をVagrant上のCentOs7にインストール
1.準備
1.1 参考
以前のインストールメモ、
および
DB2 Express-C 11.1 for Linux クイックインストール
を参考に、DB2 Express-C 環境を、Vagrant を利用して VirtualBox の仮想マシン上に作成する。
1.2 Vagrant
Vagrantを利用すると、仮想環境へのサーバーの構築が非常に簡単にできる。Vagrant入門ガイド Kindle版は、500円以下で購入できるので、全体像を把握するにはコストパフォーマンスが高いと思う。
Vagrantでは、Boxファイルという仮想マシンのベースとなるイメージファイルが必要になる。
Vagrantのリポジトリで、そのBoxファイルが公開されているのだが、Centos7を導入するには、Vagrant および VirtualBox をインストールしたのちに、
vagrant init centos/7 コマンドで初期化、vagrant up で仮想マシンの構築から起動まで行われるので、CentOSのインストール作業を行う必要がない。
ただ、DB2をインストールするには、GUI環境が必要なので、上記公式CentOSのBoxではなく、有志が作成し、公開されている、CentOS7にGUI環境を適用済みで公開されているBoxファイルを使用する。
Vagrant box カタログ
https://app.vagrantup.com/boxes/search
で、centos gui で検索、今回は検索で最上位に表示されたBoxを使用する。
vagrant init pbarriscale/centos7-gui
上記コマンドで、環境の初期化を行うと、実行したフォルダに、Vagrantfile という設定ファイルが生成されるので、テキストエディタで、vb.gui = true に編集した後で、vagrant up コマンドを実行。CentOSがGUIモードで立ち上がる。停止時は、vagrant halt、vagrant ssh で SSH接続できる。
config.vm.provider "virtualbox" do |vb| # Display the VirtualBox GUI when booting the machine vb.gui = true : end
1.3 CentOS設定
SELinux を無効化
/etc/selinux/config を編集
#SELINUX=enforcing SELINUX=disabled
Firewall の設定
管理用523ポートと接続用デフォルト5000ポートを開放する。
2.DB2インストール
2.1 ダウンロード
IBMのサイトが非常に分かりにくいので、URLを示せないが、ググって以下のファイル(本体と言語パック)をダウンロード、上記でVagrantfileがあるフォルダに配置すると、ゲストOSと共有される。
v11.1_linuxx64_expc.tar.gz
v11.1_linuxx64_nlpack.tar.gz
root でログイン(ログインするには passwd root でパスワードを設定)、vagrant ディレクトリに共有されたファイル(v11.1_linuxx64_expc.tar.gz)を展開する。
解凍されたディレクトリ、expc/の中に言語パックを展開。後で適用もできるが、ここで上書きしておけばそれでOK
2.2 インストールの実行
/db2/expc/db2setup を実行
ダブルクリックで、エディタが起動してしまう場合は、ファイルを選択状態で、メニュー – ファイル – 設定 – 動作 から、実行可能形式のファイルは実行するにチェックして実行(もしくはターミナルから実行)
あとは、ウィザードに従いインストール
新規インストール
製品を選択
標準で。
以下の設定を準備しておく。
https://www.typea.info/blog/index.php/2012/01/25/db2_express-c_97_centos_6
DB2管理サーバーのユーザー名 | デフォルト:dasadm1 |
DB2のインスタンス・オーナー・ユーザー名 | デフォルト:db2inst1 |
fencedユーザーのユーザー名 | デフォルト:db2fenc1 |
インスタンスのTCP/IPポート番号 | 50000番 |
準備した設定に従い、ユーザーおよびパスワードを設定。
準備完了、完了ボタン。
インストールが実行される。
インストール完了。
db2inst1でログインしなおし、db2level コマンドで状況を確認。OSを再起動するか、db2start でDB2を起動
2.3 サンプルDBをインストール
$ db2sampl –xml –sql
3.DataStudioのインストールと実行
DB2の管理ツール、DataStudioのダウンロードとインストールを実行
https://www.typea.info/blog/index.php/2011/05/15/db2_ibm_data_studio_sql
3.1 トラブルシュート
4.4.2 だと、結構な確率で、以下のエラーが発生する。
org.osgi.framework.BundleException: モジュールの状態変更ロックを取得できませんでした:osgi.identity; osgi.identity="org.eclipse.core.runtime"; type="osgi.bundle"; version:Version="3.10.0.v20140318-2214"; singleton:="true" [id=1902] STOPPED [STARTED] at org.eclipse.osgi.container.Module.lockStateChange(Unknown Source) at org.eclipse.osgi.container.Module.stop(Unknown Source) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.decStartLevel(Unknown Source) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(Unknown Source) at org.eclipse.osgi.container.SystemModule.stopWorker(Unknown Source) at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule.stopWorker(Unknown Source) at org.eclipse.osgi.container.Module.doStop(Unknown Source) at org.eclipse.osgi.container.Module.stop(Unknown Source) at org.eclipse.osgi.container.SystemModule.stop(Unknown Source) at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
インストールフォルダ(例えば以下)の、ecplise.ini ファイル
C:\Program Files\IBM\DS4.1.2\eclipse.ini
から、
-Xquickstart
を削除することで解決。OKできた。
以降は、上記で設定した、Vagrantfile の gui を falseにしとけばいい。
4.再利用
DB2のインストールができたので、vagrant の Boxイメージを作成しておき、再利用する。
4.1 Boxファイルの作成
http://typea.info/tips/wiki.cgi?page=Vagrant
centos7db2 というBoxを作成する
vagrant package default –output centos7db2.box
centos7db2.box というファイルが作成されるので、取り込みたいPCにコピーし以下を実行
vagrant box add centos7db2 centos7db2.box
あとは、同様に初期化と実行
vagrant init centos7db2
以上。
DB2使用者必携の良書!