DB2 Express-C 11.1をCentOS 7.3へインストール
目次
概要
CentOS 7.3のサーバにDB2の無償版であるDB2 Express-Cをインストールします。 DB2 Express-Cをダウンロードするためには、IBM IDを取得し、IBMのダウンロードサイトにサインインする必要があります。 いずれもお金はかかりません。 また、DB2のインストールにはGUI環境が必要となるので、事前にGNOME Desktopをインストールしておきました。 インストール後にはサンプルデータベースを作成し、簡単なSQL操作を行います。
構成
サーバ構成
OSバージョン
CentOS 7.3.1611
ソフトウェア・パッケージ一覧
- v11.1_linuxx64_expc.tar.gz
- v11.1_linuxx64_nlpack.tar.gz
環境構築
インストール
インストールモジュールの展開
DB2 Express-CとNational Language packをIBMの下記サイトからダウンロードし、 /media/installer/db2/ ディレクトに格納した状態から作業を開始します。
【関連サイト】
DB2 Express-Cのダウンロードサイト
# cd /media/installer/db2/ # ls -l 合計 1112988 -rw-r--r-- 1 root root 692132552 2月 27 00:16 v11.1_linuxx64_expc.tar.gz ←DB2 Express-C -rw-r--r-- 1 root root 447562238 2月 27 00:01 v11.1_linuxx64_nlpack.tar.gz ←National Language Pack for DB2 # tar zxvf v11.1_linuxx64_expc.tar.gz ←DB2 Express-Cを展開 expc/ expc/db2setup expc/db2_deinstall expc/db2prereqcheck expc/db2ckupgrade (中略) expc/db2/linuxamd64/bin/disp_msg expc/db2/linuxamd64/bin/db2langdir expc/db2/linuxamd64/ComponentList_expc.htm expc/db2/.expc expc/db2/spec # ls -l 合計 1112988 drwxr-xr-x 3 root root 128 12月 7 04:05 expc ←展開された -rw-r--r-- 1 root root 692132552 2月 27 00:16 v11.1_linuxx64_expc.tar.gz -rw-r--r-- 1 root root 447562238 2月 27 00:01 v11.1_linuxx64_nlpack.tar.gz # cd expc/ # tar zxvf ../v11.1_linuxx64_nlpack.tar.gz ←National Language Pack for DB2を展開 nlpack/ nlpack/db2setup nlpack/java_fonts/ nlpack/java_fonts/mtsansds.zip nlpack/java_fonts/mtsansdt.zip (中略) nlpack/db2/linuxamd64/bin/db2prereqcheckoss nlpack/db2/linuxamd64/bin/disp_msg nlpack/db2/linuxamd64/bin/db2langdir nlpack/db2/.nlpack nlpack/db2/spec # ls -l 合計 48 drwxr-xr-x 6 bin bin 93 12月 7 04:05 db2 -r-xr-xr-x 1 bin bin 4961 12月 7 04:05 db2_deinstall -r-xr-xr-x 1 bin bin 4831 12月 7 04:05 db2_install -r-xr-xr-x 1 bin bin 4989 12月 7 04:05 db2ckupgrade -r-xr-xr-x 1 bin bin 4795 12月 7 04:04 db2ls -r-xr-xr-x 1 bin bin 4817 12月 7 04:05 db2prereqcheck -r-xr-xr-x 1 bin bin 4813 12月 7 04:05 db2setup drwxr-xr-x 4 root root 84 12月 7 04:07 nlpack ←展開された
DB2 Express-Cのインストール
DB2のインストールにはGUIが必要となるようなので、GNOME Desktopをインストールした状態 (yumのgroupinstallでGNOME Desktopをインストール)から以下の操作を開始します。
# startx ←X Window Systemの起動 # cd /media/installer/db2/expc/ # ./db2setup ←インストーラの起動
「DB2 Setup」ウィンドが表示されたら[New Install]をクリックします。
「Choose a Product」画面が表示されたら、インストールするDB2のバージョンを確認し、[Next]をクリックします。
「Configuration」画面が表示されたら、[Custom]を選択し、[I agree to the IBM terms]にチェックを付け、[Next]をクリックします。
「Select Features」画面が表示されたら、[Select all]をクリックし、全てのフィーチャにチェックが付いたことを確認し、[Next]をクリックします。
「Select Languages」画面が表示されたら、左のリストから『Japanese』を選択します。
続いて[>]をクリックし、右のリストに『Japanese』が追加されたことを確認し、[Next]をクリックします。
「Documentation」画面が表示されたら、[On the IBM web site]が選択されていることを確認し、[Next]をクリックします。
「Instance Owner」画面が表示されたら、[Password]と[Confirm password]に同じパスワードを入力し、[Next]をクリックします。
「Fenced User」画面が表示されたら、[Password]と[Confirm password]に同じパスワードを入力し、[Next]をクリックします。
「Instance Communication」画面が表示されたら、[Autostart the instance at system startup]のチェックを外し、[Next]をクリックします。 なお、Linux起動時にDB2を自動起動したい場合はチェックを外さなくて良いです。
「Text Search Sservice」画面が表示されたら、何も変更せずに[Next]をクリックします。
「Response File and Summary」画面が表示されたら、[Finish]をクリックします。
インストールが開始されます。5分程度かかりますので待機します。
インストールが完了すると、「Setup has completed successfully」画面が表示されます。 [Post-install steps]をクリックします。
インストール後にやるべきことが表示されるので、読んでおきます。 読み終わったら、[Close]をクリックします。
「Setup has completed successfully」画面に戻ったら、[Finish]をクリックします。
これでインストールは完了です。
動作テスト
DB2のバージョン確認
ユーザをインスタンスオーナの db2inst1 にスイッチして、DB2のバージョンを確認します。 バージョンが11.1.1.1であることが分かります。
# su - db2inst1 最終ログイン: 2017/03/12 (日) 02:10:15 JST日時 pts/1 $ db2level DB21085I このインスタンスまたはインストール (該当する場合のインスタンス名: "db2inst1") は "64" ビットおよび DB2 コード・リリース "SQL11011" をレベル ID "0202010F" で使用します。 情報トークンは、"DB2 v11.1.1.1"、"s1612051900"、"DYN1612051900AMD64"、およびフィックスパッ ク "1" です。 製品は "/opt/ibm/db2/V11.1" にインストールされています。 $
サンプルデータベースの作成
以降の動作確認で使用するサンプルデータベースを作成します。
$ db2sampl Starting the DB2 instance... Creating database "SAMPLE"... Connecting to database "SAMPLE"... Creating tables and data in schema "DB2INST1"... Creating tables with XML columns and XML data in schema "DB2INST1"... Stopping the DB2 instance... 'db2sampl' processing complete. $
DB2の起動
DB2を起動します。マルチスレッドで動作するDB2ですが、プロセスもいくつかに分かれていることが分かります。
$ db2start SQL1063N DB2START の処理が正常に終了しました。 $ ps -ef | grep db2 root 11241 1 0 02:09 ? 00:00:00 /opt/ibm/db2/V11.1/bin/db2fmcd root 23044 2611 0 02:13 pts/0 00:00:00 su - db2inst1 db2inst1 23045 23044 0 02:13 pts/0 00:00:00 -bash db2inst1 23406 1 0 02:16 pts/0 00:00:00 /home/db2inst1/sqllib/bin/db2bp 23045A1000 5 A root 23421 1 1 02:16 pts/0 00:00:00 db2wdog db2inst1 23423 23421 2 02:16 pts/0 00:00:00 db2sysc root 23429 23421 0 02:16 pts/0 00:00:00 db2ckpwd root 23430 23421 0 02:16 pts/0 00:00:00 db2ckpwd root 23431 23421 0 02:16 pts/0 00:00:00 db2ckpwd db2inst1 23433 23421 0 02:16 pts/0 00:00:00 db2vend (PD Vendor Process - 1) db2inst1 23441 23421 0 02:16 pts/0 00:00:00 db2acd ,0,0,0,1,0,0,00000000,0,0,0,0000000000000000,0000000000000000,00000000,00000000,00000000,00000000,00000000,00000000,0000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,0000000056e5e000,0000000000000000,0000000000000000,1,0,0,,,,,a80035,14,1e014,2,0,1,0000000000041fc0,0x240000000,0x240000000,1600000,1d0002,2,428012 db2inst1 23450 23045 0 02:16 pts/0 00:00:00 ps -ef db2inst1 23451 23045 0 02:16 pts/0 00:00:00 grep --color=auto db2
DB2への接続とSQL実行
作成したサンプルデータベースに接続し、テーブル一覧の表示、staff テーブルの表示を行った後、切断します。
$ db2 "connect to sample" ←sampleデータベースに接続 データベース接続情報 データベース・サーバー = DB2/LINUXX8664 11.1.1.1 SQL 許可 ID = DB2INST1 ローカル・データベース別名 = SAMPLE $ db2 "list tables" ←テーブル一覧を表示 表/ビュー スキーマ タイプ 作成時刻 ------------------------------- --------------- ----- -------------------------- ACT DB2INST1 T 2017-03-12-02.14.44.872622 ADEFUSR DB2INST1 S 2017-03-12-02.14.45.881722 CATALOG DB2INST1 T 2017-03-12-02.14.46.786832 CL_SCHED DB2INST1 T 2017-03-12-02.14.44.585902 CUSTOMER DB2INST1 T 2017-03-12-02.14.46.693090 DEPARTMENT DB2INST1 T 2017-03-12-02.14.44.618299 DEPT DB2INST1 A 2017-03-12-02.14.44.676745 EMP DB2INST1 A 2017-03-12-02.14.44.710267 EMPACT DB2INST1 A 2017-03-12-02.14.44.871436 EMPLOYEE DB2INST1 T 2017-03-12-02.14.44.677678 EMPMDC DB2INST1 T 2017-03-12-02.14.46.037030 EMPPROJACT DB2INST1 T 2017-03-12-02.14.44.850728 EMP_ACT DB2INST1 A 2017-03-12-02.14.44.872116 EMP_PHOTO DB2INST1 T 2017-03-12-02.14.44.710864 EMP_RESUME DB2INST1 T 2017-03-12-02.14.44.747982 INVENTORY DB2INST1 T 2017-03-12-02.14.46.672941 IN_TRAY DB2INST1 T 2017-03-12-02.14.44.903845 ORG DB2INST1 T 2017-03-12-02.14.44.911030 PRODUCT DB2INST1 T 2017-03-12-02.14.46.629833 PRODUCTSUPPLIER DB2INST1 T 2017-03-12-02.14.46.850085 PROJ DB2INST1 A 2017-03-12-02.14.44.825952 PROJACT DB2INST1 T 2017-03-12-02.14.44.826550 PROJECT DB2INST1 T 2017-03-12-02.14.44.791628 PURCHASEORDER DB2INST1 T 2017-03-12-02.14.46.740791 SALES DB2INST1 T 2017-03-12-02.14.44.928326 STAFF DB2INST1 T 2017-03-12-02.14.44.921095 STAFFG DB2INST1 T 2017-03-12-02.14.45.765945 SUPPLIERS DB2INST1 T 2017-03-12-02.14.46.820970 VACT DB2INST1 V 2017-03-12-02.14.44.956129 VASTRDE1 DB2INST1 V 2017-03-12-02.14.44.977984 VASTRDE2 DB2INST1 V 2017-03-12-02.14.44.980666 VDEPMG1 DB2INST1 V 2017-03-12-02.14.44.961975 VDEPT DB2INST1 V 2017-03-12-02.14.44.938425 VEMP DB2INST1 V 2017-03-12-02.14.44.952966 VEMPDPT1 DB2INST1 V 2017-03-12-02.14.44.976057 VEMPLP DB2INST1 V 2017-03-12-02.14.44.997120 VEMPPROJACT DB2INST1 V 2017-03-12-02.14.44.960458 VFORPLA DB2INST1 V 2017-03-12-02.14.44.989355 VHDEPT DB2INST1 V 2017-03-12-02.14.44.951414 VPHONE DB2INST1 V 2017-03-12-02.14.44.995284 VPROJ DB2INST1 V 2017-03-12-02.14.44.954451 VPROJACT DB2INST1 V 2017-03-12-02.14.44.957689 VPROJRE1 DB2INST1 V 2017-03-12-02.14.44.982668 VPSTRDE1 DB2INST1 V 2017-03-12-02.14.44.984671 VPSTRDE2 DB2INST1 V 2017-03-12-02.14.44.987422 VSTAFAC1 DB2INST1 V 2017-03-12-02.14.44.991280 VSTAFAC2 DB2INST1 V 2017-03-12-02.14.44.993229 47 レコードが選択されました。 $ db2 "select * from staff" ←staffテーブルのデータを表示 ID NAME DEPT JOB YEARS SALARY COMM ------ --------- ------ ----- ------ --------- --------- 10 Sanders 20 Mgr 7 98357.50 - 20 Pernal 20 Sales 8 78171.25 612.45 30 Marenghi 38 Mgr 5 77506.75 - 40 O'Brien 38 Sales 6 78006.00 846.55 50 Hanes 15 Mgr 10 80659.80 - 60 Quigley 38 Sales - 66808.30 650.25 70 Rothman 15 Sales 7 76502.83 1152.00 80 James 20 Clerk - 43504.60 128.20 90 Koonitz 42 Sales 6 38001.75 1386.70 100 Plotz 42 Mgr 7 78352.80 - 110 Ngan 15 Clerk 5 42508.20 206.60 120 Naughton 38 Clerk - 42954.75 180.00 130 Yamaguchi 42 Clerk 6 40505.90 75.60 140 Fraye 51 Mgr 6 91150.00 - 150 Williams 51 Sales 6 79456.50 637.65 160 Molinare 10 Mgr 7 82959.20 - 170 Kermisch 15 Clerk 4 42258.50 110.10 180 Abrahams 38 Clerk 3 37009.75 236.50 190 Sneider 20 Clerk 8 34252.75 126.50 200 Scoutten 42 Clerk - 41508.60 84.20 210 Lu 10 Mgr 10 90010.00 - 220 Smith 51 Sales 7 87654.50 992.80 230 Lundquist 51 Clerk 3 83369.80 189.65 240 Daniels 10 Mgr 5 79260.25 - 250 Wheeler 51 Clerk 6 74460.00 513.30 260 Jones 10 Mgr 12 81234.00 - 270 Lea 66 Mgr 9 88555.50 - 280 Wilson 66 Sales 9 78674.50 811.50 290 Quill 84 Mgr 10 89818.00 - 300 Davis 84 Sales 5 65454.50 806.10 310 Graham 66 Sales 13 71000.00 200.30 320 Gonzales 66 Sales 4 76858.20 844.00 330 Burke 66 Clerk 1 49988.00 55.50 340 Edwards 84 Sales 7 67844.00 1285.00 350 Gafney 84 Clerk 5 43030.50 188.00 35 レコードが選択されました。 $ db2 "terminate" ←sampleデータベースから切断 DB20000I TERMINATE コマンドが正常に完了しました。
DB2の停止
DB2を停止します。停止後もいくつかプロセスが残っているようです。
$ db2stop SQL1064N DB2STOP の処理が正常に終了しました $ ps -ef | grep db2 root 11241 1 0 02:09 ? 00:00:00 /opt/ibm/db2/V11.1/bin/db2fmcd root 23044 2611 0 02:13 pts/0 00:00:00 su - db2inst1 db2inst1 23045 23044 0 02:13 pts/0 00:00:00 -bash db2inst1 23562 1 0 02:19 pts/0 00:00:00 /home/db2inst1/sqllib/bin/db2bp 23045A1000 5 A db2inst1 23571 23045 0 02:19 pts/0 00:00:00 ps -ef db2inst1 23572 23045 0 02:19 pts/0 00:00:00 grep --color=auto db2