1. ホーム
  2. データベース
  3. デービーツー

CentOSでのDB2データベースインストール手順詳細

2022-01-24 14:53:03

このチュートリアルでは、DB2データベースをinuxにインストールする手順を説明します。

インストールする前に、DB2のバージョンとライセンスの説明を確認し、理解を深め、どのバージョンを最初にインストールすべきかを考えてください。

管理クライアントはv9.7からコントロールセンターが付属しなくなり、Data Studio Clientを使用するようになりました。

Linux版です。

Linux版では、DB2データベースの公式無償版を使用し、OSにはCentOS 6.2を使用しています。

インストール手順です。

1. ダウンロード: db2_v101_linuxia32_expc.tar.gz

2、解凍、解凍は、現在のディレクトリに完了する./expcフォルダがあります。

コピーコード コードは以下の通りです。

[root@localhost opt]# tar -zxvf db2_v101_linuxia32_expc.tar.gz

3. このディレクトリに移動する

コピーコード コードは以下の通りです。

[root@localhost opt]# cd expc/

4. インストールを実行する

コピーコード コードは以下の通りです。

[root@localhost expc]# . /db2_install

5. グループとユーザーを追加する。

グループ(ユーザー名)
db2iadm1(db2inst1)
db2fadm1( db2fenc1)

コピーコード コードは以下の通りです。

[root@localhost expc]# groupadd -g 2000 db2iadm1
[root@localhost expc]# groupadd -g 2001 db2fadm1
[root@localhost expc]# useradd -m -g db2iadm1 -d /home/db2inst1 db2inst1
[root@localhost expc]# useradd -m -g db2fadm1 -d /home/db2fenc1 db2fenc1
[root@localhost expc]# passwd db2inst1
[root@localhost expc]# passwd db2fenc1

6. ライセンス(製品ライセンス)のインストール PS:ExpressC版であれば、する必要はありません

コピーコード コードは以下の通りです。

[root@localhost adm]# pwd
/opt/ibm/db2/V10.1/adm
[root@localhost adm]# chmod -R 775 *
[db2inst1@localhost adm]$ . /db2licm -a /tmp/seagull/db2v10/license/db2ese_c.lic

7. インスタンスとサンプルデータベースの作成

コピーコード コードは以下の通りです。

[root@localhost instance]# pwd
/opt/ibm/db2/V10.1/instance
[root@localhost instance]# chmod -R 775 *
[root@localhost instance]# . /db2icrt -p 50000 -u db2fenc1 db2inst1
[root@localhost instance]# su - db2inst1
[db2inst1@localhost ~]$ db2sampl
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"...
'db2sampl' processing complete.
[db2inst1@localhost ~]$ db2start
SQL1026N The database manager is already active.
[db2inst1@localhost ~]$ db2 connect to sample
Database Connection Information
Database server = DB2/LINUX 10.1.2
SQL authorization ID = DB2INST1
local database alias = SAMPLE
[db2inst1@localhost ~]$ db2 "select * from staff"

8. ダスマネジメントサーバーの作成

リモートクライアントからコントロールセンターでデータベースサーバーを制御するためには、データベースサーバーにdasをインストールする必要があります。もちろん、リモート接続だけでリモート管理しない場合はインストールできませんが、ここでは少しインストールしました。

コピーコード コードは以下の通りです。

[root@localhost expc]# groupadd -g 2002 db2asgrp
[root@localhost expc]# useradd -m -g db2asgrp -d /home/db2as db2as
[root@localhost expc]# passwd db2as
[db2as@localhost ~]$ su - db2as # Test new user here
[db2as@localhost ~]$ su # Go to root privileges here
[root@localhost ~]# cd /opt/ibm/db2/V10.1/instance/
[root@localhost instance]# . /dascrt -u db2as
DBI1070I Program dascrt completed successfully.
[root@localhost instance]# su - db2as
[db2as@localhost ~]$ db2admin start
SQL4409W The DB2 Administration Server is already active.

9. ポート番号の設定

コピーコード コードは以下の通りです。

vim /etc/services

最後に一行追加 # PS: VIMショートカット、コマンドモードで"G"と入力すると最終行にジャンプします。
コピーコード コードは以下の通りです。

db2inst1 50000/tcp

10. db2 の設定、ユーザー db2inst1 に変更する。

コピーコード コードは以下の通りです。

su - db2inst1
db2set DB2_EXTENDED_OPTIMIZATION=ON
db2set DB2_DISABLE_FLUSH_LOG=ON
db2set AUTOSTART=YES
db2set DB2_STRIPED_CONTAINERS=ON
db2set DB2_HASH_JOIN=Y
db2set DB2COMM=tcpip
db2set DB2_PARALLEL_IO=*
db2set DB2CODEPAGE=819 # PS:This place is more important
# db2 update database manager configuration using svcename db2inst1

11. etc/services で SVCENAME にポート番号またはサービス名を設定しましたか?

コピーコード コードは以下の通りです。

[db2inst1@localhost ~]$ db2 get dbm cfg|grep SVCENAME
TCP/IP Service name (SVCENAME) =
SSL service name (SSL_SVCENAME) =

SVCENAMEを検索し、現在の値がサーバー側のポート番号またはサービス名でない場合に設定を更新します。
コピーコード コードは以下の通りです。

[db2inst1@localhost ~]$ db2 update dbm cfg using SVCENAME db2inst1
# db2 update dbm cfg using INDEXREC ACCESS
[db2inst1@localhost ~]$ db2 get dbm cfg|grep SVCENAME
TCP/IP Service name (SVCENAME) = 50000
SSL service name (SSL_SVCENAME) =

# 追記: クライアント側で接続する場合は、svcename が必要です。

12. DB2を起動する前にファイアウォールをオフにする必要があります そうしないと、全く接続できない(見落としがあり、時間がかかった)ので、rootユーザーで実行:service iptables stop

13. DB2を起動する すでに起動している場合は、まず停止して、db2stopを実行してください。

ビューを設定します。

追記:マシンを再起動したところ、ファイアウォールを閉じても無反応、データベースを開いても閉じても無反応、リモートからデータベースに接続できないという問題が発生し、解決策としてサーバーを再起動し、ファイアウォールを順に閉じてから、DB2データベースを再起動することにしました。