【備忘録】Db2 アップグレード手順（v11.5GA → v11.5MOD5） 

# 1. はじめに

今回は**Db2 v11.5GA** から **v11.5MOD5** への アップグレード手順をまとめます。

# 2. 準備

今回は**Db2 v11.5GA** から **v11.5MOD5** への アップグレード手順 を確認するため、 
あらかじめ Linux環境に Db2 v11.5GA を導入し、インスタンス *db2inst1* を作成しています。

さらに、データベース *testdb* を作成し、
以下のようなテーブル *tbl1* を準備しておきます。


```
[db2inst1@localhost ~]$ db2 "SELECT * FROM tbl1"

COL1        COL2
----------- ----
          1 A   

  1 record(s) selected.
```

# 3. アップグレード作業

## 3-1. Db2 プロセス 停止

### ① Db2 停止

**db2stop** コマンドを実行し、Db2を停止します。

実行例は 以下の通りです。

```
[db2inst1@localhost ~]$ db2stop 2020-10-28 18:03:10 0 0 SQL1064N DB2STOP processing was successful. SQL1064N DB2STOP processing was successful.
```

### ②  インスタンス自動開始 無効化

**db2iauto** コマンドを実行し、
インスタンス *db2inst1*の 自動開始を *無効* にします。

コマンドは以下の通りです。

```
db2iauto -off <インスタンス名>
```

Knowledge Center：db2iauto - インスタンスの自動開始コマンド
https://www.ibm.com/support/knowledgecenter/ja/SSEPGG_11.5.0/com.ibm.db2.luw.admin.cmd.doc/doc/r0011817.html

実行例は 以下の通りです。

```
[db2inst1@localhost ~]$ db2iauto -off db2inst1
```


## 3-2. Db2 v11.5MOD5 導入

**installFixPack** コマンド を実行し、
Db2 v11.5GA と 同じレベルで Db2 v11.5MOD5 を導入します。

コマンドは以下の通りです。

```
installFixPack -b <Db2 現行インストール・パス> -p <Db2 フィックスパック・インストール・パス>
```

Knowledge Center：installFixPack - インストール済み Db2 データベース製品の更新コマンド 
https://www.ibm.com/support/knowledgecenter/ja/SSEPGG_11.5.0/com.ibm.db2.luw.admin.cmd.doc/doc/r0023700.html

実行例は以下の通りです。

