図 1 は、 DB2 エンタープライズ拡張エディション (DB2 EEE) のハードウェア構成の例を示しています。
図 1. DB2 エンタープライズ拡張エディションのハードウェア構成
![]() |
DB2 EEE は、共用メモリーによって内部接続されている個々の CPU (対称マルチプロセッサー (SMP)) のクラスター、専用高速通信スイッチ (たとえば、高性能スイッチ (HPS))、または LAN 上で実行することができます。構成内のデータベース区画サーバーの数は、プラットフォームによって異なります。 LAN を介して通信するデータベース区画サーバーの数は、最大で 16 個に制限する必要があります。
実際には、構成内のデータベース区画サーバーの数は、プラットフォームおよびそれぞれのプラットフォームで使用できる管理ツールによって決められます。構成の詳細については、管理の手引き を参照してください。
たとえば、AIX を稼働している IBM RISC システム/6000 Scalable POWER Parallel Systems (RS/6000 SP) 環境では、データベース区画サーバーの数は、 AIX RISC システム/6000 SP システムの可能なサイズによってのみ制限されます。
HP-UX 環境では、データベース区画サーバーの数は、マシンのサイズ、およびまとめてクラスター化されるマシンの数によって制限されます。たとえば、1 クラスターの 4 台の K580 Enterprise Server (それぞれ 6 つの CPU を備える) 上では、 24 個のデータベース区画サーバーを稼働させることができます。
DYNIX/ptx 環境では、データベース区画サーバーの数は、1 台のマシンのクワッドの数によって制限されます。 NUMA-Q クワッドごとに 1 つのデータベース区画サーバーを稼働するようお勧めします。たとえば、5 個のクワッド・システムでは、5 個の複数論理ノードになります。そして、各論理ノードには、4 つのプロセッサーが装着されます。
Solaris 実行環境では、データベース区画サーバーの数は、マシンのサイズ、およびまとめてクラスター化されるマシンの数によって制限されます。それぞれが 10 台の CPU を持つ 4 つの Ultra Enterprise 6000 のクラスター化システムでは、 40 個のデータベース区画サーバーを実行することができます。
次に、区分データベース・システムを構成する前に精通しておく必要のある情報を提供します。特に、次の事柄について説明します。
DB2 エンタープライズ拡張エディション は、非共用アーキテクチャーを実現します。したがって、データベース区画サーバーはそれぞれ単一区分データベース・システムに相当することになります。したがって、区分データベース・システムのデータベース記憶容量は、単一区分データベース・システムにデータベース区画サーバー数を掛けたものに等しくなります。 1 つのデータベース区画につき最大 512 GB (ギガバイト) の表を保管することができます。たとえば、128 個の区画をもつデータベースでは、 1 つの表の最大サイズは約 64 TB (テラバイト) です。
1 つのデータベースに、 1 つまたは複数のデータベース区画の名前付きサブセットを定義することができます。定義するそれぞれのサブセットをノード・グループ といいます。複数のデータベース区画を含むそれぞれのサブセットを、複数区画ノードグループ といいます。複数区画ノードグループは、同じデータベースに属するデータベース区画内でのみ定義することができます。
データベースを作成するときには、3 つのデフォルトのノードグループ、 IBMDEFAULTGROUP、IBMCATGROUP および IBMTEMPGROUP が作成されます。
必要であれば、デフォルトのノードグループである IBMDEFAULTGROUP および IBMCATGROUP で表スペースを作成し、それらの表スペースの中に表を作成することができます。
IBMDEFAULTGROUP ノード・グループには、データベースのすべてのデータベース区画が含まれます。データベースを作成すると、ノード構成ファイル (db2nodes.cfg) で定義されている各データベース区画サーバー (ノード) で、データベース区画が作成されます。
データベースの IBMCATGROUP ノード・グループは、 create database コマンドを入力したデータベース区画サーバーで作成されます。このノード・グループに入っているのは、このコマンドが入力されたデータベース区画サーバーに対してローカルであるデータベース区画だけです。このデータベース区画サーバーを、データベースのカタログ・ノード といいます。なぜなら、IBMCATGROUP ノード・グループにはデータベースのカタログ表が含まれるからです。
3 番目のデフォルトのノードグループ IBMTEMPGROUP では、直接作業することはできません。 IBMDEFAULTGROUP ノードグループと同様に、このノードグループにもデータベースのすべてのデータベース区画が含まれます。このノードグループは、すべての一時表スペースを入れるのに使用します。
図 2 は、 3 つのノードグループを持つデータベースの例を示しています。ノードグループ 1 は 4 つのデータベース区画からなる複数区画ノードグループで、ノードグループ 2 は単一区画のノードグループ、そしてノードグループ 3 は複数区画のノードグループです。
![]() |
データベースの表スペースを作成したいときには、まず最初に、表スペースを保管するノード・グループを作成し、それからノード・グループ内の表スペースを作成します。この後で、表スペース内の表を作成します。
ノード・グループからデータベース区画を除去することができます。また、 db2nodes.cfg ファイルに新しいノードが定義されている場合には、データベース内のノード・グループにそれを追加することができます。ノードグループ内のノードの追加および消去については、管理の手引き を参照してください。
データベースのサイズを大きくする場合、データベース・システムにデータベース区画サーバーを追加して、パフォーマンスを向上させることができます。これを、データベース・システムの大規模化といいます。データベース区画サーバーを追加するときには、データベース・システムにすでに存在するデータベースごとに、データベース区画が作成されます。その後で、新しいデータベース区画を、そのデータベースに属する既存のノード・グループに追加します。最後に、そのノード・グループ内のデータを再分配して、新しいデータベース区画を使用します。データベースの拡大縮小については、管理の手引き を参照してください。
複数区画ノードグループで定義されたそれぞれの表には、それに関連付けられた区分化キー があります。区分化キーは、その値を区分化マップ と共に使用して、指定された表の行が存在するデータベース区画を判別するための列の順序付きセットです。区分化マップは、4 096 個のデータベース区画番号の配列です。
任意のデータ・タイプ (LONG VARCHAR、LONG VARGRAPHIC、BLOB、または CLOB を除く) の列を区分化キーとして使用することができます。単一区画ノード・グループで定義する表には、区分化キーがあってもなくてもかまいません。長形式フィールドの列しか入っていない表は、単一区画ノードグループ内でのみ定義することができ、区分化キーを持つことはできません。表の作成の詳細については、SQL 解説書 を参照してください。
ノードグループおよび区分化キーを使用すると、次の効果があります。
ノードグループの作成の詳細については、SQL 解説書 を参照してください。ノードグループの使用の詳細については、管理の手引き を参照してください。
通常、各マシンに 1 つのデータベース区画サーバーを割り当てるように DB2 エンタープライズ拡張エディションを構成することができます。しかし、各マシンに複数のデータベース区画サーバーを割り当てたほうが都合がよい場合もあります。これらのデータベース区画サーバー (ノード) が、 同じ インスタンスを構成する場合、これを複数論理ノード (MLN) 構成といいます。
複数論理ノード (MLN) 構成は、システムが、対称マルチプロセッサー (SMP) アーキテクチャーを持つマシンで照会を実行するときに役立ちます。それ以外にも、複数論理ノードの使用によって、 SMP ハードウェア構成を活用できるという利点があります。加えて、データベース区画がより小さくなるので、データベース区画や表スペースのバックアップおよび復元、さらに索引の作成といったタスクを実行する際に、より良いパフォーマンスを得ることができます。一般に、4 つのプロセッサーに対し 1 つの MLN を実行することをお勧めします。 DB2 EEE を稼働しているオペレーティング・システムによっては、パフォーマンス上の理由で別の方法が有効になる場合もあります。
論理ノードのセットアップの詳細については、管理の手引き を参照してください。
インスタンスには自分自身のデータベースとインスタンス・ディレクトリーがあります。インスタンス・ディレクトリーには、データベース・マネージャー構成ファイル、システム・データベース・ディレクトリー、ノード・ディレクトリー、およびノード構成ファイルが入っています。区分データベース・システム内のインスタンスの詳細については、 管理の手引き を参照してください。
DB2 エンタープライズ拡張エディション (DB2 EEE) では、特定の区分データベース・システムの一部を成すと定義されたすべてのデータベース区画サーバー (ノード) によって、インスタンスが構成されます。データベース区画サーバーは、 db2nodes.cfg ファイルに ノード として定義されます。
それぞれのインスタンスには、同じマシンにある他のインスタンスとは異なるセキュリティーがあります。このことは 図 3 に示されています。図の中は 2 つの別個のインスタンスがあります。インスタンス 1 には 6 個のデータベース区画サーバーがあり、インスタンス 2 には 8 個のデータベース区画サーバーがあります。 (複数のデータベース区画サーバーがある場合には、データベース区画サーバーとインスタンス・ディレクトリーの間に複数の線が引かれています。) 2 つのインスタンスは重なっていますが、これは、図の中央にある 3 台のマシンのそれぞれに、 2 つのデータベース区画サーバーを割り当てているためです。
インスタンス 1 の db2nodes.cfg ファイルには、インスタンス 2 に属するデータベース区画サーバーはリストされませんし、その逆も言えます。
![]() |
次の目的で、同じマシンに複数のインスタンスを用意し、それぞれを異なる仕方で構成することができます。
各インスタンスは、 インスタンス所有者 と呼ばれるユーザーによって所有されます。インスタンスの作成の詳細については、管理の手引き を参照してください。
インスタンス所有者には、そのインスタンスに属するすべてのデータベースに対する、システム管理 (SYSADM) 権限があります。インスタンス所有者はそのインスタンスに対してほぼ完全な制御を持っているため、このユーザー ID で以下のことを行えます。
インスタンス所有者はインスタンスを除去することはできません。除去するには、root 権限が必要です。
インスタンスとインスタンス所有者との間には、1 対 1 の関係があります。つまり、1 人のユーザーが複数のインスタンスを所有することができません。 (ただし、インスタンス所有者は、他のインスタンスに対して SYSADM までの権限を持つことがあります。) このことに加えて、各インスタンスには別個のホーム・ディレクトリーが必要です。
高速コミュニケーション・マネージャー (FCM) は、DB2 エンタープライズ拡張エディションの通信サポートを提供します。データベース区画サーバーには、それぞれ 1 つの FCM デーモンがあります。それによって、データベース区画サーバー間の通信の提供、エージェント要求の処理、およびメッセージ・バッファーの送達を行います。それは次のもので構成されます。
インスタンスを開始すると、FCM デーモンが開始されます。デーモンが始動すると、ノード構成ファイル (INSTHOME/sqllib/db2nodes.cfg) を読み取って、通信で使用するための予約済みアドレスを定義します。ただし、INSTHOME は、インスタンス所有者のディレクトリーです。
データベース区画サーバーの相互通信で障害が発生した場合や、または通信が再確立された場合、
FCM デーモンは情報 (データベース・システム・モニター (database system monitor) で照会できる情報) を更新し、適切な処置 (影響を受けたトランザクションのロールバックなど) をとらせます。
![]() | FCM メッセージ・バッファーの数は、 fcm_num_buffers データベース・マネージャー構成パラメーターで指定することができます。このパラメーターおよび他の FCM パラメーターについては、 管理の手引き を参照してください。 |
マシンで障害が生じた場合に、障害が生じたマシンのデータベース・サーバー (またはノード) が別のマシンで稼働できるように、区分データベース・システムをセットアップすることができます。
AIX では、 IBM の High Availability Cluster Multi-Processing (HACMP) を使ってフェールオーバーのサポートを実現します。フェールオーバー機能を使うと、ハードウェアまたはソフトウェアの障害が起きた場合に、 1 つのプロセッサーから別のプロセッサーに作業を自動的に転送することができます。 HACMP では、ディスクまたはネットワーク・アクセスなどのリソースを共用するプロセッサー・クラスターの併用によって、機能性が向上します。
Solaris システムでは、Sun Cluster 2.2 を使ってフェールオーバーのサポートを実現します。 Sun Cluster 2.2 は、物理ディスクや IP アドレスのフェールオーバー・サポートに加えて、クラスター環境での障害の検出とリソースの再始動の両方を実行します。
現時点では、 HP-UX または DYNIX/ptx オペレーティング・システム用の DB2 フェールオーバー・サポートは、手動での処理になります。障害のあるノードのディスクへアクセスしている別のノードで、障害のあるノードを手動で再始動する必要があります。
詳細については、管理の手引き を参照してください。