(57)【要約】【課題】本発明は、再編成されている間にファイルになされる変更をもたらすことに関する処理を低減する方法及びシステムを提供する。【解決手段】データを再編成する方法を記述する。本方法は、ソース・ファイルの各レコードを読み出す段階と目的ファイルに各レコードを書き込む段階とを含む。また、本方法は、各ログ・レコードが前記目的ファイルに対してなされるべき変更に関連付けられた、選択されたログ・レコードを含んでいるログ・ファイルを生成する段階も含む。本方法は、ログ・ファイルの各ログ・レコードを読み出す段階と目的ファイルに対して関連付けられた変更をもたらすべくログ・ファイルの各レコードを処理する段階とを更に含む。本方法は、ソース・ファイルを目的ファイルで置き換える段階を更に含む。また、本方法の段階を実施するための装置及び製造の物品も開示する。【特許請求の範囲】
【請求項１】
データを再編成する方法であって、
ソース・ファイルの各レコードを読み出す段階と、
目的ファイルに各レコードを書き込む段階と、
各ログ・レコードが前記目的ファイルに対してなされるべき変更に関連付けられた、選択されたログ・レコードを含んでいるログ・ファイルを生成する段階と、
前記ログ・ファイルの各ログ・レコードを読み出す段階と、
前記目的ファイルに対して前記関連付けられた変更をもたらすべく前記ログ・ファイルの各レコードを処理する段階と、及び
前記ソース・ファイルを前記目的ファイルで置き換える段階とを具備することを特徴とする方法。
【請求項２】
前記ソース・ファイルは、インデックス・ファイルであることを特徴とする請求項１に記載の方法。
【請求項３】
前記ソース・ファイルは、データ・ファイルであることを特徴とする請求項１に記載の方法。
【請求項４】
ログ・ファイルを生成する前記段階は、ＤＢＭＳログ・ルーチンの命令に従って実行されることを特徴とする請求項１に記載の方法。
【請求項５】
前記ログ・ファイルは、前記ＤＢＭＳログ・ルーチンによって処理された全てのレコードのサブセットを含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記ログ・ファイル・レコードは、再編成ユーティリティによって確立されたプログラム・コールに基づき選択されることを特徴とする請求項４に記載の方法。
【請求項７】
前記プログラム・コールは、前記再編集ユーティリティの終了の前に取り除かれることを特徴とする請求項６に記載の方法。
【請求項８】
データベース管理システムによる変更をロギングする方法であって、
ログされるべき変更を識別する段階と、
前記変更に基づきログ・レコードを生成する段階と、
前記変更が再編成処理に影響を及ぼすかどうかを決定する段階と、
前記変更が前記再編成処理に影響を及ぼすならば、選択された変更をレコーディングしている第１のログ・ファイルにログ・レコードを記憶する段階と、及び
全ての変更をレコーディングしている第２のログ・ファイルに前記ログ・レコードを記憶する段階
を具備することを特徴とする方法。
【請求項９】
前記第１のログ・ファイルは、仮想記憶装置に存在することを特徴とする請求項８に記載の方法。
【請求項１０】
前記第１のログ・ファイルは、データスペースに存在することを特徴とする請求項８に記載の方法。
【請求項１１】
前記第１のログ・ファイルは、ハイパースペースに存在することを特徴とする請求項８に記載の方法。
【請求項１２】
前記第１のログ・ファイルは、ＤＡＳＤに存在することを特徴とする請求項８に記載の方法。
【請求項１３】
データを再編成する装置であって、
ソース・ファイルの各レコードを読み出す手段と、
目的ファイルに各レコードを書き込む手段と、
各ログ・レコードが前記目的ファイルに対してなされるべき変更に関連付けられた、選択されたログ・レコードを含んでいるログ・ファイルを生成する手段と、
前記ログ・ファイルの各ログ・レコードを読み出す手段と、
前記目的ファイルに対して前記関連付けられた変更をもたらすべく前記ログ・ファイルの各レコードを処理する手段と、及び
前記ソース・ファイルを前記目的ファイルで置き換える手段とを備えることを特徴とする装置。
【請求項１４】
前記ソース・ファイルは、インデックス・ファイルであることを特徴とする請求項１３に記載の装置。
【請求項１５】
前記ソース・ファイルは、データ・ファイルであることを特徴とする請求項１３に記載の装置。
【請求項１６】
前記ログ・ファイルは、ＤＢＭＳログ・ルーチンの命令に従って生成されることを特徴とする請求項１３に記載の装置。
【請求項１７】
前記ログ・ファイルは、前記ＤＢＭＳログ・ルーチンによって処理された全てのレコードのサブセットを含むことを特徴とする請求項１６に記載の装置。
【請求項１８】
前記ログ・ファイル・レコードは、再編成ユーティリティによって確立されたプログラム・コールに基づき選択されることを特徴とする請求項１６に記載の装置。
【請求項１９】
前記プログラム・コールは、前記再編集ユーティリティの終了の前に取り除かれることを特徴とする請求項１８に記載の装置。
【請求項２０】
データを再編成する装置であって、
プロセッサと、
前記プロセッサの動作を制御するためのプログラムを記憶する、前記プロセッサに接続されたメモリとを備え、
前記プロセッサは、
ソース・ファイルの各レコードを読み出し、
目的ファイルに各レコードを書き込み、
各ログ・レコードが前記目的ファイルに対してなされるべき変更に関連付けられた、選択されたログ・レコードを含んでいるログ・ファイルを生成し、
前記ログ・ファイルの各ログ・レコードを読み出し、
前記目的ファイルに対して前記関連付けられた変更をもたらすべく前記ログ・ファイルの各レコードを処理し、かつ
前記ソース・ファイルを前記目的ファイルで置き換えるべく、前記メモリの前記プログラムで動作することを特徴とする装置。
【請求項２１】
前記ソース・ファイルは、インデックス・ファイルであることを特徴とする請求項２０に記載の装置。
【請求項２２】
前記ソース・ファイルは、データ・ファイルであることを特徴とする請求項２０に記載の装置。
【請求項２３】
前記プロセッサは、ＤＢＭＳログ・ルーチンの命令に従って前記ログ・ファイルを生成すべく前記メモリの前記プログラムで更に動作することを特徴とする請求項２０に記載の装置。
【請求項２４】
前記ログ・ファイルは、前記ＤＢＭＳログ・ルーチンによって処理された全てのレコードのサブセットを含むことを特徴とする請求項２３に記載の装置。
【請求項２５】
前記プロセッサは、再編成ユーティリティによって確立されたプログラム・コールに基づき前記ログ・ファイル・レコードを選択すべく前記メモリの前記プログラムで更に動作することを特徴とする請求項２０に記載の装置。
【請求項２６】
前記プロセッサは、前記再編集ユーティリティの終了の前に前記プログラム・コールを取り除くべく前記メモリの前記プログラムで更に動作することを特徴とする請求項２３に記載の装置。
【請求項２７】
データを再編成する方法をインプリメントするための処理命令で符号化されたコンピュータ読取可能記憶媒体であって、前記処理命令は、
ソース・ファイルの各レコードを読み出す段階、
目的ファイルに各レコードを書き込む段階、
各ログ・レコードが前記目的ファイルに対してなされるべき変更に関連付けられた、選択されたログ・レコードを含んでいるログ・ファイルを生成する段階、
前記ログ・ファイルの各ログ・レコードを読み出す段階、
前記目的ファイルに対して前記関連付けられた変更をもたらすべく前記ログ・ファイルの各レコードを処理する段階、及び
前記ソース・ファイルを前記目的ファイルで置き換える段階、
を実行すべくコンピュータを指図することを特徴とするコンピュータ読取可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にデータベースまたはファイル・アクセスのための情報処理環境、システム及び方法に関する。より特定的には、本発明は、表スペースまたはインデックスの再編成を改善するシステム及び方法に関する
【背景技術】
【０００２】
コンピュータは、大量の情報を記憶し、管理しかつそれらへのアクセスを提供するための強力なツールである。コンピュータ・データベースは、ユーザへのアクセスを提供すると同時にコンピュータに情報を記憶するための一つの一般的機構である。データベースの一般的コンピュータ・インプリメンテーションは、種々のファイルまたはオブジェクトにデータ及びインデックスを記憶する。
【０００３】
典型的に、ユーザは、データベースを構成しているデータ及び/又はインデックスが記憶されるオブジェクトへの直接アクセスを有していない。ユーザは、データベース管理システム（“ＤＢＭＳ”）、またはＤＢＭＳと連通するアプリケーションを介してデータ及びインデックスへの間接アクセスがよく提供される。ＤＢＭＳは、データを変更し、更新し、削除しかつ物理的オブジェクトに挿入するためにユーザまたはアプリケーションからの要求に応答することを担当する。このように、ＤＢＭＳは、エンド・ユーザと物理的データ記憶機構との間のバッファとして動作し、それによってユーザが用いているテーブルの基礎を成しているハードウェア・レベル詳細を知らなければならないかまたは考慮しなければならないことからエンド・ユーザを遮蔽する。
【０００４】
例えば、データを記憶しかつアクセスするために表スペース及びインデックス・オブジェクトを採用するＤＢ２を含んでいる、多くの一般的なデータベース管理システムが存在する。一般的なＤＢＭＳインプリメンテーションの別の例は、データを記憶しかつアクセスするためにデータベース及びインデックスを採用するＩＭＳである。
【０００５】
典型的なデータベース環境では、ユーザ・データの行は、データベースまたは表スペースのようなデータ・オブジェクトに維持される表に存在する。ユーザ・データを記憶している各オブジェクトは、一つ以上のインデックスを有しうる。各インデックスは、キーによる表の行へのアクセスを容易にする。インデックスのキーは、典型的に、表の一つ以上の列からのデータである。データの行は、新しいデータを読み出し、更新し、削除しかつ挿入するためにバッチ及びオンライン・アプリケーションに利用可能である。データの行が挿入または削除されるときは、対応する挿入または削除は、全ての関連インデックスで実行される。キー列が更新されるときは、全ての対応するインデックスも更新される。
【０００６】
典型的な表及びインデックスは、多量のレコードを含みうる。多くのＤＢＭＳでは、オブジェクトに対する全ての変更、更新、削除及び挿入は、ログ・ファイルに記録される。ログ・ファンクションは、オブジェクトに対してなされる高ボリュームの変更及び多数のレコードによりＤＢＭＳにおける最も忙しいファンクションの一つである。また、典型的なＤＢＭＳログ・ファンクションは、ログル・エキジットも許容する。具体的には、ＤＢＭＳが各ログ・レコードを書き込む前に、それは、ログ・エキジット・ルーチンをコールしかつログ・レコードのアドレスをルーチンにパスする。
【０００７】
時間に対して、表及び/又はインデックスからの変更、追加及び削除は、記憶データの非効率的編成を結果としてもたらしうるし、かつエンド・ユーザ及びアプリケーションからの要求にタイムリーに応答するためのＤＢＭＳの機能に影響を及ぼしうる。効率的なデータ記憶及びアクセスを維持するために、データ及びインデックス・オブジェクトを再編成するためにユーティリティが開発された。最後に再編集ユーティリティが実行されて以来、そのようなユーティリティは、要求の処理によってもたらされたデータの非効率的編成を修正するために定期的に実行されうる。データの再編成を実行するために必要な時間及び資源により、再編成ユーティリティは、定期的に採用される。
【０００８】
再編成ユーティリティを実行すると同時に、再編成されるデータ及び/又はインデックス・オブジェクトへのアクセスを必要とするバッチ及びオンライン・アプリケーションは、コンカレントに実行されうる。この理由により、再編成ユーティリティは、対象となるオブジェクトを典型的に検査しかつ二つのフェーズに再編成する。第１のフェーズでは、対象となるオブジェクトは、再編成ユーティリティの実行までに発生した全ての変更の原因となるべく再編成される。
【０００９】
第２のフェーズでは、典型的な再編成ユーティリティは、再編成ユーティリティの実行中に発生した全ての変更の原因となる。これは、コンカレント・バッチ及びオンライン・アプリケーションによって要求された変更を反映している全てのログ・ファイル・レコードを見直すことによって達成される。再編成を完了する前に、ユーティリティは、ログ・ファイルに書き込まれた変更の全てを処理し、それによって対象となるデータまたはインデックス・オブジェクトの最新の再編成を提供する。
【００１０】
典型的なＤＢＭＳ環境を図１に示す。図示するように、環境は、記憶された情報を維持（保守）しかつそれへのアクセスを許容するためのデータベース１１０を含む。データベース１１０は、データの行及び列を記憶するための少なくとも一つのデータ・オブジェクト１１２を含む。データベース１１０は、そこに記憶されたデータをアクセスすることを支援するためにデータ・オブジェクト１１２に関連付けられた一つ以上のインデックス１１４及び１１６を含むのが好ましい。
【００１１】
データベース１１０へのアクセスは、データベース管理システム（“ＤＢＭＳ”）１２０によって提供される。ＤＢＭＳ１２０は、ユーザ１３０がデータベース１１０にアクセスすることを可能にする。また、ＤＢＭＳ１２０は、ユーザ１５０がアプリケーション１４０を通して間接的にデータベース１１０にアクセスすることを可能にする。ＤＢＭＳ１２０は、データベース１１０に記憶されたデータを読み出し、追加し、削除しかつ変更するためのルーチンを含む。また、ＤＢＭＳ１２０は、ＤＢＭＳ１２０によって管理されるオブジェクトになされた全ての変更をロギングするための少なくとも一つのルーチンも含む。ロギング・ファンクションは、データ・オブジェクト１２４及びインデックス・オブジェクト１２６として具現化されるログ・データベース１２２を利用しうる。変更をロギングするためのルーチンに加えて、ＤＢＭＳ１２０は、データ・オブジェクト１１２及びインデックス１１４及び１１６に記憶されたデータの保全性を維持するためのユーティリティを更に含む。ある一定のユーティリティは、破損された場合にデータベース１１０内のファイルまたはオブジェクトを再構築するために用いられうる。その他のユーティリティ、特に再構成ユーティリティは、より効率的アクセスのためにデータベース１１０に記憶されたデータを再構成するために用いられうる。再編成ユーティリティは、データ・オブジェクト１１２、インデックス１１４、インデックス１１６及びそれらの組合せで動作しうる。
【００１２】
ここで図２を参照すると、データ又はインデックス・エントリが追加、削除または変更される毎に通常のＤＢＭＳログ・ルーチンが実行するステップを示す。ステップ２１０では、ログ・レコードがログ・ファイルに生成される。ログ・ファイルは、データ及び/又はインデックス・オブジェクトに対してＤＢＭＳによってなされた変更を含む。ログ・レコードは、影響を受けたデータまたはインデックス・オブジェクトを識別し、影響を受けたファイルのレコードを識別しかつレコードに対する変更の結果として生じたアクティビティの種類を記述する。ステップ２１２では、ログ・エキジット・ルーチンがコールされる。ログ・エキジット・ルーチンは、ログ・レコードの書き込みの前にコールされ、かつログ・レコードのアドレスは、コールの一部としてパスされる。ステップ２１４では、ログ・レコードがログ・ファイルに実際に書き込まれる。
【００１３】
図３Ａ及び３Ｂを参照すると、通常の再編成ユーティリティがデータを効率的に記憶するために実行するステップを示しているブロック図が示される。ステップは、参照番号３００によって集合的に参照される。通常の再編成ユーティリティは、データ及びインデックス・オブジェクトの両方で動作しうるが、図２、３Ａ、及び３Ｂは、データ・オブジェクトを再編成することにより記述される。勿論、インデックスを再編成するときには同様なステップが実行される。
【００１４】
再編成ユーティリティ３００は、二つのフェーズで動作する。図３Ａに示される、第１のフェーズ中では、ユーティリティは、再編成の始まりに存在するときにデータ・オブジェクトから各レコードを個別にコピーする。図３Ｂに示される、第２のフェーズ中では、再編成ユーティリティは、第１のフェーズを処理している間にデータ・オブジェクトに対してなされる変更の原因となる。かかる変更は、ユーザ、オンライン・アプリケーション、または再編成の第１のフェーズを処理することとコンカレントにデータ・オブジェクトへのアクセスを要求するバッチ・アプリケーションによって要求されうる。
【００１５】
ここで図３Ａを参照すると、通常の再編成ユーティリティの第１のフェーズのステップが示されている。ステップ３１０では、再編成ユーティリティは、再編成されるべきリアル・データ・オブジェクトのフォーマットに基づき空“影”データ・オブジェクトを生成する。リアル・データ・オブジェクトの各レコードは、ステップ３１２で読み出される。決定ブロック３１４によって示されるように、ステップ３１２でリアル・データ・オブジェクトからレコードを読み出すことの試みがエンド-オブ-ファイル状態を結果としてもたらした場合には、再編成ユーティリティは、処理の第２のフェーズを開始する。レコードがステップ３１２でうまく読み出されたならば、レコードは、ステップ３１６で影データ・オブジェクトに書き込まれる。
【００１６】
ここで図３Ｂを参照すると、通常の再編成ユーティリティの第２のフェーズのステップが示されている。ステップ３１８で、処理の第２のフェーズにエンターすることにより、再編成ユーティリティは、再編成されるデータ・オブジェクトのレコードに関係するログ・ファイルの第１のレコードをサーチする。ここで、ログされた変更は、再編成ユーティリティが呼び出された後で発生する。後続の繰り返しにおいて、ステップ３１８は、再編成されるデータ・オブジェクトのレコードに関係するログ・ファイルの次のレコードをサーチする。ステップ３２０では、レコードは、ログ・ファイルから読み出される。
【００１７】
決定ブロック３２２によって示されるように、ステップ３２０でログ・ファイルからレコードを読み出すことの試みがエンド-オブ-ファイル状態を結果としてもたらした場合には、再編成ユーティリティは、ステップ３２６を実行することによって再編成処理を完了する。ログ・ファイル・レコードがステップ３２０でうまく読み出されたならば、ログ・ファイル・レコードによって記述された変更は、ステップ３２４で影インデックスに適用され、かつ処理は、ステップ３１８に戻るように指向される。データ・オブジェクトに対する全てのコンカレント変更が適用された後、新たに再編成された影データ・オブジェクトは、ステップ３２６でリアル・データ・オブジェクトになるべく再命名され、それによって再構成されたオブジェクトへのアクセスを許容する。
【発明の開示】
【発明が解決しようとする課題】
【００１８】
従って、再編成ユーティリティを通常の再構成ユーティリティよりも効率的に動作させることが可能なデータを再編成するための改善された方法及びシステムに対する必要性が存在する。特に、それが再編成されている間にファイルになされる変更をもたらすことに関する処理を低減する方法及びシステムに対する必要性が存在する。
【課題を解決するための手段】
【００１９】
データを再編成する方法を記述する。本方法は、ソース・ファイルの各レコードを読み出す段階と、目的ファイルに各レコードを書き込む段階とを含む。また、本方法は、選択されたログ・レコードを含んでいるログ・ファイルを生成する段階を含む。各ログ・レコードは、目的ファイルになされるべき変更に関連付けられる。本方法は、ログ・ファイルの各ログ・レコードを読み出す段階と、目的ファイルに対して関連付けられた変更をもたらすべくログ・ファイルの各レコードを処理する段階とを更に含む。本方法は、ソース・ファイルを目的ファイルで置き換える段階を更に含む。
【００２０】
また、データベース管理システムによる変更をロギングする方法を記述する。本方法は、ログされるべき変更を識別する段階と、変更に基づきログ・レコードを生成する段階とを含む。また、本方法は、変更が再編成処理に影響を及ぼすかどうかを決定する段階を含む。変更が再編成処理に影響を及ぼすならば、ログ・レコードは、第１のログ・ファイルに記憶される。第１のログ・ファイルは、選択された変更だけを記録する。第２のログ・ファイルは、全ての変更を記録する。
【００２１】
また、データを再編成する第１の装置を記述する。本装置は、ソース・ファイルの各レコードを読み出す手段と、目的ファイルに各レコードを書き込む手段とを含む。また、本装置は、選択されたログ・レコードを含んでいるログ・ファイルを生成する手段を含む。各ログ・レコードは、目的ファイルに対してなされるべき変更に関連付けられる。本装置は、ログ・ファイルの各ログ・レコードを読み出す手段と、目的ファイルに対して関連付けられた変更をもたらすべくログ・ファイルの各レコードを処理する手段とを更に含む。本装置は、ソース・ファイルを目的ファイルで置き換える手段を更に含む。
【００２２】
データを再編成する第２の装置を記述する。第２の装置は、プロセッサと、プロセッサに接続されたメモリとを含む。メモリは、データを再編成する本方法の段階を実行すべくプロセッサの動作を制御するためのプログラムを記憶する。
【００２３】
また、製造の物品を記述する。製造の物品は、データを再編成する本方法をインプリメントするための処理命令で符号化されたコンピュータ読取可能記憶媒体である。
【００２４】
開示した方法及びシステムの目的、特徴及び効果は、添付した図面に関して参照したときに好適な実施形態の以下の説明から容易に理解されるであろう。
【実施例】
【００２５】
環境
データを再編成する開示した方法は、図４に示したような環境で動作するのが好ましい。図示したように、環境は、そこに記憶されたデータをアクセスすることを支援すべく少なくとも一つのデータ・オブジェクト４１２とデータ・オブジェクト４１２に関連付けられた一つ以上のインデックス４１４及び４１６とを備えているデータベース４１０を含む。勿論、インデックス４１４及び４１６は、オプションであり、かつデータ・オブジェクト４１２は、インデックスを有することを必要としない。
【００２６】
データベース４１０へのアクセスは、データベース管理システム（“ＤＢＭＳ”）４２０によって提供される。ＤＢＭＳ４２０は、ユーザ４３０がデータベース４１０にアクセスすることを可能にする。また、ＤＢＭＳ４２０は、アプリケーション４４０を通して間接的にユーザ４５０がデータベース４１０にアクセスすることを可能にする。ＤＢＭＳ４２０は、データベース４１０に記憶されたデータを読み出し、追加し、削除し及び変更するためのルーチンを含む。
【００２７】
ＤＢＭＳ４２０のロギング・ルーチンは、データ・オブジェクト４２４及びインデックス・オブジェクト４２６として具体化されるログ・データベース４２２にＤＢＭＳ４２０によって管理されるオブジェクトに対してなされた全ての変更をログする。変更をロギングするためのルーチンに加えて、ＤＢＭＳ４２０は、データ・オブジェクト４１２及びインデックス４１４及び４１６に記憶されたデータの保全性を維持するためのユーティリティを更に含む。ある一定のユーティリティは、破損されたときにデータベース４１０内のファイルまたはオブジェクトを再構築するための用いられうる。その他のユーティリティ、特に再編成ユーティリティは、より効率的アクセスのためにデータベース４１０に記憶されたデータを再構成するために用いられうる。再編成ユーティリティは、データ・オブジェクト４１２、インデックス４１４、インデックス４１６、及びそれらの組合せで動作しうる。再編成ユーティリティは、ログ・データ・オブジェクト４２８及びログ・インデックス・オブジェクト４２９を含んでいるログ・データベース４２７を利用する。ログ・データベース４２７は、ログ・データベース４２２にログされた変更のサブセットを記憶する。
【００２８】
ここで図５Ａ及び５Ｂを参照すると、本出願による再編成ユーティリティの一実施形態のステップを示しているブロック図が示される。ステップは、参照番号５００によって集合的に参照される。開示された再編成ユーティリティは、データ及びインデックス・オブジェクトの両方で動作しうるが、図５Ａ、５Ｂ及び６は、データ・オブジェクトを再編成する観点から記述される。勿論、インデックスを再編成するときに同様なステップが実行されかつそれは、本発明の方法及びシステムの適用範囲内にあると考えられる。
【００２９】
改善された再編成ユーティリティ５００は、二つのフェーズで動作する。図５Ａに示した、第１のフェーズ中に、改善された再編成ユーティリティは、ＤＢＭＳログ・ルーチンによって用いられるべきプログラム・コールを確立しかつそれが再編成の開始で存在するときにデータ・オブジェクトから各レコードを個別にコピーする。図５Ｂに示した、第２のフェーズ中に、改善された再編成ユーティリティは、第１のフェーズ中にデータ・オブジェクトに対してなされた変更の原因となるべくログ・レコードの複製されたサブセットを利用する。
【００３０】
ここで図５Ａを参照すると、改善された再編成ユーティリティの第１のフェーズのステップが示される。ステップ５１０では、改善された再編成ユーティリティは、再編成されるべきリアル・データ・オブジェクトのフォーマットに基づき空影データ・オブジェクトを生成する。ステップ５１２では、改善された再編成ユーティリティは、図６を参照してより詳細に説明される、ＤＢＭＳログ・ルーチンによって用いられるべきプログラム・コールを確立する。確立されたプログラム・コールは、ログ・レコードを検査しかつ再編成されるべきオブジェクトに対する変更に関連付けられたログ・レコードのコピーを作成する。これらの選択ログ・レコードは、ログ・ファイルに記憶されうるが、再編成ユーティリティの効率を改善するためにメモリに記憶されるのが好ましい。
【００３１】
メモリ利用においてしきい値に達した場合には、ログ・レコードは、ＤＡＳＤに記憶されうる。従って、メモリ及び複製ログ・ファイルは、再編成ユーティリティによって処理されるべきログ・レコードだけを含み、それにより第２のフェーズをより効率的に処理する。
【００３２】
リアル・データ・オブジェクトの各レコードは、ステップ５１４で読み出される。決定ブロック５１６によって示されるように、ステップ５１４でリアル・データ・オブジェクトからレコードを読み出すことの試みがエンド-オブ-ファイル状態を結果としてもたらすならば、改善された再編成ユーティリティは、処理の第２のフェーズを開始する。レコードがステップ５１４でうまく読み出されたならば、レコードは、ステップ５１８で影データ・オブジェクトに書き込まれる。
【００３３】
ここで図５Ｂを参照すると、改善された再編成ユーティリティの第２のフェーズが示される。ステップ５２０で、処理の第２のフェーズにエンターすることにより、再編成ユーティリティは、メモリの領域及び/又は処理の第２のフェーズに関連したレコードを含んでいる複製ログ・ファイルにアクセスし、かつ第１のログ・レコードを読み出す。後続の繰り返しにおいて、ステップ５２０は、ログ・ファイルの次のレコードを読み出す。
【００３４】
決定ブロック５２２では、改善された再編成ユーティリティは、ステップ５２０がエンド-オブ-ファイル状態を結果としてもたらしたかどうかを決定する。もたらしたならば、再編成ユーティリティは、ステップ５２６で処理することを継続する。ログ・ファイル・レコードがステップ５２０でうまく読み出されたならば、ログ・ファイル・レコードによって記述された変更は、ステップ５２４で影インデックスに適用され、かつ処理は、ステップ５２０に戻るように指向される。データ・オブジェクに対する全てのログされた変更が適用された後、プログラム・コールは、ステップ５２６で取り除かれかつ新たに再編成された影データ・オブジェクトがステップ５２８でリアル・データ・オブジェクトになるべく再命名され、それによって再編成されたデータ・オブジェクトへのアクセスを許容する。
【００３５】
ここで図６を参照すると、本発明の方法及びシステムにより、データまたはインデックス・エントリが追加、削除、または変更される毎に、改善されたＤＢＭＳログ・ルーチンが実行するステップが示されている。ステップ６１０ではログ・レコードは、データ及び/又はインデックス・オブジェクトに対してＤＢＭＳによってなされた変更を含むログ・ファイルに生成される。ステップ６１２では、ログ・エキジット・ルーチンがコールされ、かつログ・レコードのアドレスがコールの一部としてパスされる。決定ブロック６１４によって示されるように、プログラム・コールが改善された再編成ユーティリティによって確立されたならば、図５Ａのステップ５１２を参照して先に説明されたように、ログ・ルーチンは、ステップ６１６を処理する。
【００３６】
ステップ６１６では、ログ・レコードが現在再編成されているファイルへの変更を表すならば、ログ・レコードは、再編成の第２のフェーズ用の複製ログ・ファイルにコピーされる。プログラム・コールが確立されていないか、またはステップ６１６の処理を終了することにより、ログ・レコードは、ステップ６１８で通常のログ・ファイルに書き込まれる。
【００３７】
上記説明から、当業者は、開示された方法及びシステムにおける改善、変化及び変更を認識する。この技術分野内におけるそのような改善、変化及び変更は、添付した特許請求の範囲によって網羅されることを意図する。
【００３８】
従って、この開示における図面及び説明は、開示した方法及びシステムの理解を容易にするために提供され、かつその適用範囲を限定するように解釈されるべきではないということが理解されるべきである。添付した特許請求の範囲だけによって定義されるように開示した方法及びシステムの精神及び適用範囲から逸脱することなく様々な変更、代用及び変形を行うことができるということが理解されるべきである。
【図面の簡単な説明】
【００３９】
【図１】典型的なＤＢＭＳ環境を示す概略ブロック図である。
【図２】通常のＤＢＭＳログ・ルーチンによって採用された主要ステップを示すファンクショナル・フロー図である。
【図３Ａ】通常の再編成ユーティリティによって典型的に採用された主要ステップを示すファンクショナル・フロー図である。
【図３Ｂ】通常の再編成ユーティリティによって典型的に採用された主要ステップを示すファンクショナル・フロー図である。
【図４】本発明の方法及びシステムの環境を示す概略ブロック図である。
【図５Ａ】本発明の再編成方法による再編成ユーティリティの実施形態の主要ステップを示すファンクショナル・フロー図である。
【図５Ｂ】本発明の再編成方法による再編成ユーティリティの実施形態の主要ステップを示すファンクショナル・フロー図である。
【図６】本発明の再編成方法によるＤＢＭＳログ・ルーチンの実施形態の主要ステップを示すファンクショナル・フロー図である。
【図１】
2004524632.tif 000002
【図２】
2004524632.tif 000003
【図３Ａ】
2004524632.tif 000004
【図３Ｂ】
2004524632.tif 000005
【図４】
2004524632.tif 000006
【図５Ａ】
2004524632.tif 000007
【図５Ｂ】
2004524632.tif 000008
【図６】
2004524632.tif 000009
【国際公開パンフレット】
2004524632.tif 000010
2004524632.tif 000011
2004524632.tif 000012
2004524632.tif 000013
2004524632.tif 000014
2004524632.tif 000015
2004524632.tif 000016
2004524632.tif 000017
2004524632.tif 000018
2004524632.tif 000019
2004524632.tif 000020
2004524632.tif 000021
2004524632.tif 000022
2004524632.tif 000023
2004524632.tif 000024
2004524632.tif 000025
2004524632.tif 000026
2004524632.tif 000027
2004524632.tif 000028
2004524632.tif 000029
2004524632.tif 000030
2004524632.tif 000031
2004524632.tif 000032
2004524632.tif 000033
2004524632.tif 000034
2004524632.tif 000035
2004524632.tif 000036
2004524632.tif 000037
2004524632.tif 000038
2004524632.tif 000039
【国際調査報告】
2004524632.tif 000040