Db2 V12.1 Starter Editionの制限事項（バックアップ・リカバリまわりのTechNote）


# Db2 12.1からのDb2 Starter Editionの特徴
Db2 LUW (Db2 for Linux, UNIX and Windows) の新しいバージョンである「Db2 12.1」が2024年11月よりGAになっていますが、Db2 12.1から始めて提供された新しいエディションが「Db2 Starter Edition」です。

Db2 12.1からは、無料の「Db2 Community Edition」が「非生産環境(非プロダクション環境)でのみ使用可能」となったこともあり、Db2 Starter Edtitionはその後継として、規模の小さいデータベース環境に適したエディションになっています。

- Db2 LUW のテクニカル・フラッシュ[「Db2 V12.1 公開のお知らせ」](https://www.ibm.com/support/pages/node/7177438)より引用：

>既存のDb2 Advanced Edition、Db2 Standard Edition に加えて、新エディション Db2 Starter Edition が登場
>* 新しいアプリケーションやサービスのコア・データ管理機能を必要とするユーザー向けエディション
    * 1 台の物理サーバーまたは仮想サーバーにつき最大 4 コア、最大 16 GB のメモリの容量制限あり、使用制限機能あり
    * 上位のDb2エディションにシームレスにアップグレード可能



# Db2 12.1からのDb2 Starter Editionの制限事項（バックアップ・リカバリまわりのTechNote）


Db2 Starter Editionのバックアップ・リカバリまわりの制限事項をまとめたTechNoteが出ています。

-[[Db2] Db2 Starter Edition is restricted to use Point-in-time recovery.](
https://www.ibm.com/support/pages/node/7229990)

>Db2 Starter Edition users cannot execute the following operations:
>  - Rollforward database any time other than end of backup
>  - Tablespace backup
>  - Tablespace restore, including restore from incremental or incremental delta backup.
>  - RECOVER command
>  - db2inidb except 'as snapshot'


制限事項として以下になります。
- データベース・レベルのフル・バックアップとリストアのみが可能。rollforwardは end of backupのみが可能。

注）内部的に表スペース・レベルの回復や特定時刻へのrollforwardが必要な操作は制限事項に該当します。具体的には以下のオペレーションが制限されます。
- 表スペース・バックアップ
- 表スペース・リストア
- 増分/差分バックアップからのリストア
- RECOVERコマンド
- 'as snapshot'以外のdb2inidb




# 制限事項の確認

前記事で、「バックアップ＆リストア（ポイント・イン・タイム・リカバリ）」について、
 - 時刻を指定したロールフォワード（ポイント・イン・タイム・リカバリ）
 - END OF LOGS（ログの最後まで）を指定したロールフォワード

は、制限事項に該当するためSQL8029Nとなり実行できないことを確認しました。

https://qiita.com/camp07/items/7d226f1c3ebe68234f40




今回は、その他のオペレーションも制限事項にあたるメッセージが出ることを確認します。



### 環境
[前記事](https://qiita.com/camp07/items/7d226f1c3ebe68234f40)と同じ環境です。
- RHEL 9.4 (4コア、16Gメモリ）
- [Db2 fixpackサイト](https://www.ibm.com/support/pages/download-db2-fix-packs-version-db2-linux-unix-and-windows)よりDb2 12.1.1(Db2 Version 12.1 Mod 1 Fix Pack 0) server fixpackをダウンロードしてDb2をインストール
```
$ db2level
DB21085I  This instance or install (instance name, where applicable:
"db2inst1") uses "64" bits and DB2 code release "SQL12011" with level
identifier "02020110".
Informational tokens are "DB2 v12.1.1.0", "s2412161033", "DYN2412161033PPCLE",
and Fix Pack "0".
Product is installed at "/opt/ibm/db2/V12.1".
```
- Db2 Community Editionのライセンスを除去し、Db2 Starter Editionのライセンス・ファイル(db2starter_vpc.lic)を登録

Db2を導入すると、デフォルトでDb2 Community Editionのライセンスが含まれているため、Db2 Community Editionのライセンスは除去し、Db2 Starter Editionのライセンスを登録します。
```
$ db2licm -r db2dec

LIC1403I  License removed successfully.


$ db2licm -a db2starter_vpc.lic

LIC1402I  License added successfully.


$ db2licm -l
Product name:                     "DB2 Starter Edition"
License type:                     "Virtual Processor Core"
Expiry date:                      "Permanent"
Product identifier:               "db2starter"
Version information:              "12.1"
Max amount of memory (GB):        "16"
Max number of cores:              "4"
Enforcement policy:               "Hard Stop"
Features:
IBM DB2 Performance Management Offering:              "Not licensed"
```
- Db2付属のSAMPLEデータベースを作成
```
$ db2sampl -sql

  Creating database "SAMPLE"...
  Connecting to database "SAMPLE"...
  Creating tables and data in schema "DB2INST1"...

  'db2sampl' processing complete.

```

- SAMPLEデータベースの構成パラメーターを、デフォルトの循環ロギングから、ログを保存するアーカイブ・ロギングに変更
```
 $ db2 update db cfg for sample using LOGARCHMETH1 LOGRETAIN
```

### 表スペース・バックアップ/リストアの制限を確認

```
$ db2 "backup db sample tablespace(USERSPACE1)"
SQL8029N  A valid license key cannot be found for the requested functionality.
Reference numbers: "10".

$ db2 "restore db sample tablespace(USERSPACE1) from /work/backup taken at 20250324033325"
SQL8029N  A valid license key cannot be found for the requested functionality.
Reference numbers: "10".
```




### 増分/差分バックアップからのリストアの制限を確認

```
$ db2 restore db sample incremental automatic taken at 20250407075823
SQL8029N  A valid license key cannot be found for the requested functionality.
Reference numbers: "10".
```

### RECOVERコマンドの制限を確認


```
$ db2 recover db sample to end of logs
SQL8029N  A valid license key cannot be found for the requested functionality.
Reference numbers: "10".
```



いずれもSQL8029N 「有効なライセンス・キーが登録されていないフィーチャーまたは機能が使用されている」というメッセージで、Db2 Starter Editionの制限事項に該当しているという予想通りのメッセージが出ました。



### 注意点まとめ
Db2 Starter Editionでは、データベース・レベルのフル・バックアップとリストアのみが可能で、END OF BACKUPへのロールフォワードのみがサポートされます。

※その他の制限事項にあたる機能が必要な場合は、ライセンス・ファイルを入れ替えることによって、上位のDb2エディションにシームレスにアップグレード可能です。




# 参考
###  Db2 12.1 マニュアルのトップページ
- 日本語
    - https://www.ibm.com/docs/ja/db2/12.1
- 英語
    - https://www.ibm.com/docs/en/db2/12.1
    - 最新情報は英語で更新されていますので英語で確認するのがお薦めです

### Db2 12.1 システム要件
稼働環境の前提要件等の確認はこちらです（英語）
- [System requirements for IBM Db2 for Linux, UNIX, and Windows](
https://www.ibm.com/support/pages/system-requirements-ibm-db2-linux-unix-and-windows)

### Db2 Fixpacks ダウンロードサイト

- [Download Db2 fix packs by version for Db2 for Linux, UNIX and Windows](
https://www.ibm.com/support/pages/download-db2-fix-packs-version-db2-linux-unix-and-windows)



### 日本のサポート部門によるFAQ集

こちらのサイトには、IBMのソフトウェア・テクニカル・サポートによく寄せられる質問 (FAQ) の一覧があり、非常に有用な情報が数多く記載されています。

[[Db2] Db2 サポートによく寄せられる質問](https://www.ibm.com/support/pages/node/471995)