はじめに
これまで、Linux側の設定/情報収集/統計情報の理解/カーネルチューニングについて解説してきました。今回からいよいよ、DB2のチューニン グに入っていくわけですが、チューニングそのものに入る前に、DB2の重要な設定情報および稼動状況について、情報の収集方法およびその内容について理解 する必要があります。まずはこれらを解説していきます。
今回は、DB2の設定情報には何があるか、インスタンスレベルの構成について解説します。今後、特に断らない限り、「DB2 UDB for Linux V8.2 Workgroup Server Edition(64bit)」を前提として話を進めます。
なおDB2のチューニングとしては、以下のようなトピックについて解説していく予定です。
- DB2のチューニング(メモリ、I/O、CPUまわり)
- SQL実行時間などモニタリング方法、問題のあるSQLの抽出方法
- アクセス・プランの確認およびSQLチューニング(Explainおよび設計アドバイザなどのツールの利用)
- DB2 V9.1(2006年7月末より出荷開始)で提供されるパフォーマンス関連新機能
DB2の大まかな構造について
DB2の設定情報および稼動状況を理解するためには、その構造を理解しておくことが必要となります。まず大まかな構造を示します。

図1:DB2の構造
DB2のオブジェクト
DB2は1台のサーバで、複数のインスタンスを定義することができます。インスタンスは、DB2の開始・停止の単位となるため、定義によっては運用 面を独立させることが可能となります。よって、まったく異なる複数の業務を1台のLinuxサーバで稼動させる場合には、複数のインスタンスを設計しま す。
また、1つのインスタンス内に複数のデータベースを構築することもできます。通常のアプリケーションでは、1つのデータベースへ接続して処理を行い ます(例外として、2フェーズコミットなどを行うアプリケーションなどがあります)。1つのデータベース内には複数の表スペース、さらにその中には複数の 表およびインデックスが定義できます。