DB2 Express-Cのインスタンスとユーザーの作成

DB2 Express-CをCUIでインストールした場合、初期設定で必要なユーザーやインスタンスは自動生成されません。自分で作成する必要があります。

ここで作成するのはdb2inst1というDB2のインスタンスユーザー(オーナー)で、DB2インスタンスの再起動などを行います。db2fenc1ユーザーは分離ユーザーとよばれ、ユーザー定義関数やストアドプロシージャなどを実行するために使用されます。

まずは以下のコマンドでグループを作成します。

[root@sakura db2]# groupadd -g 9999 db2iadm1
[root@sakura db2]# groupadd -g 9998 db2fadm1
[root@sakura db2]#

続いて、以下のコマンドでユーザーを作成します。

[root@sakura db2]# useradd -u 9004 -g db2iadm1 -m -d /home/db2inst1 db2inst1
[root@sakura db2]# useradd -u 9003 -g db2fadm1 -m -d /home/db2fenc1 db2fenc1
[root@sakura db2]#

パスワードも設定しておきます。

[root@sakura db2]# passwd db2inst1
ユーザー db2inst1 のパスワードを変更。
新しいパスワード:
よくないパスワード: このパスワードには一部に何らかの形でユーザー名が含まれています。
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。
[root@sakura db2]#
[root@sakura db2]# passwd db2fenc1
ユーザー db2fenc1 のパスワードを変更。
新しいパスワード:
よくないパスワード: このパスワードには一部に何らかの形でユーザー名が含まれています。
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。
[root@sakura db2]#

いつも通りパスワードが安全ではないと怒られました(*´ω`*)

以下のコマンドでDB2インスタンスを新規作成します。まだNLPackをインストールしていないのでメッセージが英語です。後ほど日本語化します。

[root@sakura db2]# /opt/ibm/db2/V11.1/instance/db2icrt -u db2fenc1 db2inst1
DBI1446I  The db2icrt command is running.


DB2 installation is being initialized.

 Total number of tasks to be performed: 4
Total estimated time for all tasks to be performed: 309 second(s)

Task #1 start
Description: Setting default global profile registry variables
Estimated time 1 second(s)
Task #1 end

Task #2 start
Description: Initializing instance list
Estimated time 5 second(s)
Task #2 end

Task #3 start
Description: Configuring DB2 instances
Estimated time 300 second(s)
Task #3 end

Task #4 start
Description: Updating global profile registry
Estimated time 3 second(s)
Task #4 end

The execution completed successfully.

For more information see the DB2 installation log at "/tmp/db2icrt.log.14992".
DBI1070I  Program db2icrt completed successfully.


[root@sakura db2]#

/etc/servicesにDB2インスタンスの待ち受けポートを指定します。

/etc/services
db2c_db2inst1   50000/tcp

上の項目がなければ、追記してください。

次に先ほど追加したdb2inst1ユーザーになって、サービスの設定などを行います。

db2 update..は、インスタンスが使用するサービス名(/etc/servicesで定義した名前)を指定します。そのあとにdb2setでTCP/IPによる受付とする設定を行います。

[root@sakura db2]# su - db2inst1
最終ログイン: 2018/03/31 (土) 13:15:56 JST日時 pts/0
[db2inst1@localhost ~]$
[db2inst1@localhost ~]$ db2 update dbm cfg using svcename db2c_db2inst1
DB20000I  The UPDATE DATABASE MANAGER CONFIGURATION command completed
successfully.
[db2inst1@localhost ~]$ db2set DB2COMM=TCPIP
[db2inst1@localhost ~]$

最後にDB2を自動起動する設定を行います。ちょっとめんどいです。

[db2inst1@localhost ~]$ db2iauto -on db2inst1
[db2inst1@localhost ~]$ db2set -all
[i] DB2COMM=TCPIP
[i] DB2AUTOSTART=YES
[g] DB2_COMPATIBILITY_VECTOR=MYS
[g] DB2SYSTEM=localhost.localdomain
[db2inst1@localhost ~]$

上のコマンドでDB2AUTOSTARTがYESになっていることを確認します。

[db2inst1@localhost ~]$
[db2inst1@localhost ~]$ db2greg -getinstrec instancename=db2inst1
Retrieved record:
   Service      = |DB2|
   Version      = |11.1.3.3|
   InstanceName = |db2inst1|
   InstancePath = |/home/db2inst1/sqllib|
   Usage        = |N/A|
   StartAtBoot  = 1
   Maintenance  = 0
   InstallPath  = |/opt/ibm/db2/V11.1|
   RemoteProf   = |N/A|
   Comment      = |N/A|
[db2inst1@localhost ~]$

こちらも、StartAtBootが1になっていることを確認します。

自動起動を行うための下記の設定ファイルがあることを確認します。もし、下記のファイルが無ければ作成します。

[root@sakura db2]# ls -la /etc/systemd/system/db2fmcd.service
-rw-r--r-- 1 root root 289  3月 31 05:50 /etc/systemd/system/db2fmcd.service
[root@sakura db2]#

ファイルがない場合は、下記の内容で作成してください。

/etc/systemd/system/db2fmcd.service
# DB2 fault monitor
# Starts fmcd
# Note: any customizations to this file will be lost the next time this is updated

[Unit]
Description=DB2 v11.1.3.3

[Service]
ExecStart=/opt/ibm/db2/V11.1/bin/db2fmcd
KillMode=process
KillSignal=SIGHUP
Restart=always

[Install]
WantedBy=default.target

最後に、スタートアップ起動を有効にします。

[root@sakura ~]# systemctl enable db2fmcd
[root@sakura ~]# systemctl stop db2fmcd
Mar 31 05:54:37 localhost systemd: Stopping DB2 v11.1.3.3...
Mar 31 05:54:38 localhost systemd: Stopped DB2 v11.1.3.3.
[root@sakura ~]#
[root@sakura ~]#
[root@sakura ~]# systemctl start db2fmcd
Mar 31 05:54:43 localhost systemd: Started DB2 v11.1.3.3.
Mar 31 05:54:43 localhost systemd: Starting DB2 v11.1.3.3...
[root@sakura ~]#

systemctlを使わずにインスタンスを直接起動・停止・再起動する場合は下記のようにします。

[root@sakura ~]# su - db2inst1
最終ログイン: 2018/03/31 (土) 14:23:19 JST日時 pts/0
[db2inst1@localhost ~]$
[db2inst1@localhost ~]$ db2stop
SQL1064N  DB2STOP の処理が正常に終了しました。
[db2inst1@localhost ~]$
[db2inst1@localhost ~]$ db2start
SQL1063N  DB2START の処理が正常に終了しました。
[db2inst1@localhost ~]$

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください