OSS Fan ~OSSでLinuxサーバ構築~

作成日: 2017/03/13

OSSでLinuxサーバ構築

DB2 Express-C 11.1をCentOS 7.3へインストール

トップページOSSでLinuxサーバ構築 > 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

サーバ構築

インストール

(1) インストールモジュールの展開

 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 ←展開された

(2) 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]をクリックします。

 これでインストールは完了です。

動作テスト

(1) 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" にインストールされています。

$

(2) サンプルデータベースの作成

 以降の動作確認で使用するサンプルデータベースを作成します。

$ 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.

$

(3) 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

(4) 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 コマンドが正常に完了しました。

(5) 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

プロフィール

らのっち

損害保険会社のIT企画部に勤務するSEです。OSSを勉強中です。

<所属>
日本PostgreSQLユーザ会とくしまOSS普及協議会


第000414号