WSLの上でUbuntu, Db2を動かす

## はじめに
当記事は、2021年6月に執筆したものだが、その後WSLの導入方法の簡素化や、Db2のフィックスレベルアップなどで、現状と合わない部分が出てきている。そこで、Windosw 11と、最新のDb2レベルを前提とした記事を以下に作成した。

[Windows 11 WSL2でUbuntu, Db2を動かす](https://qiita.com/kayokok/items/6aaf13c7b65c9c6eb636)

Windows 10 バージョン 2004 以上 (ビルド 19041 以上) または Windows 11 を使用している場合には、新記事を参照していただきたい。
それ以前のWindowsレベルを使用している場合は、この記事の手順が当てはまるので、こちらもしばらく置いておく。ただし、参照先リンクや、Db2のレベルなど、一部記述が古くなっているところは、青字で訂正を入れている。ダウンロード可能なDb2のレベルが更新され、サポートOSのレベルも上がっているが、導入手順に変更は無いため、実行例はそのまま使用する。新規にDb2モジュールをダウンロードした場合は、フィックスレベルの数字などが異なるが、適宜読み替えていただきたい。
***

手軽に使えるDb2 on Linuxテスト環境が欲しかったので、WSL(windows Subsystem for Linux)で、Ubuntu 18.04+Db2 V11.5を動かしてみた。
手順は簡単で、動作も軽いため、ちょっとしたテストに便利だと思う。
以下、環境構築手順を説明する。
Db2が使えるようになるまでの、大まかなステップは以下のとおりである。
[1. Db2の準備](#1-db2の準備)：Db2の導入モジュールを入手する
[2. WSL2環境の構築](#2-wsl2環境の構築)：WSL2を使用可能にし、Ubuntuの導入、カストマイズを行う
[3. Db2の導入](#3-db2の導入)：1で入手したDb2モジュールをUbuntuに導入する
[4. Db2インスタンスとデータベースの作成](#4-db2インスタンスとデータベースの作成)：Db2のインスタンスおよびSAMPLEデータベースを作成する

# 1. Db2の準備
## (1). Db2 11.5 Community Editionのダウンロード
Db2には、有償版(Advanced/Standard/Baseの各Edition)と、無償版(Community Edition)がある。
機能はどれも変わらない。無償版はサポートの対象にならない他、使用できるマシンの制限(CPU4コア、メモリ16GB以下)がある。
自分で使うには十分のため、Community Editionを導入することにする。
Community Editionは、ここからダウンロードできる。
 ~~IBM Db2 Database: 使ってみる~~ 
[IBM Db2 Database](https://www.ibm.com/jp-ja/products/db2/database)
![Db2 Database.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189034/99017551-e8ac-37cb-c9b1-42974b16cf18.png)

「IBM Db2 Community Editionを無償でダウンロード」をクリックすると、名前や、会社名などの登録を求められる。それをクリアするとダウンロードページにたどり着く。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189034/672686cc-ea85-2cfa-5fea-44c5ae018e16.png)

今回導入したいのは、64bitのLinux版なので、Linux(x64)のDownloadを選択する。
~~ライセンスに同意を求められるので、"I Agree"にチェックして先に進むと、ご丁寧にも「IBM Db2 Download Center Agreement」というライセンス同意書のPDFファイルがダウンロードされて、元のダウンロードページに戻る。
戻ったところで、改めてDownloadを押すと、二度目の正直で、~~ 導入モジュール`v11.5.5_linuxx64_server_dec.tar.gz`　がダウンロードされる。
<font color="blue">2023年9月時点では、ダウンロードバージョンは、11.5.8になっており、導入モジュール v11.5.8_linuxx64_server_dec.tar.gz がダウンロードされる。
以下、ダウンロードのタイミングにより、バージョンが異なる可能性があるが、適宜、実際にダウンロードされたものを元に、記事を読み替えていただきたい。
</font>

ここでは、Windowsの以下のパスに置いておく。

```
C:\temp\v11.5.5_linuxx64_server_dec.tar.gz
```

当記事執筆(2021年6月)時点で、最新のDb2バージョン、モディフィケーション、フィックスパックレベルは、Db2 V11.5 Mod6である。(略して、Db2 11.5.6という)
Community Editionは、必ずしもフィックスパック公開のたびに更新されるわけではないが、ダウンロードイメージは11.5.5なので、ほぼ最新である。

ちなみに、Db2のフィックスパック一覧はここにあるので、現在の最新バージョン、モディフィケーション、フィックスパックレベルを確認したい場合は、チェックするとよい。
この文書のリンク先からフィックスパックをダウンロードすることもできる。
[Download Db2 Fix Packs by version for DB2 for Linux, UNIX and Windows](https://www.ibm.com/support/pages/node/318421)

##(2). Db2導入前提の確認
Linux環境を構築する前に、Db2の導入前提を確認しておく。
導入前提はここに記載されている。
[System requirements for IBM Db2 for Linux, UNIX, and Windows](https://www.ibm.com/support/pages/node/612045)

今回導入するのは、Db2 V11.5.5なので、Db2 V11.5.5 Advanced Editionなどを選ぶ。上述のように、Advanced Editionも、Community Editionも機能の差は無く、前提も同じなので、エディション名は気にしなくてよい。
現時点でサポートしているLinuxは、以下とわかる。(導入する前に、必ず確認のこと。)
- CentOS 8.1
- RHEL 7.6以上、または8.1以上
- SLES 12 SP4以上、または15 Sp1以上
- Ubuntu 16.04 LTS, または18.04 LTS

<font color="blue">上述のとおり、ダウンロードされるモジュールは、11.5.8になっており、サポートOSレベルも、Ubuntuの場合、20.04 LTSが追加されている。この記事では、旧手順のままの記載になっているが、実際に導入する場合には、前提を確認して、最新のLinuxディストリビューションを入手していただきたい。<font/>

H/W前提としては、メモリ1GB、ディスクは導入モジュールの展開分なども合わせて10GB程度の空きは欲しい。

#2. WSL2環境の構築
WSL(Windows Subsystem for Linux)を使えば、Windows 10上に簡単にLinux環境を構築できる。
WSLの導入方法については、以下の文書を見る。
[Windows 10 用 Windows Subsystem for Linux のインストール ガイド]
(https://docs.microsoft.com/ja-jp/windows/wsl/install-win10)

この文書では、インストール方法として、二つの選択肢が挙げられている。
・簡略化されたインストール(プレビューリリース)
・手動インストール
ここでは、手動インストールを用いてWSLを導入する。
##(1). WSLの手動インストール
###手順 1 - Linux 用 Windows サブシステムを有効にする
PoswerShellを管理者として実行し、以下のコマンドを実行。

```posh
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
```

###手順 2 - WSL 2 の実行に関する要件を確認する

WSL2の実行には、(x64 システムの場合) Windows 10 バージョン 1903 以降、ビルド 18362 以上が必要。1903は、2019年5月のアップデートで、2020年12月にサポート切れしているため、まめにWindows Updateしている環境では心配することはない。(当記事執筆は2021年6月)

###手順 3: 仮想マシンの機能を有効にする

管理者モードのPowerShellにて以下のコマンドを実行。

```posh
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
```

ここでPCを再起動する。

###手順 4 - Linux カーネル更新プログラム パッケージをダウンロードして実行する

x64マシンの場合、ダウンロード元はこちら。
[x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージ](https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi)

wsl_update_x64.msiというパッケージがダウンロードされるので、管理者モードで実行する。

###手順 5 - WSL 2 を既定のバージョンとして設定する

管理者モードのPowerShellで以下を実行する。

```posh
wsl --set-default-version 2
```

###手順 6 - Ubuntu 18.04の導入

いよいよLinuxディストリビューションを[Microsoft Store](https://aka.ms/wslstore)からダウンロードして導入する。
Microsoft Storeには、Ubuntu、SUSE、Debianなどが上がっているが、先ほど[1. Db2の準備 (2).Db2導入前提の確認](##(2). Db2導入前提の確認)で調べた、Db2のサポート対象OSから選択する。
ここでは、Ubuntu 18.04 LTSを選択する。
[Ubuntu 18.04 LTS](https://www.microsoft.com/ja-jp/p/ubuntu-1804-lts/9n9tngvndl3q?rtc=1&activetab=pivot:overviewtab)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189034/6a4a916b-8e00-2b08-844f-6bd097fa16ba.png)

「入手」を押すと、「複数のデバイスで使用する　Microsoftアカウントでサインインし、これを互換性のあるデバイスで使用します。」というボックスが表示されるが、単純に自分のPC上でUbuntuを動かすだけなら、「必要ありません」を押して先に進むと、ダウンロードが始まる。

ダウンロードが完了すると、「起動」ボタンが表示されるので、これを押してUbuntuを起動する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189034/463387b5-b274-6671-d40b-9c254e12e8a6.png)

最初に起動したところで、デフォルトユーザーIDとパスワードの登録を求めるプロンプトが出されるので、これに応えてユーザーIDを作成する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189034/b54c75fa-2a67-ad80-a0ef-cd991ea8a456.png)
以上で、UbuntuのWSLの使用可能化から、Ubuntuの導入までが完了した。

##(2). Ubuntuパッケージの更新と日本語化
Ubuntuを導入しただけの状態では、ロケールがCなので、Ubutuのパッケージを最新化して、日本語化する。
この記事を参考にさせていただいた。
[WSLのUbuntu環境を日本語化する](https://www.atmarkit.co.jp/ait/articles/1806/28/news043.html)

###手順 1 - パッケージを最新にする
まずパッケージリストを更新する。

```shell-session
sudo apt update
```

リストにしたがって、パッケージを更新する。

```shell-session
sudo apt upgrade
```

###手順 2 - 日本語パックを導入する

```shell-session
sudo apt -y install language-pack-ja
```

###手順 3 - ロケールを日本語に設定する

```shell-session
sudo update-locale LANG=ja_JP.UTF8
```


ここで、Ubuntuの再起動を行う。
Ubuntuのウィンドウを、exitコマンドで閉じ、Windowsのアプリケーションリストから、「Ubuntu 18.04 LTS」を選択して起動する。
コマンドプロンプトで、localeコマンドを実行し、ロケールがja_JPに変更されていることを確認する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189034/61ca8bb1-6942-a461-bca6-597b64542d37.png)
ここまでで、Ubuntu 18.04環境は一応完成。

#3. Db2の導入
Db2の導入作業は、以下のステップからなる。
1. Db2前提パッケージの導入
2. Db2の導入

##(1). Db2前提パッケージの導入
Db2では、以下のパッケージが必要であるため、これらを導入しておく。
- ksh
- libaio1
- binutils
- liblogger-syslog-perl
- zlib1g-dev
- libpam0g:i386 32bit版のlibpam. 64bit版のlibpamは標準で導入されているが、32bitの非SQLルーチンや、32bit JDKを用いたType2 JDBCアプリケーションがある場合は必要。
- libstdc++6:i386 32bitアプリケーション用

Db2 V11.5の必要ライブラリについては、こちらを参照。
[Db2 セットアップ・ウィザードによる Db2 サーバーのインストール (Linuxおよび UNIX)](https://www.ibm.com/docs/ja/db2/11.5?topic=idds-installing-db2-servers-using-db2-setup-wizard-linux-unix)

###手順 1 - 32bitライブラリの追加を可能にする
上述のように、Db2は一部32bit版のライブラリを前提とする。しかし、32bit版のライブラリは、単にapt-get installするだけでは導入されないので、32bitアーキテクチャのライブラリが許容されるようにして、ライブラリ情報を更新する。
以下は、Ubuntuのコマンドウィンドウで実行する。

```shell-session
sudo dpkg --add-architecture i386
sudo apt-get update
```

###手順 2 - パッケージの導入
以下のコマンドを実行し、必要なパッケージを導入する。

```shell-session
sudo apt -y install ksh
sudo apt -y install libaio1 
sudo apt -y install binutils
sudo apt -y install zlib1g-dev
sudo apt -y install liblogger-syslog-perl
sudo apt -y install libpam0g:i386
sudo apt -y install libstdc++6:i386
```

##(2). Db2の導入
Db2の導入は通常rootで実行する。他のユーザーでも可能だが、rootの方が一般的であるので、以下の手順は
`sudo su`
を実行し、rootユーザーとして実行する。

###手順 1 - Db2導入モジュールの解凍
WSLでは、Linuxディストリビューションの中から、WindowsのCドライブが/mnt/cとして参照できる。
[1. Db2の準備 (1). Db2 Community Editionのダウンロード](##(1). Db2 11.5 Community Editionのダウンロード)で、ダウンロードしたモジュールを、
C:\temp\v11.5.5_linuxx64_server_dec.tar.gz
に置いたので、これを、Ubuntu側から/workに解凍する。

```shell-session
mkdir /work
cd /work
tar -zxvf /mnt/c/temp/v11.5.5_linuxx64_server_dec.tar.gz
```

###手順 2 - db2_installの実行
導入モジュールのtar.gzファイルを解凍すると、server_decというディレクトリができる。sever_decの下にある、db2_installコマンドを以下のように実行する。
db2_installコマンドの-L JPパラメータは、日本語パックを導入するための指定である。

```shell-session
cd /work/server_dec
./db2_install -L JP
```
db2_installコマンドを実行すると、最初にいくつかの質問への回答を求められるが、以下のように回答する。
- ライセンスへの同意：yes
- 導入ディレクトリ：デフォルトを受け入れるならyes。変更する場合はnoと答えて、新しいパス名を指定する。
- 導入する製品の種類：SERVER
- pureScale導入の有無：no

以下は実行例である。

```
root@DESKTOP-HTE8SVH:/work/server_dec# ./db2_install -L JP
db2/license ディレクトリーにある使用許諾契約書ファイルをお読みください。

*******************************************************
ご使用条件に同意する場合は、「yes」と入力します。同意しない場合は、 「no」と入力してインストール処理をキャンセルします。[yes/no]
yes


製品をインストールするデフォルト・ディレクトリー - /opt/ibm/db2/V11.5

***********************************************************
デフォルト・ディレクトリー (/opt/ibm/db2/V11.5) にインストールしますか? [yes/no]
yes


DB2 製品をインストールために次の中からキーワードを 1 つ指定してください。

  SERVER
  CONSV
  CLIENT
  RTCL

製品名を再度表示するには「help」と入力してください。

終了するには「quit」と入力してください。

***********************************************************
SERVER
***********************************************************
DB2 pureScale Feature をインストールしますか? [yes/no]
no
DB2 インストールを初期化しています。

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

タスク #1 を開始します。
説明: ご使用条件受諾のチェック
見積もり時間 1 秒
タスク #1 が終了しました。

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

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

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

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

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

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

　　　　　：
         中略
　　　　　：

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

実行は、警告を出して完了しました。

詳しくは、「/tmp/db2_install.log.21854」にある DB2
インストール・ログを参照してください。
root@DESKTOP-HTE8SVH:/work/server_dec
```

以上で、Db2が導入できた。

#4. Db2インスタンス/SAMPLEデータベースの作成
Db2を使用するには、インスタンスが必要である。
インスタンスは、Db2の起動/停止の単位であり、Linux上では、db2syscというプロセスとして稼働する。
同一OS上に、複数のインスタンスを作成することができる。インスタンスは、同じバージョン、フィックスパックであってもよいし、異なっていてもよい。
一つのインスタンスには、複数のデータベースを作成することができる。
インスタンスを作成するためには、インスタンス用のユーザー(インスタンス・オーナー)を用意する必要がある。インスタンス環境は、インスタンス・オーナーのホームディレクトリに作成される。
インスタンスを作成したら、Db2に付属のスクリプトを実行して、SAMPLEデータベースを作る。自分で作りたいデータベースがあれば、SAMPLEデータベースを作る必要はない。何かデータベースを作成してみて、ちょっとしたSQLを実行確認して、完了である。
##(1). インスタンス用ユーザーの作成
Db2のインスタンスを作成するために、インスタンスオーナーと、フェンスユーザー(プロシージャ実行用ユーザー)を作成する。
インスタンスオーナーのデフォルト名はdb2inst1であるが、ここでは、異なるバージョンのDb2も導入する可能性を考えてバージョン名のついた名前(db2i115)とする。
以下のユーザーID、グループIDを作成する。

| ユーザーの種類        | ユーザー名| UID| グループ名| GID |
|:--------------------:|:---------:|:--:|:--------:|:---:|
| インスタンスオーナー  | db2i115  |1001 |db2iadm1  |1001 |
|  フェンスユーザー     | db2fenc1 |1002 |db2fgrp1  |1002 |

ユーザー名、グループ名には、8文字以下、英小文字、数字、_ (下線) が使用できる。一般のユーザー名は、128文字で、使用可能な記号も多いが、インスタンスオーナーとフェンスユーザーは特別である。GIDは100-65535の範囲で割り振る。
追加したユーザーはデフォルトでは、sudoできない。インスタンスオーナーは特権コマンドを使用したい場合もあるので、sudoグループに追加しておくと便利である。

###手順 1 - グループおよびユーザーの作成
Ubuntu上で以下を実行する。

```shell-session
sudo groupadd -g 1001 db2iadm1
sudo groupadd -g 1002 db2fgrp1
sudo useradd -m -u 1001 -g 1001 -G sudo db2i115
sudo useradd -m -u 1002 -g 1002 db2fenc1
```

##(2). インスタンスの作成
###手順 1 - インスタンス作成コマンドの実行
db2icrtコマンドを実行して、インスタンスを作成する。
インスタンスを作成するコマンド`db2icrt`のシンタックスは、
`db2icrt -u フェンスユーザー名 インスタンス名`
である。

```shell-session
cd /opt/ibm/db2/V11.5/instance
sudo ./db2icrt -u db2fenc1 db2i115
```

以下は実行例。

```
test@DESKTOP-HTE8SVH:/opt/ibm/db2/V11.5/instance$ sudo ./db2icrt -u db2fenc1 db2i115
DBI1446I    db2icrt コマンドの実行中です。


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

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

タスク #1 を開始します。
説明: デフォルト・グローバル・プロファイル・レジストリー変数の設定
見積もり時間 1 秒
タスク #1 が終了しました。

タスク #2 を開始します。
説明: インスタンス・リストの初期化
見積もり時間 5 秒
タスク #2 が終了しました。

タスク #3 を開始します。
説明: DB2 インスタンスの構成
見積もり時間 300 秒
タスク #3 が終了しました。

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

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

詳しくは、「/tmp/db2icrt.log.1243」にある DB2
インストール・ログを参照してください。
DBI1070I    プログラム db2icrt は正常に完了しました。
```

###手順 2 - インスタンスホームの確認
ここで、db2i115ユーザーとして、ホームディレクトリの下にsqllibディレクトリが作成されていることを確認する。
以下は実行例。

```shell-session
test@DESKTOP-HTE8SVH:/opt/ibm/db2/V11.5/instance$ sudo su - db2i115
$ ls -l
合計 4
drwxrwsr-t 20 db2i115 db2iadm1 4096  6月 20 22:57 sqllib
$ ls -la
合計 44
drwxr-xr-x  7 db2i115 db2iadm1 4096  6月 20 22:57 .
drwxr-xr-x  5 root    root     4096  6月 20 22:54 ..
-rw-r--r--  1 db2i115 db2iadm1  220  4月  5  2018 .bash_logout
-rw-r--r--  1 db2i115 db2iadm1 3919  6月 20 22:57 .bashrc
drwxr-xr-x  3 db2i115 db2iadm1 4096  6月 20 22:51 .cache
drwx------  4 db2i115 db2iadm1 4096  6月 20 22:57 .config
drwxr-xr-x  3 db2i115 db2iadm1 4096  6月 20 22:57 .ibm
-rw-r--r--  1 db2i115 db2iadm1 2181  5月 31  2017 .kshrc
drwxr-xr-x  3 db2i115 db2iadm1 4096  6月 20 22:57 .local
-rw-r--r--  1 db2i115 db2fgrp1  974  6月 20 22:57 .profile
-rw-r--r--  1 db2i115 db2iadm1    0  6月 20 22:51 .sudo_as_admin_successful
drwxrwsr-t 20 db2i115 db2iadm1 4096  6月 20 22:57 sqllib
$
```

###手順 3 - Db2インスタンスの起動
インスタンスオーナーのユーザーで、Db2インスタンスを起動してみる。

```shell-session
$ db2start
06/20/2021 23:03:33     0   0   SQL1063N  DB2START の処理が正常に終了しました。
SQL1063N  DB2START の処理が正常に終了しました。
```

稼働プロセスの一覧を見ると、db2syscプロセスが起動している。

```shell-session
$ ps -ef | grep db2
root     11588  1089  0 23:00 pts/0    00:00:00 sudo su - db2i115
root     11589 11588  0 23:00 pts/0    00:00:00 su - db2i115
db2i115  11590 11589  0 23:00 pts/0    00:00:00 -su
root     11673  1088  0 23:03 pts/0    00:00:00 db2wdog 0 [db2i115]
db2i115  11675 11673  0 23:03 pts/0    00:00:00 db2sysc 0
root     11681 11673  0 23:03 pts/0    00:00:00 db2ckpwd 0
root     11682 11673  0 23:03 pts/0    00:00:00 db2ckpwd 0
root     11683 11673  0 23:03 pts/0    00:00:00 db2ckpwd 0
db2i115  11685 11673  0 23:03 pts/0    00:00:00 db2vend (PD Vendor Process - 1) 0
db2i115  11693 11673  0 23:03 pts/0    00:00:00 db2acd 0 ,0,0,0,1,0,0,00000000,0,0,0000000000000000,0000000000000000,00000000,00000000,00000000,00000000,00000000,00000000,0000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,0000000400000000,0000000000000000,0000000000000000,1,0,0,,,,,a89e04,14,1e014,2,0,1,0000000000041fc0,0x240000000,0x240000000,1600000,3,2,1c
db2i115  11698 11590  0 23:04 pts/0    00:00:00 ps -ef
db2i115  11699 11590  0 23:04 pts/0    00:00:00 grep db2
$
```

##(3). SAMPLEデータベースの作成
###手順 1 - (オプション) Db2 SAMPLEデータベースの作成
Db2には、SAMPLEデータベースの作成スクリプトが付いているので、これを実行してSAMPLEデータベースを作成する。作りたいデータベースが決まっている場合は必要ない。
インスタンスオーナーで`db2sampl`コマンドを実行する。

```
$ db2sampl

  Creating database "SAMPLE"...
  Connecting to database "SAMPLE"...
  Creating tables and data in schema "DB2I115"...
  Creating tables with XML columns and XML data in schema "DB2I115"...

  'db2sampl' processing complete.
```

###手順 2 - (オプション) Db2 SAMPLEデータベースに接続する
SAMPLEデータベースに接続して、正常稼働を確認する。
表の一覧(list tables)で、employee, departmentなどの表があれば正常。
SAMPLEデータベースの表情報は以下にある。
[SAMPLE データベース](https://www.ibm.com/docs/ja/db2/11.5?topic=samples-sample-database)

```shell-session
$ db2 connect to sample

   データベース接続情報

 データベース・サーバー = DB2/LINUXX8664 11.5.5.0
 SQL 許可 ID            = DB2I115
 ローカル・データベース別名 = SAMPLE

$ db2 list tables

表/ビュー                       スキーマ        タイプ 作成時刻
------------------------------- --------------- ----- --------------------------
ACT                             DB2I115         T     2021-06-20-23.09.10.755889
ADEFUSR                         DB2I115         S     2021-06-20-23.09.16.274658
CATALOG                         DB2I115         T     2021-06-20-23.09.23.489132
CL_SCHED                        DB2I115         T     2021-06-20-23.09.07.980970
CUSTOMER                        DB2I115         T     2021-06-20-23.09.22.608975
DEPARTMENT                      DB2I115         T     2021-06-20-23.09.08.130617
DEPT                            DB2I115         A     2021-06-20-23.09.08.543320
EMP                             DB2I115         A     2021-06-20-23.09.08.896068
EMPACT                          DB2I115         A     2021-06-20-23.09.10.754286
EMPLOYEE                        DB2I115         T     2021-06-20-23.09.08.544608
EMPMDC                          DB2I115         T     2021-06-20-23.09.18.101221
EMPPROJACT                      DB2I115         T     2021-06-20-23.09.10.621496
EMP_ACT                         DB2I115         A     2021-06-20-23.09.10.755131
EMP_PHOTO                       DB2I115         T     2021-06-20-23.09.08.896713
EMP_RESUME                      DB2I115         T     2021-06-20-23.09.09.396905
INVENTORY                       DB2I115         T     2021-06-20-23.09.22.321214
IN_TRAY                         DB2I115         T     2021-06-20-23.09.11.078048
ORG                             DB2I115         T     2021-06-20-23.09.11.195818
PRODUCT                         DB2I115         T     2021-06-20-23.09.21.286030
PRODUCTSUPPLIER                 DB2I115         T     2021-06-20-23.09.24.325202
PROJ                            DB2I115         A     2021-06-20-23.09.10.226069
PROJACT                         DB2I115         T     2021-06-20-23.09.10.227483
PROJECT                         DB2I115         T     2021-06-20-23.09.09.933922
PURCHASEORDER                   DB2I115         T     2021-06-20-23.09.23.041589
SALES                           DB2I115         T     2021-06-20-23.09.11.429821
STAFF                           DB2I115         T     2021-06-20-23.09.11.313449
STAFFG                          DB2I115         T     2021-06-20-23.09.14.670979
SUPPLIERS                       DB2I115         T     2021-06-20-23.09.23.928120
VACT                            DB2I115         V     2021-06-20-23.09.11.605764
VASTRDE1                        DB2I115         V     2021-06-20-23.09.11.647852
VASTRDE2                        DB2I115         V     2021-06-20-23.09.11.657259
VDEPMG1                         DB2I115         V     2021-06-20-23.09.11.625822
VDEPT                           DB2I115         V     2021-06-20-23.09.11.554611
VEMP                            DB2I115         V     2021-06-20-23.09.11.589388
VEMPDPT1                        DB2I115         V     2021-06-20-23.09.11.636817
VEMPLP                          DB2I115         V     2021-06-20-23.09.11.735774
VEMPPROJACT                     DB2I115         V     2021-06-20-23.09.11.618786
VFORPLA                         DB2I115         V     2021-06-20-23.09.11.694277
VHDEPT                          DB2I115         V     2021-06-20-23.09.11.575540
VPHONE                          DB2I115         V     2021-06-20-23.09.11.723864
VPROJ                           DB2I115         V     2021-06-20-23.09.11.599421
VPROJACT                        DB2I115         V     2021-06-20-23.09.11.610978
VPROJRE1                        DB2I115         V     2021-06-20-23.09.11.667024
VPSTRDE1                        DB2I115         V     2021-06-20-23.09.11.676853
VPSTRDE2                        DB2I115         V     2021-06-20-23.09.11.685767
VSTAFAC1                        DB2I115         V     2021-06-20-23.09.11.701517
VSTAFAC2                        DB2I115         V     2021-06-20-23.09.11.708983

  47 レコードが選択されました。
```

以上で、WSL環境の構築からDb2の稼働までが完了した。
後は、自由にテスト可能である。

以上