はじめに
Db2の構築案件や移行、トラブル調査では、現行環境の構成情報を正確に取得することが重要です。
特に以下のような場面で必要になります。
・現行DBの設定確認
・構成差分の比較
・調査用の情報取得
このときは、db2supportとdb2lookを組み合わせて取得すると簡単に収集できます。
本記事では、それぞれの役割と具体的な取得方法を整理します。
構成情報取得の全体像
Db2の構成情報は、大きく3つに分けて取得します。
| 種類 | 内容 | 取得方法 |
|---|---|---|
| 環境情報 | DBM構成、ログ、OS情報など | db2support |
| データベース定義 | テーブル、索引、DDLなど | db2look |
| 権限情報 | GRANT / REVOKE | SQL |
重要なのは、1つのコマンドですべては取得できないという点です。
用途に応じて使い分けることが前提になります。
なお、db2lookでも権限情報は取得していますが、なぜSQLでも取得するのかは後ほど解説します。
db2supportで環境情報を取得
db2supportは、Db2およびOSの情報をまとめて取得するツールです。
もともとはトラブル解析用途ですが、構成調査でも広く利用されます。
実行コマンド
db2support <outputdir> -s -d <dbname> -F > db2support.log 2>&1
オプション説明
| オプション | 内容 |
|---|---|
| -s | ハードウェアおよびオペレーティング・システムの詳細情報を収集 |
| -d | 対象データベースを指定 |
| -F | diagpathのすべてのファイルを含む、すべての情報を取得 |
取得できる主な情報
・DBM構成パラメータ
・DB構成パラメータ
・レジストリ変数
・db2diag.log
・OS情報やシステム情報
環境全体の状態をまとめて取得できるのが特徴です。
なお、取得対象の詳細はIBM公式ドキュメントに一覧があります。
db2lookでデータベース定義を取得
db2lookは、データベースのDDLを抽出するためのツールです。
実行コマンド
db2look -d <dbname> -createdb -e -a -l -x -f -o db2look.txt
オプション説明
| オプション | 内容 |
|---|---|
| -d | 対象データベース |
| -createdb | CREATE DATABASE文を出力 |
| -e | オブジェクト(テーブルやインデックスなど)のDDLを出力 |
| -a | 作動不能オブジェクトを含め、他のユーザーによって作成されたオブジェクトのDDLを出力 |
| -l | 以下のDDLを出力 ユーザー定義表スペース ユーザー定義ストレージ・グループ ユーザー定義データベース・パーティション・グループ ユーザー定義バッファー・プール |
| -x | GRANTなどの許可DDLを出力 |
| -f | オプティマイザーに影響を与える構成パラメーターおよびレジストリー変数を出力 |
| -o | 出力ファイルを指定 |
特徴
・DDLとしてそのまま再作成に利用可能
・データは含まれない
・構成移行やレビューに適している
DBオブジェクトの有無だけでなく、構成オプションまで確認ができます。
その他のオプションについては、Db2マニュアルに詳細があります。
権限情報の取得と注意点
db2lookには注意点があります。
GRANTは取得できますが、REVOKEは取得されない点です。
そのため、権限の完全な状態を確認するには、カタログから直接確認する必要があります。
特にDB権限については、publicがrevokeされていることが多いため、db2lookだけだと見落とします。
実行コマンド
db2 connect to xxxxDB
db2 "select * from syscat.dbauth" > dbauth.txt
実務での取得手順
構成調査では、以下の手順で取得するのが一般的です。
手順
- db2supportで環境情報を取得(インスタンスオーナで実行)
- db2lookでDDLを取得(インスタンスオーナで実行)
- dbauthで権限情報を取得(DB接続後実行)
取得ファイル
・db2support.zip
・db2support.log
・db2look.txt
・dbauth.txt
この4点を揃えることで、以下が把握できます。
・インスタンス設定
・データベース構造
・権限状態
構成情報としては十分な内容になります。
まとめ
Db2の構成情報取得では、ツールごとの役割を理解することが重要です。
・db2supportは環境情報の取得
・db2lookはDDLの取得
・syscat.dbauthで権限を補完
これらを組み合わせることで、現行環境の構成を正確に把握できます。
構築や移行、調査のいずれにおいても基本となる手順です。


コメント