```
[root@localhost server_dec]# pwd
/work/v11.5mod5/server_dec


[root@localhost server_dec]# ./installFixPack -b /opt/ibm/db2/V11.5/ -p /opt/ibm/db2/V11.5mod5
DB2 データベース「Server」 の要件と一致しませんでした。バージョン:「11.5.5.0」。 

現行システムで満たされていない前提条件の要約: 

   DBT3514W  db2prereqcheck ユーティリティーは次の 32 ビット・ライブラリー・ファイルの検出に失敗しました: 「/lib/libpam.so*」。 


DBI1017I    installFixPack は、/opt/ibm/db2/V11.5/ の位置にインストールされたデータベース製品を更新中です。  


DB2 インストールを初期化しています。

 実行されるタスクの合計数: 52 
実行される全タスクの合計見積もり時間: 2484 秒 

タスク #1 を開始します。
説明: システムの準備 
見積もり時間 120 秒 
タスク #1 が終了しました。 

タスク #2 を開始します。
説明: root 特権を使用したインストールのための基本クライアント・サポート 
見積もり時間 3 秒 
タスク #2 が終了しました。 

タスク #3 を開始します。
説明: 製品メッセージ - 英語 
見積もり時間 14 秒 
タスク #3 が終了しました。 

タスク #4 を開始します。
説明: 基本クライアント・サポート 
見積もり時間 300 秒 
タスク #4 が終了しました。 

タスク #5 を開始します。
説明: Java ランタイム・サポート 
見積もり時間 216 秒 
タスク #5 が終了しました。 

タスク #6 を開始します。
説明: Java ヘルプ (HTML) - 英語 
見積もり時間 7 秒 
タスク #6 が終了しました。 

タスク #7 を開始します。
説明: root 特権を使用したインストールのための基本サーバー・サポート 
見積もり時間 6 秒 
タスク #7 が終了しました。 

タスク #8 を開始します。
説明: Global Secure ToolKit 
見積もり時間 75 秒 
タスク #8 が終了しました。 

タスク #9 を開始します。
説明: Java サポート 
見積もり時間 11 秒 
タスク #9 が終了しました。 

タスク #10 を開始します。
説明: SQL プロシージャー 
見積もり時間 3 秒 
タスク #10 が終了しました。 

タスク #11 を開始します。
説明: ICU ユーティリティー 
見積もり時間 59 秒 
タスク #11 が終了しました。 

タスク #12 を開始します。
説明: Java 共通ファイル 
見積もり時間 18 秒 
タスク #12 が終了しました。 

タスク #13 を開始します。
説明: 基本サーバー・サポート 
見積もり時間 594 秒 
タスク #13 が終了しました。 

タスク #14 を開始します。
説明: コントロール・センター・ヘルプ (HTML) - 英語 
見積もり時間 13 秒 
タスク #14 が終了しました。 

タスク #15 を開始します。
説明: Relational wrappers 共通 
見積もり時間 3 秒 
タスク #15 が終了しました。 

タスク #16 を開始します。
説明: DB2 データ・ソース・サポート 
見積もり時間 6 秒 
タスク #16 が終了しました。 

タスク #17 を開始します。
説明: ODBC データ・ソース・サポート 
見積もり時間 309 秒 
タスク #17 が終了しました。 

タスク #18 を開始します。
説明: Teradata データ・ソース・サポート 
見積もり時間 3 秒 
タスク #18 が終了しました。 

タスク #19 を開始します。
説明: Spatial Extender サーバー・サポート 
見積もり時間 21 秒 
タスク #19 が終了しました。 

タスク #20 を開始します。
説明: 科学的データ・ソース 
見積もり時間 5 秒 
タスク #20 が終了しました。 

タスク #21 を開始します。
説明: JDBC データ・ソース・サポート 
見積もり時間 267 秒 
タスク #21 が終了しました。 

タスク #22 を開始します。
説明: IBM Software Development Kit (SDK) for Java(TM) 
見積もり時間 49 秒 
タスク #22 が終了しました。 

タスク #23 を開始します。
説明: DB2 LDAP サポート 
見積もり時間 4 秒 
タスク #23 が終了しました。 

タスク #24 を開始します。
説明: DB2 インスタンス・セットアップ・ウィザード 
見積もり時間 23 秒 
タスク #24 が終了しました。 

タスク #25 を開始します。
説明: 構造化ファイル・データ・ソース 
見積もり時間 5 秒 
タスク #25 が終了しました。 

タスク #26 を開始します。
説明: 統合フラッシュ・コピー・サポート 
見積もり時間 3 秒 
タスク #26 が終了しました。 

タスク #27 を開始します。
説明: Oracle データ・ソース・サポート 
見積もり時間 4 秒 
タスク #27 が終了しました。 

タスク #28 を開始します。
説明: コネクト・サポート 
見積もり時間 3 秒 
タスク #28 が終了しました。 

タスク #29 を開始します。
説明: アプリケーション・データ・ソース 
見積もり時間 4 秒 
タスク #29 が終了しました。 

タスク #30 を開始します。
説明: Spatial Extender クライアント 
見積もり時間 3 秒 
タスク #30 が終了しました。 

タスク #31 を開始します。
説明: SQL Server データ・ソース・サポート 
見積もり時間 4 秒 
タスク #31 が終了しました。 

タスク #32 を開始します。
説明: 通信サポート - TCP/IP 
見積もり時間 3 秒 
タスク #32 が終了しました。 

タスク #33 を開始します。
説明: 基本アプリケーション開発ツール 
見積もり時間 32 秒 
タスク #33 が終了しました。 

タスク #34 を開始します。
説明: DB2 更新サービス 
見積もり時間 4 秒 
タスク #34 が終了しました。 

タスク #35 を開始します。
説明: 並列拡張機能 
見積もり時間 3 秒 
タスク #35 が終了しました。 

タスク #36 を開始します。
説明: EnterpriseDB コード 
見積もり時間 3 秒 
タスク #36 が終了しました。 

タスク #37 を開始します。
説明: レプリケーション・ツール 
見積もり時間 59 秒 
タスク #37 が終了しました。 

タスク #38 を開始します。
説明: サンプル・データベース・ソース 
見積もり時間 4 秒 
タスク #38 が終了しました。 

タスク #39 を開始します。
説明: itlm 
見積もり時間 3 秒 
タスク #39 が終了しました。 

タスク #40 を開始します。
説明: DB2 Text Search 
見積もり時間 107 秒 
タスク #40 が終了しました。 

タスク #41 を開始します。
説明: Command Line Processor Plus 
見積もり時間 7 秒 
タスク #41 が終了しました。 

タスク #42 を開始します。
説明: Sybase データ・ソース・サポート 
見積もり時間 3 秒 
タスク #42 が終了しました。 

タスク #43 を開始します。
説明: Informix データ・ソース・サポート 
見積もり時間 4 秒 
タスク #43 が終了しました。 

タスク #44 を開始します。
説明: フェデレーテッド・データ・アクセス・サポート 
見積もり時間 3 秒 
タスク #44 が終了しました。 

タスク #45 を開始します。
説明: ファースト・ステップ 
見積もり時間 3 秒 
タスク #45 が終了しました。 

タスク #46 を開始します。
説明: DB2 Server Edition 用製品シグニチャー 
見積もり時間 6 秒 
タスク #46 が終了しました。 

タスク #47 を開始します。
説明: Guardium Installation Manager クライアント 
見積もり時間 36 秒 
タスク #47 が終了しました。 

タスク #48 を開始します。
説明: DB2 ライブラリー・パスの設定 
見積もり時間 180 秒 
タスク #48 が終了しました。 

タスク #49 を開始します。
説明: 制御タスクの実行 
見積もり時間 20 秒 
タスク #49 が終了しました。 

タスク #50 を開始します。
説明: グローバル・レジストリーの更新 
見積もり時間 20 秒 
タスク #50 が終了しました。 

タスク #51 を開始します。
説明: db2ls および db2greg リンクの更新 
見積もり時間 1 秒 
タスク #51 が終了しました。 

タスク #52 を開始します。
説明: DB2 ライセンスの登録 
見積もり時間 5 秒 
タスク #52 が終了しました。 

正常に実行が完了しました。

詳しくは、「/tmp/installFixPack.log.14253」にある DB2
インストール・ログを参照してください。

```


