Db2の構成情報を取得する方法とは?db2supportとdb2lookの使い分けを解説

Db2

はじめに

Db2の構築案件や移行、トラブル調査では、現行環境の構成情報を正確に取得することが重要です。

特に以下のような場面で必要になります。

・現行DBの設定確認
・構成差分の比較
・調査用の情報取得

このときは、db2supportとdb2lookを組み合わせて取得すると簡単に収集できます。

本記事では、それぞれの役割と具体的な取得方法を整理します。


構成情報取得の全体像

Db2の構成情報は、大きく3つに分けて取得します。

種類内容取得方法
環境情報DBM構成、ログ、OS情報などdb2support
データベース定義テーブル、索引、DDLなどdb2look
権限情報GRANT / REVOKESQL

重要なのは、1つのコマンドですべては取得できないという点です。

用途に応じて使い分けることが前提になります。

なお、db2lookでも権限情報は取得していますが、なぜSQLでも取得するのかは後ほど解説します。


db2supportで環境情報を取得

db2supportは、Db2およびOSの情報をまとめて取得するツールです。
もともとはトラブル解析用途ですが、構成調査でも広く利用されます。

実行コマンド

db2support <outputdir> -s -d <dbname> -F > db2support.log 2>&1

オプション説明

オプション内容
-sハードウェアおよびオペレーティング・システムの詳細情報を収集
-d対象データベースを指定
-Fdiagpathのすべてのファイルを含む、すべての情報を取得

取得できる主な情報

・DBM構成パラメータ
・DB構成パラメータ
・レジストリ変数
・db2diag.log
・OS情報やシステム情報

環境全体の状態をまとめて取得できるのが特徴です。

なお、取得対象の詳細はIBM公式ドキュメントに一覧があります。

Db2 for Linux, UNIX and Windows
When it comes to collecting information for a Db2 problem, the most important Db2 utility you need to run is db2support....

db2lookでデータベース定義を取得

db2lookは、データベースのDDLを抽出するためのツールです。

実行コマンド

db2look -d <dbname> -createdb -e -a -l -x -f -o db2look.txt

オプション説明

オプション内容
-d対象データベース
-createdbCREATE DATABASE文を出力
-eオブジェクト(テーブルやインデックスなど)のDDLを出力
-a作動不能オブジェクトを含め、他のユーザーによって作成されたオブジェクトのDDLを出力
-l以下のDDLを出力
ユーザー定義表スペース
ユーザー定義ストレージ・グループ
ユーザー定義データベース・パーティション・グループ
ユーザー定義バッファー・プール
-xGRANTなどの許可DDLを出力
-fオプティマイザーに影響を与える構成パラメーターおよびレジストリー変数を出力
-o出力ファイルを指定

特徴

・DDLとしてそのまま再作成に利用可能
・データは含まれない
・構成移行やレビューに適している

DBオブジェクトの有無だけでなく、構成オプションまで確認ができます。

その他のオプションについては、Db2マニュアルに詳細があります。

Db2 for Linux, UNIX and Windows
Extracts the Data Definition Language (DDL) statements to reproduce the database objects of a production database on a t...

権限情報の取得と注意点

db2lookには注意点があります。

GRANTは取得できますが、REVOKEは取得されない点です。

そのため、権限の完全な状態を確認するには、カタログから直接確認する必要があります。

特にDB権限については、publicがrevokeされていることが多いため、db2lookだけだと見落とします。

実行コマンド

db2 connect to xxxxDB
db2 "select * from syscat.dbauth" > dbauth.txt

実務での取得手順

構成調査では、以下の手順で取得するのが一般的です。

手順

  1. db2supportで環境情報を取得(インスタンスオーナで実行)
  2. db2lookでDDLを取得(インスタンスオーナで実行)
  3. dbauthで権限情報を取得(DB接続後実行)

取得ファイル

・db2support.zip
・db2support.log
・db2look.txt
・dbauth.txt

この4点を揃えることで、以下が把握できます。

・インスタンス設定
・データベース構造
・権限状態

構成情報としては十分な内容になります。


まとめ

Db2の構成情報取得では、ツールごとの役割を理解することが重要です。

・db2supportは環境情報の取得
・db2lookはDDLの取得
・syscat.dbauthで権限を補完

これらを組み合わせることで、現行環境の構成を正確に把握できます。

構築や移行、調査のいずれにおいても基本となる手順です。

コメント

タイトルとURLをコピーしました