(57)【特許請求の範囲】
【請求項１】
データベースを複数の格納領域に分割して格納し、それぞれの領域に対してデータベース処理サーバを関連付けてデータ処理を行うデータベース管理システムを構築するデータベース管理システム構築方法において、
多重障害の許容回数を示す多重障害許容回数以下の各回数に対応した障害発生時に、障害の発生した情報処理装置のデータベース処理サーバをそれ以外の指定する複数の情報処理装置へ均等に分散させることが可能なデータベース処理サーバの総数と、
そのデータベース処理サーバを実行する情報処理装置とを定義した定義ファイルを作成して記憶装置により格納するステップと、
データベース管理システムを構成する各情報処理装置へ前記格納した定義ファイルを通
信装置により配布するステップと
を有することを特徴とするデータベース管理システム構築方法。
【請求項２】
既存のシステム構成定義ファイルから情報処理装置数、各情報処理装置の名称とアドレ
ス、データベース格納用の記憶装置数及び各記憶装置の名称を示す情報を入力して、それ
らの情報を含む前記定義ファイルを生成することを特徴とする請求項１に記載されたデー
タベース管理システム構築方法。
【請求項３】
データベース管理システムの初期構築時にデータベースサーバを稼動させず待機専用と
するマシンの数が入力された場合に、障害発生時に待機専用のマシンへ系切り替えする前
記定義ファイルを生成することを特徴とする請求項１に記載されたデータベース管理シス
テム構築方法。
【請求項４】
障害発生による系切り替えの実施により待機状態となっている待機専用のマシンがなく
なった時に、系切り替え順序を再定義することを特徴とする請求項３に記載されたデータ
ベース管理システム構築方法。
【請求項５】
前記データベース処理サーバの総数よりも記憶装置の台数が少ない場合に、障害の発生
した情報処理装置のデータベース処理サーバをそれ以外の情報処理装置へ均等に分散させ
ることができないことを出力装置により出力することを特徴とする請求項１、請求項２、
請求項３または請求項４のいずれかに記載されたデータベース管理システム構築方法。
【請求項６】
前記データベース処理サーバの総数よりも記憶装置の台数が少ない場合に、不足する記
憶装置の追加指示を入力装置により受け付け、記憶装置の台数を前記データベース処理サ
ーバの総数の値に変更した定義ファイルを記憶装置に格納することを特徴とする請求項５
に記載されたデータベース管理システム構築方法。
【請求項７】
前記データベース処理サーバの総数よりも記憶装置の台数が少ない場合に、記憶装置と
同数で構築する指示を入力装置により受け付け、データベース処理サーバの総数を記憶装
置の台数の値に変更した定義ファイルを記憶装置に格納することを特徴とする請求項５に
記載されたデータベース管理システム構築方法。
【請求項８】
前記データベース処理サーバの総数よりも記憶装置の台数が少ない場合に、前記データ
ベース処理サーバの総数が記憶装置の台数以下となるまで、多重障害許容回数を減少させ
ることを特徴とする請求項５に記載されたデータベース管理システム構築方法。
【請求項９】
複数の情報処理装置からなるデータベース管理システムを構築するデータベース管理シ
ステム構築装置において、
多重障害の許容回数を示す多重障害許容回数以下の各回数に対応した障害発生時に、障害の発生した情報処理装置のデータベース処理サーバをそれ以外の情報処理装置へ均等に分散させることが可能なデータベース処理サーバの総数と、そのデータベース処理サーバを実行する情報処理装置とを定義した定義ファイルを記憶装置により格納するシステム構成決定処理部と、
データベース管理システムを構成する各情報処理装置へ前記格納した定義ファイルを通
信装置により配布する定義ファイル配布処理部とを備えることを特徴とするデータベース
管理システム構築装置。
【請求項１０】
複数の情報処理装置からなるデータベース管理システムを構築するデータベース管理シ
ステム構築方法をコンピュータに実行させる為のプログラムにおいて、
多重障害の許容回数を示す多重障害許容回数以下の各回数に対応した障害発生時に、
障害の発生した情報処理装置のデータベース処理サーバをそれ以外の情報処理装置へ均等に分散させることが可能なデータベース処理サーバの総数と、そのデータベース処理サーバを実行する情報処理装置とを定義した定義ファイルを記憶装置により格納するステップと、
データベース管理システムを構成する各情報処理装置へ前記格納した定義ファイルを通
信装置により配布するステップとをコンピュータに実行させることを特徴とするプログラ
ム。
【請求項１１】
複数の情報処理装置からなるデータベース管理システムを構築するデータベース管理シ
ステム構築方法をコンピュータに実行させる為のプログラムを記録したコンピュータ読み
取り可能な記録媒体において、
多重障害の許容回数を示す多重障害許容回数以下の各回数に対応した障害発生時に、
障害の発生した情報処理装置のデータベース処理サーバをそれ以外の情報処理装置へ均等に分散させることが可能なデータベース処理サーバの総数と、そのデータベース処理サーバを実行する情報処理装置とを定義した定義ファイルを記憶装置により格納するステップと、
データベース管理システムを構成する各情報処理装置へ前記格納した定義ファイルを通
信装置により配布するステップとをコンピュータに実行させる為のプログラムを記録した
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は並列サーバ構成のデータベース管理システムを構築するデータベース管理シス
テム構築技術に関し、特に障害が発生した場合に系切り替えを行うデータベース管理システムを構築するデータベース管理システム構築技術に適用して有効な技術に関するものである。
【背景技術】
【０００２】
データベース管理システムの可用性を向上する手段として、系切り替えという技術が採用されている。系切り替えとは、障害が発生したマシンの処理を別のマシンに切り替えることでシステムを回復し、障害によるサービス停止時間を短縮する技術である。
【０００３】
系切り替え制御を適用したデータベース管理システムでは、サービスを実行しているマ
シンごとに障害時の切り替え先となるマシンが定義され、システムが実行系（運用系）の
マシンの障害を検知すると待機系のマシンへの系切り替えを行う。この種の技術として、
例えば特許文献１に開示されているものがある。
【０００４】
系切り替えでは、まず実行系のリソース、例えばデータベースを格納したディスクやネ
ットワークのアドレス等、を待機系に切り替える。リソースの切り替えが完了すると、待
機系においてデータベースサーバが実行系から引き継いだデータベースのログを参照して
データベースの回復処理を実行する。データベース回復処理が完了した時点で待機系がサ
ービスの受け付けを開始して実行系となり、系切り替えが完了する。この技術は、非特許
文献１に説明されている。
【０００５】
複数のデータベースサーバが同一マシン上で稼動するデータベース管理システムに系切
り替えを適用する場合は、障害が発生したマシン上の複数のデータベースサーバを別々の
マシンに系を切り替える構成をとれる。障害が発生したマシンの処理を複数マシンが分担
して引き継ぎ障害中の負荷を分散することによって、切り替え先マシンの負荷上昇を抑え
る。ここで複数の切り替え対象がそれぞれどのマシンに系を切り替えるかは、ユーザが計
画を検討しシステムの初期構築時にユーザが定義ファイルに記述する。
【０００６】
一般的にシステムを構成するマシンのスペックは同程度のマシンを用いる。よって、負
荷を均一もしくはほぼ均一に分散することが、システム全体として最も処理効率が良い。
システムの構築では、システム上の各マシンにおけるサーバの配置等システムの情報を定
義ファイルにユーザが記述し、この定義ファイルに基づきシステムが起動する。系切り替
え構成を適用する場合には、前述の通り系切り替えの情報も併せて定義する。多くの場合
、系切り替え後の負荷のバランスは考慮していなかった。システムは系切り替え後の負荷
の全マシン間でのバランスは保障しておらず、システム構築時にユーザが系切り替え後も
全マシン間で負荷がバランスする様に設計しなければならない。
【０００７】
【特許文献１】特開２００１−２８２７６３号公報
【非特許文献１】Jim Gray and Andreas Reuter:"TRANSACTION PROCESSING:CONCEPT AND TECHNIQUES"、Morgan Kaufmann Publishers, 1993
【発明の開示】
【発明が解決しようとする課題】
【０００８】
システムの初期構築時には、系切り替え後のマシン間での負荷のバランスを考慮してユ
ーザが正しく設計しないと、初期起動時や障害が発生し系切り替えしたシステムの負荷バ
ランスが不均等になり、系切り替え後に特定のマシンに負荷がかたより、システム全体の
スループットが低下することがある。
【０００９】
本発明の目的は上記問題を解決し、初期起動時及び系切り替え後に全情報処理装置間の
負荷が均一若しくはほぼ均一となることを保障することが可能な技術を提供することにあ
る。
【００１０】
本発明の他の目的は既存のデータベース管理システムのシステム構成を再入力する負荷
を低減させることが可能な技術を提供することにある。
【課題を解決するための手段】
【００１１】
本発明は、データベースを複数の格納領域に分割して格納し、それぞれの領域に対して
DB処理サーバを関連付けてデータ処理を行うデータベース管理システムを構築するデータ
ベース管理システム構築装置において、障害発生時に稼働中の情報処理装置へ均等に分散可能となるデータベース処理サーバ数を算出してデータベース管理システムを構築するものである。
【００１２】
本発明のデータベース管理システム構築装置では、データベース管理システムを構成す
る情報処理装置の数と、多重障害の許容回数を示す多重障害許容回数とを含む入力情報を
読み込んだ後、前記読み込んだ数の情報処理装置の内で前記多重障害許容回数の各回数に
相当する情報処理装置で障害が発生した場合に、その障害の発生した情報処理装置のデー
タベース処理サーバをそれ以外の情報処理装置へ均等に分散させることが可能なデータベ
ース処理サーバの総数を算出し、データベース処理サーバとデータベース用の記憶装置の
対応を決定して、それらの情報を含むシステム構成定義ファイルを記憶装置に格納する。
【００１３】
次に、前記算出した総数のデータベース処理サーバを、初期稼働時や系切り替え時に稼
働可能となっている各情報処理装置に割り当てて、各データベース処理サーバを初期起動
時や系切り替え時に実行する情報処理装置を決定した後、それらの情報を設定した系切り
替え定義ファイルを記憶装置に格納する。
【００１４】
その後、データベース管理システムを構成する各情報処理装置へ前記格納した定義ファ
イルを通信装置により配布する。各情報処理装置では、前記配布された定義ファイルを基
にデータベース処理サーバを実行してデータベース処理を行い、障害発生時には系切り替
えを行って、障害の発生した情報処理装置で実行されていたデータベース処理サーバを系
切り替え定義ファイルに示された情報処理装置で実行する。
【発明の効果】
【００１５】
本発明によれば、初期起動時及び系切り替え後に全情報処理装置間の負荷が均一若しく
はほぼ均一となることを保障することが可能である。
【発明を実施するための最良の形態】
【００１６】
（実施形態１）
以下に複数の情報処理装置からなるデータベース管理システムを構築する実施形態１の
データベース管理システム構築装置について説明する。
【００１７】
図１は本実施形態のデータベース管理システム構築装置の概要を示す図である。まず、
図１を用いて本実施形態の概要を説明する。
【００１８】
本実施形態に示すデータベース管理システムは、データベース管理システム構築装置で
ある設定マシン１００により構築される。設定マシン１００では、初期構築プログラム１
０６が稼動しており、初期構築プログラム１０６は、システム構成決定処理部３００と定
義ファイル配布処理部３０１を具備している。なお、本実施形態のマシンは情報処理装置
であるものとする。
【００１９】
システム構成決定処理部３００は、入力情報１０７を受け付ける。この入力情報１０７
には、許容する障害の回数やシステム上のディスクの数等が含まれており、この入力情報
１０７を基にシステム構成決定処理部３００が、指定された許容回数まで障害が発生して
も常に残った全マシン間で負荷が均一となるシステム構成と系切り替え定義を決定し、こ
の決定内容をシステム構成定義ファイル１０８と系切り替え定義ファイル１０９として出
力する。
【００２０】
システム構成定義ファイル１０８には、システムの構築に必要な各種設定を記述してお
り、系切り替え定義ファイル１０９には、系切り替えの構成及び系切り替え先の情報をＤ
Ｂ処理サーバ毎に記述している。そして、定義ファイル配布処理部３０１が、システム構
成定義ファイル１０８及び系切り替え定義ファイル１０９を各マシンに配布する。
【００２１】
本実施形態の設定マシン１００を前記のシステム構成決定処理部３００及び定義ファイ
ル配布処理部３０１として機能させる為のプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記
録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。な
お前記プログラムを記録する記録媒体はＣＤ−ＲＯＭ以外の他の記録媒体でも良い。また
前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、
ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとして
も良い。
【００２２】
図３は本実施形態のデータベース管理システムの概要を示す図である。図３では、構築
されるデータベース管理システムの構成例を表しており、設定マシン１００は、作成した
システム構成定義ファイル１０８及び系切り替え定義ファイル１０９をマシン０（１０１）、マシン１（１０２）、マシン２（１０３）、マシン３（１０４）、マシン４（１０５）に配布する。
【００２３】
マシン０（１０１）、マシン１（１０２）、マシン２（１０３）、マシン３（１０４）、マシン４（１０５）では、このシステム構成定義ファイル１０８の定義情報に基づき、データベース処理サーバを起動してシステムを構築する。ここでいうサーバとは、プロセス群、メモリ領域等から成るデータベース処理の実行環境を指すものとし、データベース処理サーバのプログラムを実行することにより提供されるデータベース処理機能であるものとする。ＤＢ処理サーバ１１１〜１１４と対になった外部記憶装置１１５にはＤＢデータを格納している。また、ＤＢ処理サーバを配置する各マシンには系切り替え機能１１６が稼動しており各マシンでのＤＢ処理サーバの稼動状況を監視し、障害発生時には系切り替え定義ファイル１０９の内容に従い系切り替え機能１１６が系を切り替える。
【００２４】
本実施例のデータベース管理システムのアーキテクチャは、Shared Nothingアーキテクチャであり、本システムが管理するデータベース（例えば、テーブル、インデクス）は、さまざまな手法により複数の分割テーブルおよび分割インデクスに分割され、外部記憶装置中の複数のDB格納領域に分割格納される。あるDB格納領域は決まったDB処理サーバに対応付けられており、DB処理サーバは、そのDB処理サーバに対応付けられたDB格納領域内のデータ（例えば、テーブルデータ、インデクスデータ）のみをアクセスする。
【００２５】
図２は本実施形態の設定マシン１００の概略構成を示す図である。次に、図２を用いて
本実施形態の設定マシン１００の構成を説明する。
【００２６】
設定マシン１００は、ＣＰＵ２００１、主記憶装置２００２、通信制御装置２００３、
Ｉ／Ｏ制御装置２００４、端末２００５及び磁気ディスク装置等の外部記憶装置２００６
を備えている。通信制御装置２００３は、ネットワーク２００７を経由して設定マシン１
００と他のマシンとの通信を制御する装置であり、Ｉ／Ｏ制御装置２００４は、外部記憶
装置２００６からのデータの読み出し／書き出しを制御する装置である。
【００２７】
外部記憶装置２００６上には初期構築プログラム１０６を実現する処理プログラム２０
１０を格納しており、ＣＰＵ２００１は、主記憶装置２００２に初期構築プログラム１０
６をロードして実行する。また、端末２００５よりユーザからの入力情報１０７の入力の
受け付けを行う。
【００２８】
図６は本実施形態のシステム構成決定処理部３００の処理手順を示すフローチャートで
ある。まず、ステップ６０１において設定マシン１００のシステム構成決定処理部３００
は、端末２００５及び入力装置によりユーザから入力された入力情報１０７を読み込み、
データベース管理システムを構成するマシンの総数、ＤＢデータ格納用の共用ディスクの
総数・名及び多重障害許容回数を取得する。
【００２９】
図４は本実施形態の入力情報１０７の概要を示す図である。図４に示す様に入力情報１
０７は、多重障害の許容回数を示す多重障害許容回数、データベース管理システムを構成
するマシン数、各マシンごとのマシン名及びＩＰアドレス、ＤＢ処理サーバ配置用のマシ
ンの名称、ＤＢデータ格納用のディスク数、ＤＢデータ格納用の各ディスクの名を有して
いる。
【００３０】
次に、ステップ６０２では系切り替え後も稼動マシン間の負荷が均一となるＤＢ処理サ
ーバ数を決定して、ステップ６０３ではシステムを構築可能かどうかを判定する。本実施
形態のデータベース管理システムでは、一つのＤＢ処理サーバが一つの外部記憶装置１１
５を専有するものとし、構築可否の判定は、ステップ６０２で算出したサーバ数と、入力
情報１０７より取得した情報にあるシステムのディスク数の比較により行うものとする。
【００３１】
サーバ数よりディスク数が少ない場合にはシステムを構築不可とし、障害マシンのＤＢ
処理サーバを稼働マシンへ均等に分散させることができないことを出力装置により出力し
た後、ステップ６０４では追加が必要なディスクの数を出力装置に出力してユーザに示し
、それに対する応答を入力装置により受け付けて、ディスクの追加の可否を確認する。デ
ィスクの追加が可能な場合には、ステップ６０６にて必要数のディスク情報を取得する。
【００３２】
ステップ６０４でディスク追加が不可能な場合には、ステップ６０５で入力情報１０７
にあるディスク数分のＤＢ処理サーバ数でシステムを構築するかの問い合わせを出力装置
に出力し、ユーザからの指示を入力装置により受け付ける。
【００３３】
ステップ６０５で、入力情報１０７にあるディスク数分のＤＢ処理サーバ数では構築し
ないことを示す指示をユーザから受け付けた場合には、ステップ６０７に進み、入力情報
１０７より取得した多重障害許容回数の値を「１」減らす。許容する多重障害の回数を減
らした場合の方が、ＤＢ処理サーバ数を少なく、つまりディスク数をより少なくシステム
を構築できる。そしてステップ６０２に戻り、再びＤＢ処理サーバ数を求める。
【００３４】
一方、ステップ６０５の処理で、入力情報１０７にあるディスク数分のＤＢ処理サーバ
数で構築することを示す指示をユーザから受け付けた場合には、ＤＢ処理サーバ数は入力
情報１０７にあるディスク数と同数であるものとしてステップ６０８に進む。
【００３５】
ステップ６０８では、ＤＢ処理サーバとディスクの対応を決定してステップ６０９に進
み、ステップ６０９では、前記決定したＤＢ処理サーバ数やＤＢ処理サーバとディスクの
対応を含むシステム構成の情報をシステム構成定義ファイル１０８として外部記憶装置２
００６に出力する。ステップ６１０では、初期起動時にＤＢ処理サーバを実行するマシン
や、系切り替え時に系切り替え先となるマシンを設定して系切り替え順序を決定し、ステ
ップ６１１にて、系切り替え順序を示す情報を系切り替え定義ファイル１０９として外部
記憶装置２００６に出力する。
【００３６】
図５は本実施形態のシステム構成定義ファイル１０８の概要を示す図である。図５に示
す様にシステム構成定義ファイル１０８は、ＤＢ処理サーバ数、各マシンごとのマシン名
及びＩＰアドレス、ＤＢデータ格納用のディスクごとのディスク名、ＤＢ処理サーバ配置
用のマシンの名称、ＤＢ処理サーバごとのＤＢ処理サーバ名やＤＢ処理サーバとディスク
の対応を示す情報を有している。
【００３７】
図７は本実施形態のＤＢ処理サーバ数決定処理の処理手順を示すフローチャートである。図７では、図６のフローにおけるステップ６０２の処理内容の詳細を表している。
【００３８】
まず、ステップ７０１では、障害マシン数iを「１」に設定して、ステップ７０２に進
む。ステップ７０２では、マシン数と障害マシン数ｉの差から稼働マシン数を求めた後、
障害マシン数iと稼動マシン数の最小公倍数の値Ｓ（i）を求める。そして、ステップ７０
３では、最小公倍数Ｓ（i）の値を障害マシン数iで割った値T（i）を求める。
【００３９】
ステップ７０４では、障害マシン数iの値が多重障害許容回数に達したかを判定する。
達していない場合には、ステップ７０５に進む。ステップ７０５では障害マシン数iの値
を「１」増やして、ステップ７０２へ進む。ステップ７０４で傷害マシン数の値が多重障
害許容回数に達したと判定した場合には、ステップ７０６に進む。
【００４０】
ステップ７０６では、これまでにステップ７０３で求めた全T（n）の最小公倍数Ｘを求
める。ここでnは１から多重障害許容回数までの値である。
ステップ７０７では、システム上の総ＤＢ処理サーバ数の値を求める。ステップ７０６
で求めたＸの値は１マシン当たりのサーバ数となるので、このＸの値をマシン数倍する。
また、ここでＤＢサーバ００からＤＢサーバＸまでのサーバ名称を各ＤＢ処理サーバに割
り当てる。
【００４１】
図８は本実施形態の系切り替え順序決定処理の処理手順を示すフローチャートである。
図８では、図６のフローにおけるステップ６１０の処理内容の詳細を表している。
【００４２】
図１０は本実施形態の系切り替え定義テーブルの概要を示す図である。ステップ８０１
では、図１０に示す様な系切り替え定義テーブル１０００を用意する。系切り替え定義テ
ーブル１０００は、ＤＢ処理サーバ毎に初期配置マシンと、多重障害許容回数までの系切
り替え先のマシン名を指定するテーブルである。
【００４３】
ステップ８０２では、各ＤＢ処理サーバを初期起動時に配置するマシンを決定する。こ
こでは、ステップ６０２で求めたＤＢ処理サーバ数をマシン数で分割し、分割した単位で
順にマシンを割り当てて、そのマシン名を系切り替え定義テーブル１０００の初期マシン
の欄に格納する。ここで、均等に分割できない場合には、できるだけ均等に分割する。
【００４４】
次に、ステップ８０３では、マシン毎に１回目の系切り替え先を決定する。同一マシン
を初期配置マシンにしたＤＢ処理サーバ間で、初期配置したマシン以外のマシンを均等に
割り当てて、そのマシン名を系切り替え定義テーブル１０００の１回目の系切り替え先の
欄に格納し、ステップ８０４に進む。
【００４５】
そして、ステップ８０４からは２回目以降の系切り替え先となるマシンを決定する。ス
テップ８０４では、系切り替え先のマシンを決定するＤＢ処理サーバでの配置マシンが、
これまで配置してきたマシンと同じになるＤＢ処理サーバを全て抽出する。そしてステッ
プ８０５に進む。
【００４６】
ステップ８０５では、ステップ８０４で抽出したＤＢ処理サーバを、これまで配置して
きた以外のマシンに均等に分割して配置させる様に、系切り替え先マシンを決定して、そ
のマシン名を系切り替え定義テーブル１０００の２回目以降の系切り替え先の欄に格納し、ステップ８０６に進む。
【００４７】
ステップ８０６では、系切り替え先のマシンを未割り当てのＤＢ処理サーバがあるかを
確認する。未割り当てのＤＢ処理サーバがある場合には、ステップ８０４に戻り割り当て
を続ける。未割り当てのＤＢ処理サーバが無い場合には、ステップ８０７へ進む。
【００４８】
ステップ８０７では、系切り替え定義テーブル１０００の欄が全て埋まったかを確認す
る。埋まっていない場合には、ステップ８０４に戻り系切り替え先の決定を続ける。系切
り替え定義テーブル１０００の項目が全て埋まった場合にはステップ８０８へ進み系切り
替え順決定のフローを終了する。
【００４９】
次に、図９の構成のデータベース管理システムを構築する場合の処理例について以下に
示す。
【００５０】
図９は本実施形態のシステム構築の例を示す図である。図９に示す様にマシン０（１０
１）は、ＣＰＵ２１０１、主記憶装置２１０２、通信制御装置２１０３、Ｉ／Ｏ制御装置
２１０４及び磁気ディスク装置等の外部記憶装置２１０６を備えている。外部記憶装置２
１０６上には、データベース管理システムの処理要求受付サーバ１１０を実現する処理プ
ログラム２１０７を格納する。処理要求受付サーバ１１０は、主記憶装置２１０２上でＣ
ＰＵ２１０１を用いて稼動する。
【００５１】
マシン１（１０２）、マシン２（１０３）、マシン３（１０４）、マシン４（１０５）
は、それぞれＣＰＵ２２０１、主記憶装置２２０２、通信制御装置２２０３、Ｉ／Ｏ制御
装置２２０４及び磁気ディスク装置等の外部記憶装置２７００、外部記憶装置１１５を備
えている。外部記憶装置１１５は共用ディスク装置であり、マシン１（１０２）、マシン
２（１０３）、マシン３（１０４）、マシン４（１０５）それぞれからアクセスできる。
外部記憶装置１１５上には、本データベース管理システムにおいてアクセス対象となるデ
ータを永続的或いは一時的に格納する。外部記憶装置１１５は共用ディスクであり、系切
り替え機能が共用ディスクへのアクセスを制御する。
【００５２】
外部記憶装置２７００上にはＤＢ処理サーバを実現する処理プログラム２７０１を格納
する。稼動状態のＤＢ処理サーバは、主記憶装置２２０２上でＣＰＵ２２０１を用いて稼
動する。ＤＢ処理サーバは、Ｉ／Ｏ制御装置２２０４により外部記憶装置１１５、２７０
０からデータの読み出し／書き出しを行い、通信制御装置２２０３によりネットワーク２
５００で接続されたマシンとデータを送受信する。
【００５３】
まず、ユーザは入力情報１０７を入力する。以下、図６のフローに従いシステム定義を
決定する。
ステップ６０１に従い、設定マシン１００のシステム構成決定処理部３００は、入力情
報１０７の内容を読み込む。ＤＢ処理サーバを配置するマシンは４台、ＤＢデータを格納
する外部記憶装置１１５は１２台である。また、ここでは、多重障害許容回数は２回とし
た。つまり、データベース管理システムに２回障害が発生しても負荷を分散して運用を継
続できるシステムにする。
【００５４】
次に、ステップ６０２に従いサーバ数を決定する。これは、図７のフローに従って求め
る。
まず、ステップ７０１に従い、障害マシン数iの値を「１」とする。次にステップ７０
２に従い最小公倍数Ｓ１を求める。本例では、ＤＢ処理サーバを配置するマシン数は「４
」である。よって、障害マシン数が「１」の場合、稼動マシンは「３」となり、Ｓ１は「
３」と「１」の最小公倍数となって、「３」となる。次にステップ７０３に進み、Ｓ１の
値「３」を障害マシン数「１」で割ってＴ１の値「３」を求める。
【００５５】
ステップ７０４の判定では、障害マシン数iの値は「１」であり、本例の多重障害許容
回数の値「２」に達していないので、ステップ７０５に進む。ステップ７０５では、障害
マシン数iの値を「１」増やして「２」とする。そして、再度ステップ７０２へ進み、最
小公倍数Ｓ２を求める。Ｓ２は、障害マシン数iの値「２」と、マシン数「４」から障害
マシン数の値「２」を差し引いた値である稼動マシン数「２」との最小公倍数なので、「
２」となる。そしてステップ７０３に進み、Ｔ２の値を求める。Ｓ２の値「２」を障害マ
シン数の値「２」で割るので、Ｔ２は「１」となる。そして、ステップ７０４に進む。
【００５６】
ステップ７０４では、多重障害許容回数の値が「２」で障害マシン数の値が「２」なの
で、判定結果は真となり、ステップ７０６に進む。ステップ７０６では、これまでにステ
ップ７０３で求めた全てのＴの値から最小公倍数を求める。本例では、Ｔ１が「３」、Ｔ
２が「１」だったので、最小公倍数の値Ｘは「３」となる。
【００５７】
ステップ７０７では、Ｘの値をマシン数倍してシステム上の総ＤＢ処理サーバ数を求め
る。Ｘの値は「３」、マシン数は「４」なので、システム上の総ＤＢ処理サーバ数は「１
２」となる。
【００５８】
次にステップ６０３の判定を実施する。本構築例では、ＤＢ処理サーバ数が「１２」、
ディスク数が「１２」なのでシステムを構築可能である。本実施形態の場合、ＤＢ処理サ
ーバには個別にディスクを対応付ける必要があるので、ディスク数が不足する場合にはデ
ィスクの増設等が必要である。そしてステップ６０８に従い、各ＤＢ処理サーバと各ディ
スクの対応を決定し、ステップ６０９でシステム構成定義ファイル１０８を出力する。
【００５９】
次にステップ６１０に従い、系切り替え順序を決定する。これは図８のフローに従って
求める。
【００６０】
図１１は本実施形態の系切り替え順序の決定例を示す図である。図１１の例では、初期
起動時にＤＢ処理サーバを配置する初期配置マシン、１回目の切り替え先のマシン、２回
目の切り替え先のマシンを決定する様子を表している。
【００６１】
まず、ステップ８０１にて系切り替え定義テーブルを用意した後、ステップ８０２にて
全ＤＢ処理サーバの初期配置を決定する。つまり、ステップ６０２で求めた１２個のサー
バを４つのマシンに配置していく。各マシンに３つずつＤＢ処理サーバを順に配して（図
１１(a)）、ステップ８０３へ進む。
【００６２】
ステップ８０３では、１回目の系切り替え先を決定する。これはいずれかのマシンに障
害が発生した場合の系切り替え先を決定すれば良いので、各マシンのＤＢ処理サーバにお
いては、初期配置マシン以外のマシンへ順に分散させて系切り替え順を決定して（図１１
(b)）、ステップ８０４へ進む。
【００６３】
そしてステップ８０４に従い、各ＤＢ処理サーバの２回目以降の系切り替え先を決定す
る。例えば、ＤＢサーバ００の系切り替え先を決定する場合には、ＤＢサーバ００がこれ
までに配置されたマシン１とマシン２について、それらの組合せのマシンに配置した他の
ＤＢ処理サーバを抽出する。ここではＤＢサーバ０３が該当する。
【００６４】
次にステップ８０５に進む。ＤＢサーバ００とＤＢサーバ０３を、マシン１とマシン２
以外のマシンへ分散して配置する。ここでは、ＤＢサーバ００をマシン３へ、ＤＢサーバ
０３をマシン４へ配置する。以降ステップ８０６の判定に従い、各サーバの２回目の系切
り替え先を決定する（図１１(c)）。
【００６５】
本例では、多重障害許容回数を２回としているので、系切り替え順序の定義は２回目の
系切り替え先の決定で完了である。多重障害許容回数がより多く指定された場合には、ス
テップ８０７の判定に従い、ＤＢ処理サーバそれぞれについて同様に系切り替え先のマシ
ンを決定する。
【００６６】
そして、ステップ６１１に従い、決定内容を系切り替え定義ファイル１０９として出力
する。ついで、定義ファイル配布処理部３０１が定義ファイルをマシン０（１０１）、マ
シン１（１０２）、マシン２（１０３）、マシン３（１０４）及びマシン４（１０５）に
配布して、システムを構築する。
【００６７】
図１２は本実施形態の系切り替えの例を示す図である。図１２では、初期構築完了後に
系切り替えの前後にて全マシン間で負荷が均一になっている例を表している。
【００６８】
図１２の（ａ）は、初期構築が完了した時点でのＤＢ処理サーバを配置する各マシンと
各ＤＢ処理サーバを示している。この配置は、図１１の系切り替え定義テーブルの初期配
置マシンの情報に基づいている。
【００６９】
図１２の（ｂ）は、マシン１（１０２）に障害が発生して系を切り替えた後のマシン構
成を示している。図１１の系切り替え定義テーブルの１回目の系切り替え先の情報に基づ
き、マシン１（１０２）で稼動していたＤＢ処理サーバがそれぞれマシン２（１０３）、
マシン３（１０４）、マシン４（１０５）で稼動している。
【００７０】
図１２の（ｃ）は、図７の（ｂ）の状態からマシン２（１０３）に障害が発生して系を
切り替えた後のマシン構成を示している。図１１の系切り替え定義テーブルの２回目の系
切り替え先の情報に基づき、マシン２（１０３）で稼動していたＤＢ処理サーバがそれぞ
れマシン３（１０４）、マシン４（１０５）で稼動している。
【００７１】
この様に図１２では、複数回の系の切り替えが発生しても常に稼動中の全マシン間で負
荷が等しいことを示している。
【００７２】
以上説明した様に本実施形態のデータベース管理システム構築装置によれば、障害発生
時に稼働中の情報処理装置へ均等に分散可能となるデータベース処理サーバ数を算出して
データベース管理システムを構築するので、初期起動時及び系切り替え後に全情報処理装
置間の負荷が均一若しくはほぼ均一となることを保障することが可能である。
（実施形態２）
以下に既存のシステム構成定義ファイルを入力してデータベース管理システムを構築す
る実施形態２のデータベース管理システム構築装置について説明する。
【００７３】
本実施形態において、系切り替え機能を適用していないデータベース処理システムに系
切り替え機能を適用する構成変更を行う場合に、そのシステム構成定義ファイル１０８の
情報を入力情報１０７として利用する処理について説明する。
【００７４】
図１３は本実施形態の系切り替え機能非適用の構成例を示す図である。図１３のデータ
ベース管理システムは、基本的に図９に示したものと同様の構成をとるが、このシステム
は系切り替え機能を非適用として構成で既に稼動している。従って、主記憶装置２２０２
には、ＤＢ処理サーバが稼動している。
【００７５】
図１４は本実施形態の系切り替え機能非適用のシステムに系切り替え機能を適用させる
処理の概要を示す図である。図１４に示す様に本実施形態の初期構築プログラム１０６は、システム構成決定処理部３００ａと定義ファイル配布処理部３０１を具備しており、システム構成決定処理部３００ａが系切り替え定義ファイル１０９を出力する。このシステム構成決定処理部３００ａの処理内容を図１５のフローチャートに示す。
【００７６】
図１５は本実施形態のシステム構成決定処理部３００ａの処理手順を示すフローチャー
トである。まずステップ１００１でシステム構成決定処理部３００ａは、稼動していたシ
ステムの既存のシステム構成定義ファイルを読み込む。読み込んだ定義ファイルより、シ
ステム構成決定処理部３００ａはシステムのマシン構成やディスク構成を取得する。次に、ステップ６０１では、入力情報１０７を取得する。入力情報１０７の内容は、ステップ１００１で読み込んだ定義情報に含まれない項目のみである。
【００７７】
そして、ステップ１００２では、既存のシステムのＤＢ処理サーバの構成とするか、負
荷を全マシン間で均一にする構成とするか、すなわちＢＥＳ(バックエンドサーバ)数の変
更が不要であるかを判定する。これは端末２００５を通してユーザから入力した指示内容
に従って判定する。そしてステップ１００２で、ＤＢ処理サーバの構成を再設定すると判
定した場合にはステップ６０２に進み、既存の構成を使用すると判定した場合にはステッ
プ６１０に進む。以下、ステップ６０２、ステップ６０３、ステップ６０４、ステップ６
０５、ステップ６０６、ステップ６０７、ステップ６０８、ステップ６０９、ステップ６
１０及びステップ６１１は、実施形態１の処理内容と同様である。
【００７８】
次に、定義ファイル配布処理部３０１は、データベース管理システムを構成する各マシ
ンに系切り替え定義ファイル１０９を配布する。各マシンは、この系切り替え定義ファイ
ル１０９に基づいて系切り替えを行うことにより、系切り替え適用構成のシステムとなる。また、ステップ１００２で負荷を全マシン間で均一にするとの判定を行い、システム構成定義ファイル１０８が作成されている場合には、定義ファイル配布処理部３０１はシステム構成定義ファイル１０８もシステム内の各マシンに配布する。
【００７９】
次に、システムが図１３の様に系切り替え機能を非適用で稼動していた場合に、系切り
替え適用構成に変更する場合の具体例について説明する。
【００８０】
まず、ステップ１００１で初期構築プログラム１０６は、既存のシステムのシステム構
成定義ファイルを読み込む。この情報からマシンの構成、ディスクの構成等を取得する。
本例では、ＤＢ処理サーバを配置するマシン数が「４」、ディスク数が「１２」であるも
のとする。
【００８１】
次にステップ１００２で、ＤＢ処理サーバの構成を再設定するかを決める。今回はＤＢ
処理サーバの構成を再設定し、以下、実施形態１と同様に、多重障害許容回数を２回とし
て系切り替え定義を作成したものとすると、システム構成決定処理部３００ａは、システ
ム構成定義ファイル１０８と系切り替え定義ファイル１０９を作成して出力し、実施形態
１での構築例と同様に、「１２」のＤＢ処理サーバを配置する結果となる。
【００８２】
次に、定義ファイル配布処理部３０１は、システム上の各マシンにシステム構成定義フ
ァイル１０８と系切り替え定義ファイル１０９を配布する。各マシンはシステム構成定義
ファイル１０８に基づきＤＢ処理サーバを起動させ、また、系切り替え定義ファイル１０
９に基づき系切り替え機能を動作させ、この稼動状態は、実施形態１の場合と同様になる。
【００８３】
この様に本実施形態では、系切り替え機能を非適用のシステムに対して、系切り替え適
用構成に変更する際に、既存のシステム構成定義ファイル１０８の内容を利用できる。
【００８４】
以上説明した様に本実施形態のデータベース管理システム構築装置によれば、既存のシ
ステム構成定義ファイルを入力してデータベース管理システムを構築するので、既存のデ
ータベース管理システムのシステム構成を再入力する負荷を低減させることが可能である。
【００８５】
（実施形態３）
次に、本発明の第三の実施形態について図１６を用いて説明する。
本発明を適用したデータベース構築システムの第三例は、入力値としてデータベースサーバ配置マシンを待機専用として指定することを可能にする。この場合、待機専用のマシンの数までの障害の発生では、障害発生マシンの全サーバが待機マシンに系切り替えし、この結果待機マシンの個数までは障害発生時にもシステム全体のスループットが低下せず、かつ待機マシンがない状態からの障害発生時にも残る他のマシンに系切り替えすることでシステム全体のスループット低下を極力少なくする。このシステムの初期構築を容易にする。
【００８６】
図１６は本実施形態の処理の概要を示す図である。図１６に示す様に本実施形態の初期構築プログラム１０６aは、システム構成決定処理部３００b、定義ファイル配布処理部３０１、待機マシン数カウント処理部１６００および系切り替え順序再定義処理部１６０１を具備する。系切り替え順序再定義処理部１６０１には、入力情報１６０２として各DB処理サーバがどのマシンで稼動しているかが入力値となり、出力として系切り替え定義ファイル１０９aが出力される。また入力情報１０７bには、入力情報１０７の情報に加えて待機マシン数を指定する値が含まれる。これ以外の部分は、図1と同様の構成である。
【００８７】
以下、本実施形態における処理手順のうち、実施形態１とは異なる初期構築プログラム１０６aの処理手順について、図１７に示すフローを用いて説明する。
本図に示した処理手順は図６に示した実施形態１におけるシステム構成決定の処理手順とはステップ１７０１が異なっており、図６のステップ６１０の代わりにステップ１７０１を有する。
まず、実施形態１と同様にステップ６０１で入力情報を読み込む。以下、実施形態１と同様にステップ６０２にてDB処理サーバ数を決定する。また、ステップ６０２でDB処理サーバ数を決定する際の稼動マシン数の初期値は、入力情報１０７bにあるマシン数から待機専用マシン数を差し引いた値とする。実施形態１と同様に図１７のフローをステップ６０９まで進める。
【００８８】
次にステップ１７０１に従い、系切り替え順序を決定する。ステップ１７０１は図１８のフローに従って求める。
まずステップ１８００にて系切り替え定義テーブル１０００を用意する。このとき、テーブルの列数は「待機マシン数＋１」とする。次にステップ１８０１にて全DB処理サーバの初期配置を決定する。これはステップ６０２で求めたDB処理サーバを各マシンに同数ずつ配置する。ステップ１８０２では、待機マシン数の回数分だけ系切り替え先の決定が完了しているかを判定する。１８０２の判定で完了していないと判定した場合には、ステップ１８０３に進む。ステップ１８０３では、順次系切り替え先を決定する。これはいずれかのマシンに障害が発生した場合の系切り替え先を決定すればよいので、待機専用マシンを系切り替え先として指定する。ステップ１８０２で判定結果が完了となった場合には、本フローを終了する。
【００８９】
以下、ステップ６１１は、実施形態１の処理内容と同様である。
次に、定義ファイル配布処理部３０１は、データベース管理システムを構成する各マシンにシステム定義ファイル１０８および系切り替え定義ファイル１０９を配布する。データベース管理システムを構成するマシンはシステム定義ファイル１０８に基づき稼動する。データベース処理サーバが稼動するマシンに障害が発生した場合には、系切り替え定義ファイル１０９に基づき系切り替えを実施しデータベース管理システムの運用を継続する。
また、データベース管理システムの稼動後、待機マシン数カウント部は、データベース管理システムで障害に備えて待機中であるマシンの数をカウントする。入力値１０７bにある待機マシン数を初期値として持ち、系切り替えが発生する度に値を１つ減らす。この値が０になった場合に、系切り替え順序再定義処理部１６０１を動作させる。この系切り替え順序再定義処理部１６０１の処理内容を図１９のフローチャートに示す。
【００９０】
図１９は本実施形態の系切り替え順序再定義処理部１６０１の処理手順を示すフローチャートである。まず、ステップ１９０１で系切り替え再定義処理部１６０１は本ステップ実行時点での各マシンで稼動するDB処理サーバの配置情報１６０２を、各マシンで稼動している系切り替え機能１１６に問い合わせることにより取得する。ステップ１９０２では、障害発生時にDB処理サーバが現在稼動しているマシンからどのマシンに系切り替えするかを設定して系切り替え順序を再定義し、ステップ１９０３にて、系切り替え順序を示す情報を系切り替え定義ファイル１０９aとして出力する。
図２０は本実施形態の系切り替え順序処理の処理手順を示すフローチャートである。図２０では、図１９にフローにおけるステップ１９０２の処理内容の詳細を表している。
【００９１】
図２０に示した処理手順は、図８に示した系切り替え順序決定の処理手順とはステップ２０００が異なっており、図８に示したステップ８０２の代わりにステップ２０００を有する。
ステップ８０１は実施形態１の処理内容と同様に系切り替え定義テーブルを用意する。
系切り替えテーブル１０００は、多重障害許容回数までの系切り替え先のマシン名を指定するテーブルである。当該処理時点では、待機マシン数の回数分だけ障害が発生し、系切り替えを実施している。よって、系切り替えテーブル１０００は、多重障害許容回数から待機マシン数を差し引いた回数の系切り替えに対応するテーブルとなる。
ステップ２０００では、図１９のステップ１９０１で読み込んだ当該処理時点で各DB処理サーバが稼動しているマシン名を初期配置マシンとして決定する。
以下、ステップ８０３、ステップ８０４、ステップ８０５、ステップ８０６及びステップ８０７は、実施形態１の処理内容と同様である。
【００９２】
次に、定義ファイル配布処理部３０１は、データベース管理システムを構成する各マシンに系切り替え定義ファイル１０９aを配布する。各マシンは、今後障害が発生した場合には、この系切り替え定義ファイル１０９aに基づいて系切り替えを行う。
次に図９の構成のデータベース管理システムを構築する時に、待機専用マシン数を１と指定した場合の具体例について図２１を用いて説明する。
まず、ユーザは入力情報１０７bを入力する。ここでは待機専用マシン数を「１」とし、他の入力情報は実施形態１と同様であり多重障害許容回数は「２」とする。以下、図１７のフローに従いシステム定義を決定する。図17のフローに従うとシステム構成は「６」のDB処理サーバを配置する図２０の(a)の様になる。また、系切り替え定義１０９は本具体例では系切り替え定義２１００の様になる。
【００９３】
図２１の(b)の様にマシン１（１０２）に障害が発生したとすると、系切り替え定義２１００に従いDBサーバ００（８００）およびDBサーバ０１（８０１）は共にマシン４に系切り替えする。この時、システム全体としてスループットの低下は無い。
ここで待機マシン数カウント処理部にて待機マシンの数が１から０になることから、系切り替え順序再定義処理部１６０１が図１９のフローに従い、系切り替え順序を再定義する。ここでは図２１の(b)の各マシンでのDBサーバの配置をステップ１９０１で読み込み、再定義した系切り替え定義２１０１を出力する。
【００９４】
さらに図２１(c)の様にマシン２（１０３）でも障害が発生した場合、再定義した系切り替え定義（２１０１）に従い、DBサーバ０２（８１０）はマシン３（１０４）へ、DBサーバ０３（８１１）はマシン４（１０５）へそれぞれ系切り替えする。
以上説明したように、本実施形態によれば、待機専用のマシンがある間は障害が発生してもシステム全体のスループットが低下せず、また待機専用のマシンがなくなったとしても障害発生時に残る他のマシンで運用を継続しシステム全体として最大限スループットを低下させないシステムを構築することができる。
【図面の簡単な説明】
【００９５】
【図１】実施形態１のデータベース管理システム構築装置の概要を示す図である。
【図２】実施形態１の設定マシン１００の概略構成を示す図である。
【図３】実施形態１のデータベース管理システムの概要を示す図である。
【図４】実施形態１の入力情報１０７の概要を示す図である。
【図５】実施形態１のシステム構成定義ファイル１０８の概要を示す図である。
【図６】実施形態１のシステム構成決定処理部３００の処理手順を示すフローチャートである。
【図７】実施形態１のＤＢ処理サーバ数決定処理の処理手順を示すフローチャートである。
【図８】実施形態１の系切り替え順序決定処理の処理手順を示すフローチャートである。
【図９】実施形態１のシステム構築の例を示す図である。
【図１０】実施形態１の系切り替え定義テーブルの概要を示す図である。
【図１１】実施形態１の系切り替え順序の決定例を示す図である。
【図１２】実施形態１の系切り替えの例を示す図である。
【図１３】実施形態２の系切り替え機能非適用の構成例を示す図である。
【図１４】実施形態２の系切り替え機能非適用のシステムに系切り替え機能を適用させる処理の概要を示す図である。
【図１５】実施形態２のシステム構成決定処理部３００ａの処理手順を示すフローチャートである。
【図１６】実施形態３の待機マシン数指定時の構成例を示す図である。
【図１７】実施形態３のシステム構成決定処理部３００aの処理手順を示すフローチャートである。
【図１８】実施形態３の系切り替え順序の決定（１７０１）の処理手順を示すフローチャートである。
【図１９】実施形態３の系切り替え定義決定処理部１９００の処理手順を示すフローチャートである。
【図２０】実施形態３の系切り替え順序の決定（１９０２）の処理手順を示すフローチャートである。
【図２１】実施形態３の系切り替えの例を示す図である。
【符号の説明】
【００９６】
１００…設定マシン、１０６…初期構築プログラム、１０７…入力情報、１０８…シス
テム構成定義ファイル、１０９…系切り替え定義ファイル、３００…システム構成決定処
理部、３０１…定義ファイル配布処理部、２００１…ＣＰＵ、２００２…主記憶装置、２
００３…通信制御装置、２００４…Ｉ／Ｏ制御装置、２００５…端末、２００６…外部記
憶装置、２００７…ネットワーク、２０１０…処理プログラム、１０１〜１０５…情報処
理装置、１１０…処理要求受付サーバ、１１１〜１１４…ＤＢ処理サーバ、１１５…外部
記憶装置、１１６…系切り替え機能、２１０１…ＣＰＵ、２１０２…主記憶装置、２１０
３…通信制御装置、２１０４…Ｉ／Ｏ制御装置、２１０６…外部記憶装置、２１０７…処
理プログラム、２２０１…ＣＰＵ、２２０２…主記憶装置、２２０３…通信制御装置、２
２０４…Ｉ／Ｏ制御装置、２５００…ネットワーク、２７００…外部記憶装置、２７０１
…処理プログラム、１０００…系切り替え定義テーブル、３００ａ…システム構成決定処
理部、１０６ａ…初期構築プログラム、１０７ｂ…入力情報、３００ｂ…システム構成決定処理部、１６００…待機マシン数カウント処理部、１６０１…系切り替え順序再定義処理部、１６０２…入力情報、１０９ａ…系切り替え定義ファイル、２１００…系切り替え定義、２１０１…再定義した系切り替え定義。
【図１】
0004595892.tif 000002
【図２】
0004595892.tif 000003
【図３】
0004595892.tif 000004
【図４】
0004595892.tif 000005
【図５】
0004595892.tif 000006
【図６】
0004595892.tif 000007
【図７】
0004595892.tif 000008
【図８】
0004595892.tif 000009
【図９】
0004595892.tif 000010
【図１０】
0004595892.tif 000011
【図１１】
0004595892.tif 000012
【図１２】
0004595892.tif 000013
【図１３】
0004595892.tif 000014
【図１４】
0004595892.tif 000015
【図１５】
0004595892.tif 000016
【図１６】
0004595892.tif 000017
【図１７】
0004595892.tif 000018
【図１８】
0004595892.tif 000019
【図１９】
0004595892.tif 000020
【図２０】
0004595892.tif 000021
【図２１】
0004595892.tif 000022