## 3-3. インスタンス更新


### ① 更新
db2iupdtコマンドを実行し、インスタンスを更新します。

コマンドは 以下の通りです。

```
db2iupdt <インスタンス名>
```

Knowledge Center：db2iupdt - インスタンスの更新コマンド https://www.ibm.com/support/knowledgecenter/ja/SSEPGG_11.5.0/com.ibm.db2.luw.admin.cmd.doc/doc/r0002060.html


実行例は以下の通りです。

```
[root@localhost instance]# pwd
/opt/ibm/db2/V11.5mod5/instance

[root@localhost instance]# ./db2iupdt db2inst1
DBI1446I  The db2iupdt 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/db2iupdt.log.29985".
DBI1070I  Program db2iupdt completed successfully.
```

### ② 確認

インスタンス *db2inst1* にスイッチし、
**db2level** コマンドを実行し、
インスタンスが v11.5MOD5に 更新されたことを確認します。


実行例は以下の通りです。

```
[root@localhost instance]# su - db2inst1
最終ログイン: 2021/01/20 (水) 18:03:50 JST日時 pts/1

[db2inst1@localhost ~]$ db2level
DB21085I  This instance or install (instance name, where applicable: 
"db2inst1") uses "64" bits and DB2 code release "SQL11055" with level 
identifier "0606010F".
Informational tokens are "DB2 v11.5.5.0", "s2011011400", "DYN2011011400AMD64", 
and Fix Pack "0".
Product is installed at "/opt/ibm/db2/V11.5mod5".
```

