(57)【要約】【課題】  ＤＢアクセスプログラムを停止することなく再編成後の複製ＤＢディスクの内容をＤＢディスクへ反映するデータベース再編成方式および方法を提供する。【解決手段】  ＤＢ再編成プログラム１０３からの指示で複製ディスク作成機能付きアレイ装置１１０はＤＢディスク１１３の複製を複製ＤＢディスク１１５に作成する。ＤＢ再編成プログラム１０３は複製ＤＢディスク１１５の分離を指示し、分離されると複製ＤＢディスク１１５の再編成を行い、再編成前のブロック１１９と再編成後のブロック１２０の対応を再編成ブロックマップ１１７に記録する。更新ログ１１２に従い、再編成処理中に更新されたブロックの更新を行う。その後、ＤＢアクセス情報切替手段１０８にＤＢアクセス情報情報の切替処理を指示する。ＤＢアクセス情報切替手段１０８はＤＢアクセス情報テーブルを切り替え、複製ディスク１１５のリストアを指示する。【選択図】      図１
2006011737.tif 000002
【特許請求の範囲】
【請求項１】
データベースをレプリケートして複製データベースを作成する手段と、
前記複製データベースを再編成する手段と、
前記データベースに前記再編成した複製データベースをリストアする手段と、
前記リストア時に前記データベースに対するアクセスを一時抑止する手段と、
前記リストアが終了した時に前記アクセスの一時抑止を解除する手段とを備える、
ことを特徴とするデータベース再編成方式。
【請求項２】
再編成前のブロックが再編成後にどの位置に配置されたかを記憶する再編成ブロックマップと、
前記複製データベースの再編成中に前記データベースに対して実行された更新に伴うログ情報を格納する更新ログとを有し、
前記更新ログに基づき前記再編成ブロックマップを参照して前記再編成した複製データベースを更新する手段を備える、
ことを特徴とする請求項１記載のデータベース再編成方式。
【請求項３】
前記データベースの更新中のブロック番号を記憶するブロック排他情報テーブルを有し、
前記ブロック排他情報テーブルのブロック番号を前記再編成ブロックマップを参照して再編成後のブロック番号に更新する手段を備える、
ことを特徴とする請求項２記載のデータベース再編成方式。
【請求項４】
複製データベース作成手段は、
データベースをレプリケートして複製データベースを作成し、
データベース再編成手段は、
前記複製データベースを再編成し、
データベース切替手段は、
前記データベースに対するアクセスの一時抑止をデータベースアクセス手段に指示し、
前記データベースアクセス手段は、
前記データベースに対するアクセスの一時待ち合わせを行い、
前記データベースに前記再編成した複製データベースをリストアし、
前記データベースに対するアクセスの一時抑止解除を前記データベースアクセス手段に指示し、
前記データベースアクセス手段は、
前記アクセスの一時抑止を解除する、
ことを特徴とするデータベース再編成方法。
【請求項５】
前記データベース再編成手段は、
再編成前のブロックが再編成後にどの位置に配置されたかを記憶するブロック情報を再編成ブロックマップに格納し、
前記データベースアクセス手段は、
前記複製データベースの再編成中に前記データベースに対して実行した更新に伴うログ情報を更新ログに格納し、
前記データベース再編成手段は、
前記複製データベースの再編成が終了した後に前記更新ログに基づき前記再編成ブロックマップを参照して前記再編成した複製データベースを更新する、
ことを特徴とする請求項４記載のデータベース再編成方法。
【請求項６】
前記データベースアクセス手段は、
前記データベースの更新中のブロック番号をブロック排他情報テーブルに記憶し、
前記データベース切替手段は、
前記ブロック排他情報テーブルのブロック番号を前記再編成ブロックマップを参照して再編成後のブロック番号に更新する、
ことを特徴とする請求項５記載のデータベース再編成方法。
【請求項７】
データベースの複製である複製データベースを再編成する手段と、
前記データベースに前記再編成した複製データベースをリストアする手段と、
前記リストア時に前記データベースに対するアクセスを一時抑止する手段と、
前記リストアが終了した時に前記アクセスの一時抑止を解除する手段とを備える、
ことを特徴とするデータ処理装置。
【請求項８】
再編成前のブロックが再編成後にどの位置に配置されたかを記憶するブロック情報を再編成ブロックマップに格納する手段と、
前記複製データベースの再編成中に前記データベースに対して実行した更新に伴うログ情報を更新ログに格納する手段と、
前記複製データベースの再編成が終了した時に前記更新ログに基づき前記再編成ブロックマップを参照して前記再編成した複製データベースを更新する手段とを備える、
ことを特徴とする請求項７記載のデータ処理装置。
【請求項９】
前記データベースの更新中のブロック番号をブロック排他情報テーブルに記憶する手段と、
前記ブロック排他情報テーブルのブロック番号を前記再編成ブロックマップを参照して再編成後のブロック番号に更新する手段とを備える、
ことを特徴とする請求項８記載のデータ処理装置。
【請求項１０】
データ処理装置に、
データベースの複製である複製データベースを再編成する機能、
前記データベースに前記再編成した複製データベースをリストアする機能、
前記リストア時に前記データベースに対するアクセスを一時抑止する機能、
前記リストアが終了した時に前記アクセスの一時抑止を解除する機能、
を実現させるためのプログラム。
【請求項１１】
再編成前のブロックが再編成後にどの位置に配置されたかを記憶するブロック情報を再編成ブロックマップに格納する機能、
前記複製データベースの再編成中に前記データベースに対して実行した更新に伴うログ情報を更新ログに格納する機能、
前記複製データベースの再編成が終了した時に前記更新ログに基づき前記再編成ブロックマップを参照して前記再編成した複製データベースを更新する機能、
を実現させるための請求項１０記載のプログラム。
【請求項１２】
前記データベースの更新中のブロック番号をブロック排他情報テーブルに記憶する機能、
前記ブロック排他情報テーブルのブロック番号を前記再編成ブロックマップを参照して再編成後のブロック番号に更新する機能、
を実現させるための請求項１１記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース再編成方式および方法ならびにデータ処理装置およびそのプログラムに関し、特に、データベースアクセスプログラムを停止せずに再編成後のデータベースの内容をデータベースディスクに反映するデータベース再編成方式および方法ならびにデータ処理装置およびそのプログラムに関する。
【背景技術】
【０００２】
従来のデータベース再編成方式の例が、以下の文献に記載されている。
【０００３】
特許文献１では、データベースを正ディスクボリュームおよび副ディスクボリュームから成る第１の二重書きディスクボリュームに実装する。二重書きされた再編成対象データベースの片系副ディスクボリュームをオンラインシステムから切り離し、オンラインアクセスは接続状態の他方の片系正ディスクボリュームで継続して行う。オンラインシステムから切り離した片系副ディスクボリューム上のデータベースからデータベースレコードを抽出してデータベース抽出ファイルを作成する。データベース抽出ファイルに再編成処理を加えながら第２のディスクボリュームを構成する二重書きの正ボリュームおよび副ボリュームへ再編成後のデータベースを作成する。一方、再編成処理中のオンラインアクセスに対しては、オンラインシステムに接続したままの片系正ボリュームをアクセス可能にして業務サービスを継続する。更新が発生したデータベースレコードについては、正ボリュームのデータベースレコードを更新すると共に、追い付き情報ファイルに追い付き情報として更新データベースレコードを取得しておく。オフラインでの再編成処理により作成された第２のディスクボリュームの正ボリュームおよび副ボリュームと第１のディスクボリュームの片系正ボリュームとを入れ替える。以降のオンラインアクセスは再編成後のデータベースに対して行うようにする。そして、追い付き情報ファイルに格納された追い付き情報を基に、再編成後のデータベースへ追い付き情報反映処理を施し、最新状態の再編成後のデータベースを作成する。
【０００４】
また、特許文献２では、メンテ前データベースからメンテ後データベースへデータベースレコード単位に排他／排他解除を繰り返しかつ再編成処理をしながらコピーを行う。メンテナンス運用のコピー処理中および追い付き処理中のオンラインアクセスはメンテ前データベースをアクセスし、レコードの更新が発生した場合はアクセスキー情報をメモリにスタックする。全データベースレコードのコピー完了後、レコードの更新が発生した時にメモリ上にスタックしたアクセスキー情報を元に、メンテ前データベースからメンテ後データベースへデータベースレコード単位に追い付き処理を行う。メンテ後データベースを最新の状態に更新する。追い付き処理完了をきっかけに、運用終了予告連絡および業務トランザクション静止完了応答を連絡し合い業務トランザクションの静止を行う。運用終了連絡送信により、オンラインアクセス先をメンテ前データベースからメンテ後データベースへ切り替える。以降、オンラインアクセスはメンテ後データベースへ行うことになる。そして、業務トランザクションの静止状態を解除しオンラインアクセスを許可している。
【０００５】
このように、データベースをアクセスするプログラムを停止せずにデータベースを再編成することは可能であったが、再編成後のデータベースにアクセスするためには、データベースをアクセスするプログラムを停止してデータベースの切り替えを行っている。
【０００６】
【特許文献１】特開平６−６７９４４号公報
【特許文献２】特開平６−７５８４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した背景技術には、以下のような問題点がある。
【０００８】
すなわち、データベースアクセスプログラムを停止せずにアクセス中のデータベースの再編成を行うことは可能であるが、再編成後のデータベースの内容をデータベースディスクに反映するためには、データベースアクセスプログラムを停止しなければならないということである。
【０００９】
本発明の目的は、上記の問題点を解決し、データベースアクセスプログラムを停止せずに再編成後のデータベースの内容をデータベースディスクに反映するデータベース再編成方式および方法ならびにデータ処理装置およびそのプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本願第１の発明のデータベース再編成方式は、データベースをレプリケートして複製データベースを作成する手段と、前記複製データベースを再編成する手段と、前記データベースに前記再編成した複製データベースをリストアする手段と、前記リストア時に前記データベースに対するアクセスを一時抑止する手段と、前記リストアが終了した時に前記アクセスの一時抑止を解除する手段とを備える。
【００１１】
本願第２の発明のデータベース再編成方式は、第１の発明において再編成前のブロックが再編成後にどの位置に配置されたかを記憶する再編成ブロックマップと、前記複製データベースの再編成中に前記データベースに対して実行された更新に伴うログ情報を格納する更新ログとを有し、前記更新ログに基づき前記再編成ブロックマップを参照して前記再編成した複製データベースを更新する手段を備える。
【００１２】
本願第３の発明のデータベース再編成方式は、第２の発明において前記データベースの更新中のブロック番号を記憶するブロック排他情報テーブルを有し、前記ブロック排他情報テーブルのブロック番号を前記再編成ブロックマップを参照して再編成後のブロック番号に更新する手段を備える。
【００１３】
本願第４の発明のデータベース再編成方法は、複製データベース作成手段は、データベースをレプリケートして複製データベースを作成し、データベース再編成手段は、前記複製データベースを再編成し、データベース切替手段は、前記データベースに対するアクセスの一時抑止をデータベースアクセス手段に指示し、前記データベースアクセス手段は、前記データベースに対するアクセスの一時待ち合わせを行い、前記データベースに前記再編成した複製データベースをリストアし、前記データベースに対するアクセスの一時抑止解除を前記データベースアクセス手段に指示し、前記データベースアクセス手段は、前記アクセスの一時抑止を解除する、ことを特徴とする。
【００１４】
本願第５の発明のデータベース再編成方法は、第４の発明において前記データベース再編成手段は、再編成前のブロックが再編成後にどの位置に配置されたかを記憶するブロック情報を再編成ブロックマップに格納し、前記データベースアクセス手段は、前記複製データベースの再編成中に前記データベースに対して実行した更新に伴うログ情報を更新ログに格納し、前記データベース再編成手段は、前記複製データベースの再編成が終了した後に前記更新ログに基づき前記再編成ブロックマップを参照して前記再編成した複製データベースを更新する、ことを特徴とする。
【００１５】
本願第６の発明のデータベース再編成方法は、第５の発明において前記データベースアクセス手段は、前記データベースの更新中のブロック番号をブロック排他情報テーブルに記憶し、前記データベース切替手段は、前記ブロック排他情報テーブルのブロック番号を前記再編成ブロックマップを参照して再編成後のブロック番号に更新する、ことを特徴とする。
【００１６】
本願第７の発明のデータ処理装置は、データベースの複製である複製データベースを再編成する手段と、前記データベースに前記再編成した複製データベースをリストアする手段と、前記リストア時に前記データベースに対するアクセスを一時抑止する手段と、前記リストアが終了した時に前記アクセスの一時抑止を解除する手段とを備える。
【００１７】
本願第８の発明のデータ処理装置は、第７の発明において再編成前のブロックが再編成後にどの位置に配置されたかを記憶するブロック情報を再編成ブロックマップに格納する手段と、前記複製データベースの再編成中に前記データベースに対して実行した更新に伴うログ情報を更新ログに格納する手段と、前記複製データベースの再編成が終了した時に前記更新ログに基づき前記再編成ブロックマップを参照して前記再編成した複製データベースを更新する手段とを備える。
【００１８】
本願第９の発明のデータ処理装置は、第８の発明において前記データベースの更新中のブロック番号をブロック排他情報テーブルに記憶する手段と、前記ブロック排他情報テーブルのブロック番号を前記再編成ブロックマップを参照して再編成後のブロック番号に更新する手段とを備える。
【００１９】
本願第１０の発明のプログラムは、データ処理装置に、データベースの複製である複製データベースを再編成する機能、前記データベースに前記再編成した複製データベースをリストアする機能、前記リストア時に前記データベースに対するアクセスを一時抑止する機能、前記リストアが終了した時に前記アクセスの一時抑止を解除する機能、を実現させる。
【００２０】
本願第１１の発明のプログラムは、第１０の発明において再編成前のブロックが再編成後にどの位置に配置されたかを記憶するブロック情報を再編成ブロックマップに格納する機能、前記複製データベースの再編成中に前記データベースに対して実行した更新に伴うログ情報を更新ログに格納する機能、前記複製データベースの再編成が終了した時に前記更新ログに基づき前記再編成ブロックマップを参照して前記再編成した複製データベースを更新する機能、を実現させる。
【００２１】
本願第１２の発明のプログラムは、第１１の発明において前記データベースの更新中のブロック番号をブロック排他情報テーブルに記憶する機能、前記ブロック排他情報テーブルのブロック番号を前記再編成ブロックマップを参照して再編成後のブロック番号に更新する機能、を実現させる。
【発明の効果】
【００２２】
本発明の効果は、再編成後のデータベースの内容をデータベースディスクに反映するときにも、データベースアクセスプログラムを停止させる必要がないことである。
【００２３】
その理由は、データベースアクセスの一時的な抑止を行い、再編成後のデータベースの内容をデータベースディスクに反映し、データベースアクセス情報テーブルを置き換える手段を設けたからである。
【発明を実施するための最良の形態】
【００２４】
本発明は、ＤＢ（データベース）ディスクの複製である複製ＤＢディスクを作成し、ＤＢアクセスプログラムはＤＢディスクにアクセスし、ＤＢ再編成プログラムは複製ＤＢディスクの再編成を行う。ＤＢアクセスプログラムを停止することなく再編成後の複製ＤＢディスクの内容をＤＢディスクへ反映することを特徴とする。
【００２５】
次に、本発明を実施するための最良の形態について、図面を参照して詳細に説明する。
図１は本発明の構成を示す図である。
図２はＤＢアクセス情報テーブルを説明する図である。
図７は再編成ブロックマップを説明する図である。
【００２６】
図１を参照すると、本発明の実施例は、コンピュータ１０１と、複製ディスク作成機能付きアレイ装置１１０とを備えている。
【００２７】
コンピュータ１０１は、プログラム制御で動作するデータ処理装置である。コンピュータ１０１は、ＤＢアクセスプログラム１０２と、ＤＢ再編成プログラム１０３と、ファイル管理手段１０４と、複製ディスク作成機能付きアレイ装置１１０の持つ複製ディスク作成機能を使用するための複製ディスク接続／分離手段１０９とを含む。
【００２８】
ＤＢアクセスプログラム１０２は、ＤＢにアクセスして処理を行うＤＢ処理プログラムである。
【００２９】
ＤＢ再編成プログラム１０３は、ＤＢの再編成を行うプログラムである。
【００３０】
ファイル管理手段１０４は、ＤＢアクセス手段１０５と、ＤＢアクセス情報切替手段１０８とを含む。
【００３１】
ＤＢアクセス手段１０５は、ＤＢディスク１１３のためのＤＢアクセス情報テーブル１０６と複製ＤＢディスク１１５のためのＤＢアクセス情報テーブル１０７とを含む。ＤＢアクセス手段１０５は、ＤＢアクセス情報テーブル１０６を使用してＤＢディスク１１３に対するアクセスを制御する。また、ＤＢアクセス情報テーブル１０７を使用して複製ＤＢディスク１１５に対するアクセスを制御する。ＤＢアクセス情報テーブル１０６とＤＢアクセス情報テーブル１０７は、コンピュータ１０１のメモリー（図示せず）などに記憶される。
【００３２】
ＤＢアクセス情報テーブル１０６は、ＤＢディスク１１３のＤＢに関する情報が格納される。ＤＢアクセス情報テーブル１０６は、図２に示すように、ファイル管理情報テーブル２０１と、ブロック排他情報テーブル２０２と、エクステント情報テーブル２０４と、を含む。ファイル管理情報テーブル２０１は、ＤＢの持つ論理的な情報（例えばレコードの長さやブロックの長さなど）が格納されたテーブルである。ブロック排他情報テーブル２０２は、複数のＤＢアクセスプログラム１０２からＤＢにアクセスした際に、すでに更新中のブロックを複数のＤＢアクセスプログラム１０２から同時に更新しないように排他するための情報が格納されたテーブルである。更新中のブロックが、例えば、どのエクステントの何番目のブロックかで示され格納される。エクステント情報テーブル２０４は、エクステント１１４がＤＢディスク１１３上でどこに配置されているかを表す物理的な情報が格納されたテーブルである。
【００３３】
ＤＢアクセス情報テーブル１０７についても、複製ＤＢディスク１１５のＤＢに関する情報が格納され、図２に示すように、ＤＢアクセス情報テーブル１０６と同様の情報が格納される。
【００３４】
ＤＢアクセス情報テーブル１０６およびＤＢアクセス情報テーブル１０７は、ＤＢアクセスプログラム１０２やＤＢ再編成プログラム１０３がＤＢをオープンした時に作成される。
【００３５】
ＤＢアクセス情報切替手段１０８は、ＤＢアクセス情報テーブル１０６とＤＢアクセス情報テーブル１０７とを切り替える。すなわち、ファイル管理情報テーブル２０１をファイル管理情報テーブル２０５の内容で置換する。また、エクステント情報テーブル２０４をエクステント情報テーブル２０８の内容で置換する。また、ブロック排他情報テーブル２０２を再編成ブロックマップ１１７を元に更新する。更に、複製ディスク接続／分離手段１０９に複製ＤＢディスク１１５のリストアを指示する。
【００３６】
複製ディスク接続／分離手段１０９は、ＤＢ再編成プログラム１０３あるいはＤＢアクセス情報切替手段１０８から指示を受け、複製ＤＢディスク１１５の接続／分離を複製ディスク作成機能付きアレイ装置１１０の複製ディスク接続／分離機構１２１に指示する。
【００３７】
複製ディスク作成機能付きアレイ装置１１０は、内部に複数のディスクを備え、任意のディスクに対応する複製ディスクを作成する機能をもつディスクアレイ装置である。作成した複製ディスクは、複製元のディスクと全く同一の内容を持つ。図１の例では、ＤＢディスク１１３が複製元ディスクで、複製ＤＢディスク１１５が複製先ディスクであることを示している。複製ディスク作成機能付きアレイ装置１１０は、ＤＢディスク１１３と、複製ＤＢディスク１１５と、更新ログディスク１１１と、再編成ブロックマップ１１７と、複製ディスク接続／分離機構１２１と、を含む。
【００３８】
ＤＢディスク１１３は、再編成が必要なＤＢが格納されている。ＤＢディスク１１３に格納されるＤＢは、複数のレコードを集めたブロック１１９と、データを効率良く管理するために複数のブロック１１９をまとめたエクステント１１４とから構成される。
【００３９】
複製ＤＢディスク１１５は、再編成に使用する複製ＤＢが格納されている。すなわち、ＤＢディスク１１３に格納されているＤＢの複製が格納されている。複製ＤＢディスク１１５に格納されるＤＢは、複数のレコードを集めたブロック１２０と、データを効率良く管理するために複数のブロック１２０をまとめたエクステント１１６とから構成される。
【００４０】
更新ログディスク１１１は、再編成中の更新ログ１１２を格納する。更新ログ１１２は、複製ＤＢディスク１１５の再編成中に実行されたＤＢディスク１１３の更新に伴うログ情報であり、更新のあったブロックのブロック番号と更新データなどを含む。
【００４１】
再編成ブロックマップ１１７は、再編成によって変更されたブロックの格納位置を記憶するブロック情報１１８が登録される。ブロック情報１１８は、再編成前のブロックが再編成後にどのエクステントの何番目に配置されたかを記憶するための情報である。再編成ブロックマップ１１７は、単純なシーケンシャルファイルで、図７（Ａ）に示すような構造となっている。シーケンシャルファイルの各レコードは再編成前ＤＢの各ブロックに対応付けられる。例えば、図７（Ａ）のレコード番号ｎのレコードが再編成前のブロック番号ｎのブロックに対応し、再編成前のブロックが再編成後にどのエクステントの何番のブロックとなったかを記憶する。図７（Ｂ）の例を用いて説明する。なお、本例は再編成前ＤＢのエクセテント番号１に含まれるブロックについてのブロック情報とする。再編成前のブロック番号１のブロックは再編成後にエクステント番号５のエクステントのブロック番号１に格納された（移動した）。再編成前のブロック番号２のブロックは再編成後にエクステント番号１のエクステントのブロック番号２に格納された(この場合、移動なし)。再編成前のブロック番号３のブロックは再編成後にエクステント番号８のエクステントのブロック番号５に格納された（移動した）。
【００４２】
複製ディスク接続／分離機構１２１は、複製ＤＢディスク１１５の接続／分離を行う。なお、複製ＤＢディスク１１５の接続／分離については、後述する本発明の構成要素の動作概略で説明する。
【００４３】
次に、本発明の構成要素の動作概略を説明する。
【００４４】
ＤＢディスク１１３と複製ＤＢディスク１１５は、任意のタイミングで接続／分離が可能である。複製ディスクの接続／分離は、複製ディスク接続／分離機構１２１によって行われる。ＤＢディスク１１３と複製ＤＢディスク１１５が接続された状態では、ＤＢディスク１１３と複製ＤＢディスク１１５は全く同じ状態である。このとき、コンピュータ１０１では１つのディスクとして認識する（本例では、ＤＢディスク１１３を認識する）。また、ＤＢディスク１１３と複製ＤＢディスク１１５が分離された状態では、コンピュータ１０１は、ＤＢディスク１１３と複製ＤＢディスク１１５を異なるディスクとして認識する。コンピュータ１０１は、ＤＢディスク１１３と複製ＤＢディスク１１５を、それぞれ別の用途で使用することができる。本実施例では、ＤＢディスク１１３をＤＢアクセスプログラム１０２で使用し、複製ＤＢディスク１１５をＤＢ再編成プログラム１０３で使用する。
【００４５】
本実施例では、ＤＢディスク１１３と複製ＤＢディスク１１５を接続状態にしてＤＢディスク１１３の内容を複製ＤＢディスク１１５に複写することをレプリケートと呼ぶ。また、ＤＢディスク１１３と複製ＤＢディスク１１５を接続状態にして複製ＤＢディスク１１５の内容をＤＢディスク１１３に複写することをリストアと呼ぶ。
【００４６】
ＤＢディスク１１３と複製ＤＢディスク１１５ディスクとの間のデータ複写は、複製ディスク作成機能付きアレイ装置１１０が行い、コンピュータ１０１の資源を使用しない。データ複写中にＤＢアクセスプログラム１０２から発行されたＩ／Ｏが、参照Ｉ／Ｏの場合、複写元（レプリケートの場合はＤＢディスク１１３、リストアの場合は複製ＤＢディスク１１５）の内容を使用する。更新Ｉ／Ｏの場合には、複写元と複写先の両方に書き込まれる。従って、ＤＢディスク１１３と複製ＤＢディスク１１５に対してレプリケート／リストアが行われた場合、コンピュータ１０１では瞬時に複写が完了したように見える。
【００４７】
ＤＢアクセスプログラム１０２は、ＤＢアクセス手段１０５を介して、ＤＢが格納されたＤＢディスク１１３にアクセスを行う。
【００４８】
ＤＢアクセス手段１０５は、ＤＢアクセス情報テーブル１０６に従って、ＤＢディスク１１３に格納されたエクステント１１４およびブロック１１９を特定する。
【００４９】
ＤＢ再編成プログラム１０３は、複製ディスク接続／分離手段１０９を使用して、ＤＢディスク１１３および複製ＤＢディスク１１５の接続状態を制御する。ＤＢディスク１１３と複製ＤＢディスク１１５が分離された後に、ＤＢ再編成プログラム１０３は、複製ＤＢディスク１１５用のＤＢアクセス情報テーブル１０７を使用して、複製ＤＢディスク１１５にアクセスを行う。
【００５０】
次に、本発明を実施するための最良の形態の動作について、図面を参照して詳細に説明する。
図３は再編成中のＤＢ更新処理の流れを示す図である。
図４は再編成中のＤＢ参照処理の流れを示す図である。
図５は再編成処理の流れを示す図である。
図６はＤＢアクセス情報切り替え処理の流れを示す図である。
【００５１】
本発明に関連する動作として３つの要素がある。ＤＢ再編成中のＤＢ更新処理（図３）とＤＢ再編成中のＤＢ参照処理（図４）とＤＢ再編成処理（図５）である。さらに、ＤＢ再編成処理では、本発明の特徴であるＤＢアクセス情報切替処理（図６）を含む。それぞれの処理について、動作の説明を行う。
【００５２】
最初に、ＤＢ再編成中のＤＢ更新処理について、図３を用いて説明する。
【００５３】
ＤＢアクセスプログラム１０２はレコード更新を行う場合、ＤＢアクセス手段１０５にレコード更新処理の指示を行う（図３のステップ３０１）。
【００５４】
レコード更新処理を指示されたＤＢアクセス手段１０５は、ＤＢアクセス情報テーブル１０６から更新するレコードを含むブロックを特定する（図３のステップ３０２）。
【００５５】
ＤＢアクセス手段１０５は、ステップ３０２で特定されたブロックが他のＤＢアクセスプログラムから使用されているか否かを調べるために、ブロック排他情報２０３をブロック排他情報テーブル２０２から検索する（図３のステップ３０３）。
【００５６】
ブロック排他情報テーブル２０２に特定されたブロックのブロック排他情報２０３がある場合（図３のステップ３０４のＹＥＳ）、他のＤＢアクセスプログラムがブロックを使用中であるため、排他が解除されるまでウェイトする。ブロックの排他はＤＢアクセスプログラムが一連の更新処理が完了した後に解除される。この一連の更新処理を一般的にトランザクションと呼ぶ。
【００５７】
ブロック排他情報テーブル２０２に特定されたブロックのブロック排他情報２０３がない場合（図３のステップ３０４のＮＯ）、ＤＢアクセス手段１０５は、ブロック排他情報テーブル２０２に特定されたブロックのブロック排他情報２０３を追加する（図３のステップ３０５）。
【００５８】
ＤＢアクセス手段１０５は、ステップ３０２で特定したＤＢディスク１１３のブロックを更新する（図３のステップ３０６）。
【００５９】
ＤＢアクセス手段１０５は、更新ログディスク１１１に更新ログ１１２を追加する（図３のステップ３０７）。
【００６０】
続いて、ＤＢ再編成中のＤＢ参照処理について、図４を用いて説明する。
【００６１】
ＤＢアクセスプログラム１０２はレコード参照を行う場合、ＤＢアクセス手段１０５にレコード参照処理の指示を行う（図４のステップ４０１）。
【００６２】
レコード参照処理を指示されたＤＢアクセス手段１０５は、ＤＢアクセス情報テーブル１０６から参照するレコードを含むブロックを特定する（図４のステップ４０２）。
【００６３】
ＤＢアクセス手段１０５は、ＤＢディスク１１３からステップ４０２で特定したブロックを取得する（図４のステップ４０３）。
【００６４】
ＤＢアクセス手段１０５は、ステップ４０３で取得したブロックからレコードを切り出しＤＢアクセスプログラム１０２に返却する（図４のステップ４０４）。
【００６５】
続いて、ＤＢ再編成処理について、図５を用いて説明する。
【００６６】
再編成処理を行う前に、ＤＢディスク１１３の複製ディスクである複製ＤＢディスク１１５を作成しておくものとする。ＤＢ再編成プログラム１０３が複製ディスク作成機能付きアレイ装置１１０にＤＢディスク１１３の複製作成を指示することで、複製ディスク作成機能付きアレイ装置１１０がＤＢディスク１１３の複製ディスクである複製ＤＢディスク１１５を作成する。なお、複製ディスクの作成は、任意のタイミングで行えば良い。
【００６７】
ＤＢ再編成プログラム１０３は、複製ディスク接続／分離手段１０９に複製ＤＢディスク１１５の分離を指示する（図５のステップ５０１）。
【００６８】
複製ディスク接続／分離手段１０９は、複製ディスク接続／分離機構１２１に複製ＤＢディスク１１５の分離を指示する（図５のステップ５０２）。複製ＤＢディスク１１５の分離指示を受けた複製ディスク接続／分離機構１２１は、即座に複製ＤＢディスク１１５の分離を行う。このとき、ＤＢディスク１１３と複製ＤＢディスク１１５の内容は同一のものである。
【００６９】
複製ＤＢディスク１１５の分離が完了した後、ＤＢ再編成プログラム１０３は、複製ＤＢディスク１１５のエクステント１１６が可能な限り連続するように並べ替えを行う（図５のステップ５０３）。
【００７０】
エクステント１１６の並べ替えが完了すると、ＤＢ再編成プログラム１０３は、エクステント１１６のなかのブロック１２０が連続するように並べ替えを行う（図５のステップ５０４）。ステップ５０３とステップ５０４は、一般的なＤＢ再編成の処理である。
【００７１】
ＤＢ再編成プログラム１０３は、再編成前のブロック１１９と再編成後のブロック１２０の対応を再編成ブロックマップ１１７に記録する（図５のステップ５０５）。
【００７２】
全てのエクステント１１６と全てのブロック１２０の並べ替えを完了した後、ＤＢ再編成プログラム１０３は、更新ログ１１２に従い、再編成ブロックマップ１１７を参照して、再編成処理中に更新されたブロックの更新を行う（図５の５０６）。
【００７３】
ＤＢ再編成プログラム１０３は、ＤＢアクセス情報切替手段１０８にＤＢアクセス情報情報の切替処理を指示する（図５のステップ５０７）。
【００７４】
最後に、ＤＢアクセス情報の切替処理について、図６を用いて説明する。
【００７５】
ＤＢアクセス情報切替手段１０８は、ＤＢアクセス手段１０５にＤＢアクセスの一時的な抑止を指示する（図６のステップ６０１）。ＤＢアクセスの一時的な抑止とは、更新処理の場合、図３のステップ３０１とステップ３０２の間でウェイト状態とし、ＤＢアクセスを待ち合わせるものである。ただし、ＤＢアクセスプログラム１０２は停止させる必要はない。また、参照処理の場合、図４のステップ４０１とステップ４０２の間でウェイト状態とすることで実現できる。
【００７６】
ＤＢアクセスの一時的な抑止が完了した後、ＤＢアクセス情報切替手段１０８は、ファイル管理情報テーブル２０１をファイル管理情報テーブル２０５に置き換える（図６のステップ６０２）。
【００７７】
ＤＢアクセス情報切替手段１０８は、エクステント情報テーブル２０４をエクステント情報テーブル２０８に置き換える（図６のステップ６０３）。
【００７８】
ＤＢアクセス情報切替手段１０８は、ブロック排他情報テーブル２０２に含まれるブロック排他情報２０３のブロック番号を、再編成ブロックマップ１１７に登録されたブロック情報１１８を元に更新する（図６のステップ６０４）。これにより、ブロック排他情報テーブル２０２に含まれるブロック排他情報２０３のブロック番号は再編成後のブロック番号となる。よって、再編成前（再編成中）にアクセスしていたブロックに関する排他制御を継続して行うことができる。ステップ６０４が完了した時点で、再編成されたＤＢにアクセス可能となっている。
【００７９】
ＤＢアクセス情報切替手段１０８は、複製ディスク接続／分離手段１０９に複製ＤＢディスク１１５のリストアを指示する（図６のステップ６０５）。
【００８０】
複製ＤＢディスク１１５のリストアを指示された複製ディスク接続／分離手段１０９は、複製ディスク接続／分離機構１２１に複製ＤＢディスク１１５のリストアを指示する（図６のステップ６０６）。
【００８１】
複製ＤＢディスク１１５のリストアを指示された複製ディスク接続／分離機構１２１は、即座に複製ＤＢディスク１１５のリストアを開始する。リストア処理後、コンピュータ１０１では、ＤＢディスク１１３が再編成されたディスク（複製ＤＢディスク１１５）のように見える。
【００８２】
ＤＢアクセス情報切替手段１０８はＤＢアクセス手段１０５にＤＢアクセスの再開を指示する（図６のステップ６０７）。ＤＢアクセスの再開とは、ステップ６０１で行ったＤＢアクセスの一時的な抑止を解除することを示す。
【００８３】
本発明の効果は、ＤＢアクセスプログラム１０２を停止させることなく、ＤＢの再編成処理を行い、再編成後された複製ＤＢディスク１１５の内容をＤＢディスク１１３に反映できることにある。その理由は、複製ディスク作成機能付きアレイ装置１１０の持つディスクの内容を瞬時にリストアできる機能と、コンピュータ１０１のＤＢアクセス情報切替手段１０８で、再編成後のＤＢアクセスに必要な情報を書き換える機能によるものである。
【００８４】
次に、本発明の他の実施例について説明する。
【００８５】
上述した実施例では、更新ログ１１２およびブロック情報１１８は、複製ディスク作成機能付きアレイ装置１１０内のデイスクに配置されているが、複製ディスクの作成機能を持たないディスクアレイ装置あるいはディスク装置に配置するようにしてもよい。また、更新ログ１１２およびブロック情報１１８は、ディスクに限らず、コンピュータ１０１のメモリーに配置するようにしてもよい。
【００８６】
また、上述した実施例では、ＤＢをアクセスするプログラムは、ＤＢアクセスプログラム１０２のみであるが、複数のＤＢアクセスプログラムが存在していても実現可能である。
【００８７】
本発明による上述した実施の形態において、データ処理装置の処理動作を実行するためのプログラム等を、データとしてデータ処理装置の磁気ディスクや光ディスク等の記録媒体（図示せず）に記録するようにし、記録されたデータを読み出してデータ処理装置を動作させるために用いる。このように、本発明によるデータ処理装置を動作させるデータを記録媒体に記録させ、この記録媒体をインストールすることによりデータ処理装置の機能が実現できるようになる。
【産業上の利用可能性】
【００８８】
本発明を利用することにより、２４時間無停止で動作し続けなければならないプログラムが動作するコンピュータシステムに適用できる。
【図面の簡単な説明】
【００８９】
【図１】本発明の構成例を示す図
【図２】ＤＢアクセス情報テーブルを説明する図
【図３】再編成中のＤＢ更新処理の流れを示す図
【図４】再編成中のＤＢ参照処理の流れを示す図
【図５】再編成処理の流れを示す図
【図６】ＤＢアクセス情報の切替処理の流れを示す図
【図７】再編成ブロックマップを説明する図
【符号の説明】
【００９０】
１０１    コンピュータ
１０２    ＤＢアクセスプログラム
１０３    ＤＢ再編成プログラム
１０４    ファイル管理手段
１０５    ＤＢアクセス手段
１０６    ＤＢアクセス情報テーブル
１０７    ＤＢアクセス情報テーブル
１０８    ＤＢアクセス情報切替手段
１０９    複製ディスク接続／分離手段
１１０    複製ディスク作成機能付きアレイ装置
１１１    更新ログディスク
１１２    更新ログ
１１３    ＤＢディスク
１１４    エクステント
１１５    複製ＤＢディスク
１１６    エクステント
１１７    再編成ブロックマップ
１１８    ブロック情報
１１９    ブロック
１２０    ブロック
１２１    複製ディスク接続／分離機構
【図１】
2006011737.tif 000003
【図２】
2006011737.tif 000004
【図３】
2006011737.tif 000005
【図４】
2006011737.tif 000006
【図５】
2006011737.tif 000007
【図６】
2006011737.tif 000008
【図７】
2006011737.tif 000009