## 3-4. データベースのシステムカタログオブジェクト更新


### ① 更新

**db2updv115** コマンドを実行し、
データベース・システム・カタログを更新します。

コマンドは以下の通りです。

```
 db2updv115 -d <データベース名>
```

Knowledge Center：db2updv115 - バージョン 11.5 モディフィケーション・パックへのデータベース更新コマンド https://www.ibm.com/support/knowledgecenter/ja/SSEPGG_11.5.0/com.ibm.db2.luw.admin.cmd.doc/doc/r0054449.html


実行例は以下の通りです。


```
[db2inst1@localhost ~]$ db2updv115 -d testdb


_________________________________________________________________________     
                                                                              
                    _____   DB2 Service Tools   _____                         
                                                                              
                            I      B      M                                   
                                                                              
                               db2updv115                                      
                                                                              
   This tool is a service utility designed to update a DB2 Version 11.5       
   database to the current fix pack level.                                    
                                                                              
_________________________________________________________________________     


DB2 Universal Database Version 11.5, 5622-044 (c) Copyright IBM Corp. 2017
Licensed Material - Program Property of IBM
IBM DATABASE 2 Database update to current fix pack tool

db2updv115 completed successfully for database 'testdb'. 

```

### ② 確認

**db2start** コマンドで Db2 を開始、
データベース *testdb*に接続し、
データベースが 更新されたことを確認します。

実行例は以下の通りです。

```
[db2inst1@localhost ~]$ db2start
01/22/2021 11:43:17     0   0   SQL1063N  DB2START processing was successful.
SQL1063N  DB2START processing was successful.

[db2inst1@localhost ~]$ db2 connect to testdb

   Database Connection Information

 Database server        = DB2/LINUXX8664 11.5.5.0
 SQL authorization ID   = DB2INST1
 Local database alias   = TESTDB
```

データベース *testdb* 内に テーブル*tbl1*が 存在することを確認します。

実行例は以下の通りです。


```
[db2inst1@localhost ~]$ db2 list tables

Table/View                      Schema          Type  Creation time             
------------------------------- --------------- ----- --------------------------
TBL1                            DB2INST1        T     2021-01-22-11.30.47.531099

  1 record(s) selected.

[db2inst1@localhost ~]$ db2 "select * from TBL1"

COL1        COL2
----------- ----
          1 a   

  1 record(s) selected.
```

## 3-5. インスタンス自動開始 有効化

**db2iauto** コマンドを実行し、
インスタンス *db2inst1* の自動開始を再び*有効*にします。

コマンドは以下の通りです。

```
db2iauto -on <インスタンス名>
```

Knowledge Center：db2iauto - インスタンスの自動開始コマンド
https://www.ibm.com/support/knowledgecenter/ja/SSEPGG_11.5.0/com.ibm.db2.luw.admin.cmd.doc/doc/r0011817.html



実行例は 以下の通りです。

```
[db2inst1@localhost ~]$ db2iauto -on db2inst1
```

# 4. おわりに

今回は、**Db2 v11.5GA** から **v11.5MOD5** への アップグレード手順をまとめました。

Db2 の操作方法・ アップグレード作業の詳細については、Knowledge Centerでも確認することができます。

# 参考情報

Knowledge Center：Db2 データベース環境におけるフィックスパックの適用
https://www.ibm.com/support/knowledgecenter/ja/SSEPGG_11.5.0/com.ibm.db2.luw.qb.server.doc/doc/t0006352.html