(57)【特許請求の範囲】
【請求項１】
レコードの形式であるレコード形式を複数有する複数のレコードを格納するＶＳＡＭ（Ｖｉｒｔｕａｌ  Ｓｔｏｒａｇｅ  Ａｃｃｅｓｓ  Ｍｅｔｈｏｄ）編成ファイルにより構成された第１のデータベースが蓄積しているレコードが変更された場合、１つのレコード形式を有するレコードを格納するテーブルを複数含む第２のデータベースに当該変更を反映する変更反映手段と、
前記第２のデータベースに含まれるテーブルであり、且つ、前記第１のデータベースにおいて変更されたレコードが格納されるべきテーブルを特定するための分配条件を記憶する分配条件記憶手段と、
前記第１のデータベースに蓄積されているレコードが有するレコードの形式であるレコード形式を表すレコード形式情報を取得するレコード形式取得手段と、
前記レコード形式情報に基づいて前記分配条件を生成し前記分配条件記憶手段に記憶する情報解析手段と、を備え、
前記変更反映手段は、前記記憶されている分配条件に基づいて特定されるテーブルに、前記変更を反映するように構成されたデータベース・レプリケーション・システム。
【請求項２】
請求項１に記載のデータベース・レプリケーション・システムであって、
前記第１のデータベースにおいて変更されたレコードが格納されるべきテーブルを前記第２のデータベースが含まない場合、当該第１のデータベースにおける前記レコード形式を定める第１の定義情報を取得し、当該取得した第１の定義情報に基づいて当該第２のデータベースにおいて当該テーブルを生成するテーブル生成手段を備えるデータベース・レプリケーション・システム。
【請求項３】
請求項２に記載のデータベース・レプリケーション・システムであって、
前記第１の定義情報は、ＣＯＢＯＬ（Ｃｏｍｍｏｎ  Ｂｕｓｉｎｅｓｓ  Ｏｒｉｅｎｔｅｄ  Ｌａｎｇｕａｇｅ）に従った情報であるデータベース・レプリケーション・システム。
【請求項４】
請求項２又は請求項３に記載のデータベース・レプリケーション・システムであって、
前記テーブル生成手段は、前記テーブルを生成するためのＳＱＬに従った第２の定義情報を、前記取得された第１の定義情報に基づいて生成し、当該生成した第２の定義情報に基づいて前記テーブルを生成するように構成されたデータベース・レプリケーション・システム。
【請求項５】
請求項１乃至請求項４のいずれか一項に記載のデータベース・レプリケーション・システムであって、
前記変更反映手段は、前記第１のデータベースにおいてトランザクション処理におけるコミット処理が行われた場合に、当該トランザクション処理において行われたレコードの変更を前記第２のデータベースに反映するように構成されたデータベース・レプリケーション・システム。
【請求項６】
請求項１乃至請求項５のいずれか一項に記載のデータベース・レプリケーション・システムであって、
前記第１のデータベースを保持する第１の情報処理装置と、前記第２のデータベースを保持する第２の情報処理装置と、を含み、
前記第１の情報処理装置は、前記第１のデータベースにおけるレコードの変更を表す情報を、前記第２のデータベースにおけるレコード形式に変更することなく前記第２の情報処理装置へ送信するように構成されたデータベース・レプリケーション・システム。
【請求項７】
レコードの形式であるレコード形式を複数有する複数のレコードを格納するＶＳＡＭ（Ｖｉｒｔｕａｌ  Ｓｔｏｒａｇｅ  Ａｃｃｅｓｓ  Ｍｅｔｈｏｄ）編成ファイルにより構成された第１のデータベースが蓄積しているレコードが変更された場合、１つのレコード形式を有するレコードを格納するテーブルを複数含む第２のデータベースに当該変更を反映し、
前記変更の反映は、前記第２のデータベースに含まれるテーブルであり、且つ、前記第１のデータベースにおいて変更されたレコードが格納されるべきテーブルを特定するための分配条件を、第１のデータベースに蓄積されているレコードが有するレコードの形式であるレコード形式を表すレコード形式情報に基づいて生成し記憶装置に記憶させるとともに、当該記憶装置に記憶されている分配条件に基づいて特定されるテーブルに、前記変更を反映する、データベース・レプリケーション方法。
【請求項８】
レコードの形式であるレコード形式を複数有する複数のレコードを格納するＶＳＡＭ（Ｖｉｒｔｕａｌ  Ｓｔｏｒａｇｅ  Ａｃｃｅｓｓ  Ｍｅｔｈｏｄ）編成ファイルにより構成された第１のデータベースを保持する第１の情報処理装置と通信可能に構成された第２の情報処理装置であって、
１つのレコード形式を有するレコードを格納するテーブルを複数含む第２のデータベースを保持するとともに、
前記第１のデータベースが蓄積しているレコードが変更された場合、前記第１の情報処理装置から当該レコードの変更を表す変更ログ情報を受信する変更ログ情報受信手段と、
前記受信された変更ログ情報が表す前記レコードの変更を前記２のデータベースに反映する変更反映手段と、
前記第２のデータベースに含まれるテーブルであり、且つ、前記第１のデータベースにおいて変更されたレコードが格納されるべきテーブルを特定するための分配条件を記憶する分配条件記憶手段と、
前記第１のデータベースに蓄積されているレコードが有するレコードの形式であるレコード形式を表すレコード形式情報を取得して当該取得したレコード形式情報に基づいて前記分配条件を生成し前記分配条件記憶手段に記憶する情報解析手段と、を備え、
前記変更反映手段は、前記記憶されている分配条件に基づいて特定されるテーブルに、前記変更を反映するように構成された第２の情報処理装置。
【請求項９】
レコードの形式であるレコード形式を複数有する複数のレコードを格納するＶＳＡＭ（Ｖｉｒｔｕａｌ  Ｓｔｏｒａｇｅ  Ａｃｃｅｓｓ  Ｍｅｔｈｏｄ）編成ファイルにより構成された第１のデータベースを保持する第１の情報処理装置と通信可能に構成されるとともに、１つのレコード形式を有するレコードを格納するテーブルを複数含む第２のデータベースを保持する第２の情報処理装置に、
前記第１のデータベースが蓄積しているレコードが変更された場合、前記第１の情報処理装置から当該レコードの変更を表す変更ログ情報を受信する変更ログ情報受信手段と、
前記受信された変更ログ情報が表す前記レコードの変更を前記２のデータベースに反映する変更反映手段と、を実現させ、更に、
前記第２のデータベースに含まれるテーブルであり、且つ、前記第１のデータベースにおいて変更されたレコードが格納されるべきテーブルを特定するための分配条件を記憶装置に記憶させるとともに、
前記第１のデータベースに蓄積されているレコードが有するレコードの形式であるレコード形式を表すレコード形式情報を取得して当該取得したレコード形式情報に基づいて前記分配条件を生成して記憶させる情報解析手段を実現させ、
前記変更反映手段は、前記記憶されている分配条件に基づいて特定されるテーブルに、前記変更を反映するように構成されたプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースにおけるレコードの変更を他のデータベースに反映するデータベース・レプリケーション・システムに関する。
【背景技術】
【０００２】
第１のデータベースにおけるレコードの変更を第２のデータベースに反映するデータベース・レプリケーション・システムが知られている。この種のデータベース・レプリケーション・システムの一つとして、特許文献１に記載のデータベース・レプリケーション・システムにおいて、第１のデータベース、及び、第２のデータベースのそれぞれは、１つのレコード形式を有するレコードを格納するテーブルを複数含む。
【０００３】
上記データベース・レプリケーション・システムは、第１のデータベースが含む第１のテーブルに格納されているレコードを、第２のデータベースが含むテーブルであって、当該第１のテーブルに対応するテーブルである第２のテーブルに格納するための命令を生成する。データベース・レプリケーション・システムは、生成された命令に従って、レコードを第２のテーブルに格納する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２９３７９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、データベースが、レコード形式を複数有する複数のレコードを格納するＶＳＡＭ（Ｖｉｒｔｕａｌ  Ｓｔｏｒａｇｅ  Ａｃｃｅｓｓ  Ｍｅｔｈｏｄ）編成ファイルにより構成される場合がある。ＶＳＡＭ編成ファイルは、主にメインフレームにおいて利用されている。ＶＳＡＭ編成ファイルにより構成されたデータベースにおいては、例えば、ＣＯＢＯＬ（Ｃｏｍｍｏｎ  Ｂｕｓｉｎｅｓｓ  Ｏｒｉｅｎｔｅｄ  Ｌａｎｇｕａｇｅ）におけるＲＥＤＥＦＩＮＥＳ句を用いて複数のレコード形式が定義される。
【０００６】
ところで、上述したデータベース・レプリケーション・システムを用いた場合、ＶＳＡＭ編成ファイルにより構成されたデータベースにおけるレコードの変更を、他のデータベース（例えば、リレーショナル・データベース等）に反映することができない。また、ＥＴＬ（Ｅｘｔｒａｃｔ／Ｔｒａｎｓｆｏｒｍ／Ｌｏａｄ）ツールを利用して、ＶＳＡＭ編成ファイルにより構成されたデータベースに蓄積されているレコードを抽出し、抽出したレコードを上記他のデータベースへ反映する場合、比較的長い時間を要するという問題があった。
【０００７】
即ち、上記データベース・レプリケーション・システムにおいては、ＶＳＡＭ編成ファイルにより構成されたデータベースにおけるレコードの変更をリアルタイムに他のデータベースに反映することができない場合が生じるという問題があった。
【０００８】
このため、本発明の目的は、上述した課題である「ＶＳＡＭ編成ファイルにより構成されたデータベースにおけるレコードの変更をリアルタイムに他のデータベースに反映することができない場合が生じること」を解決することが可能なデータベース・レプリケーション・システムを提供することにある。
【課題を解決するための手段】
【０００９】
かかる目的を達成するため本発明の一形態であるデータベース・レプリケーション・システムは、
レコードの形式であるレコード形式を複数有する複数のレコードを格納するＶＳＡＭ（Ｖｉｒｔｕａｌ  Ｓｔｏｒａｇｅ  Ａｃｃｅｓｓ  Ｍｅｔｈｏｄ）編成ファイルにより構成された第１のデータベースが蓄積しているレコードが変更された場合、１つのレコード形式を有するレコードを格納するテーブルを複数含む第２のデータベースに当該変更を反映する変更反映手段を備える。
【００１０】
また、本発明の他の形態であるデータベース・レプリケーション方法は、
レコードの形式であるレコード形式を複数有する複数のレコードを格納するＶＳＡＭ（Ｖｉｒｔｕａｌ  Ｓｔｏｒａｇｅ  Ａｃｃｅｓｓ  Ｍｅｔｈｏｄ）編成ファイルにより構成された第１のデータベースが蓄積しているレコードが変更された場合、１つのレコード形式を有するレコードを格納するテーブルを複数含む第２のデータベースに当該変更を反映する方法である。
【００１１】
また、本発明の他の形態である第２の情報処理装置は、
レコードの形式であるレコード形式を複数有する複数のレコードを格納するＶＳＡＭ（Ｖｉｒｔｕａｌ  Ｓｔｏｒａｇｅ  Ａｃｃｅｓｓ  Ｍｅｔｈｏｄ）編成ファイルにより構成された第１のデータベースを保持する第１の情報処理装置と通信可能に構成された第２の情報処理装置である。
【００１２】
更に、この第２の情報処理装置は、
１つのレコード形式を有するレコードを格納するテーブルを複数含む第２のデータベースを保持するとともに、
上記第１のデータベースが蓄積しているレコードが変更された場合、上記第１の情報処理装置から当該レコードの変更を表す変更ログ情報を受信する変更ログ情報受信手段と、
上記受信された変更ログ情報が表す上記レコードの変更を上記２のデータベースに反映する変更反映手段と、
を備える。
【００１３】
また、本発明の他の形態であるプログラムは、
レコードの形式であるレコード形式を複数有する複数のレコードを格納するＶＳＡＭ（Ｖｉｒｔｕａｌ  Ｓｔｏｒａｇｅ  Ａｃｃｅｓｓ  Ｍｅｔｈｏｄ）編成ファイルにより構成された第１のデータベースを保持する第１の情報処理装置と通信可能に構成されるとともに、１つのレコード形式を有するレコードを格納するテーブルを複数含む第２のデータベースを保持する第２の情報処理装置に、
上記第１のデータベースが蓄積しているレコードが変更された場合、上記第１の情報処理装置から当該レコードの変更を表す変更ログ情報を受信する変更ログ情報受信手段と、
上記受信された変更ログ情報が表す上記レコードの変更を上記２のデータベースに反映する変更反映手段と、
を実現させるためのプログラムである。
【発明の効果】
【００１４】
本発明は、以上のように構成されることにより、ＶＳＡＭ編成ファイルにより構成されたデータベースにおけるレコードの変更をリアルタイムに他のデータベースに反映することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１実施形態に係るデータベース・レプリケーション・システムの概略構成を表す図である。
【図２】本発明の第１実施形態に係るデータベース・レプリケーション・システムの機能の概略を表すブロック図である。
【図３】本発明の第１実施形態に係る第１の情報処理装置がＦＤ情報を第２の情報処理装置へ送信する際の第１の情報処理装置の作動を示したフローチャートである。
【図４】アプリケーション・プログラムのソースコードのうちの、ＦＤ句及びＲＥＤＥＦＩＮＥＳ句として記述された部分を示した説明図である。
【図５】本発明の第１実施形態に係る第２の情報処理装置が分配条件及びテーブルを生成する際の第２の情報処理装置の作動を示したフローチャートである。
【図６】本発明の第１実施形態に係る第２の情報処理装置が生成したＤＤＬ情報を示した説明図である。
【図７】本発明の第１実施形態に係る第２の情報処理装置が生成した分配条件を示したテーブルである。
【図８】本発明の第１実施形態に係る第１の情報処理装置が一時変更ログ情報を生成する際の第１の情報処理装置の作動を示したフローチャートである。
【図９】本発明の第１実施形態に係る第１の情報処理装置が生成した一時変更ログ情報を示したテーブルである。
【図１０】本発明の第１実施形態に係る第１の情報処理装置が変更ログ情報を第２の情報処理装置へ送信する際の第１の情報処理装置の作動を示したフローチャートである。
【図１１】本発明の第１実施形態に係る第２の情報処理装置が変更ログ情報を記憶する際の第２の情報処理装置の作動を示したフローチャートである。
【図１２】本発明の第１実施形態に係る第２の情報処理装置がレコードの変更を第２のデータベースに反映する際の第２の情報処理装置の作動を示したフローチャートである。
【図１３】本発明の第１実施形態に係る第２のデータベースに反映されるレコードの変更を示したテーブルである。
【図１４】本発明の第２実施形態に係る、アプリケーション・プログラムのソースコードのうちの、ＦＤ句及びＲＥＤＥＦＩＮＥＳ句として記述された部分を示した説明図である。
【図１５】本発明の第２実施形態に係る第２の情報処理装置が生成したＤＤＬ情報を示した説明図である。
【図１６】本発明の第２実施形態に係る第２の情報処理装置が生成した分配条件を示したテーブルである。
【図１７】本発明の第２実施形態に係る第１の情報処理装置が生成した一時変更ログ情報を示したテーブルである。
【図１８】本発明の第２実施形態に係る第２のデータベースに反映されるレコードの変更を示したテーブルである。
【図１９】本発明の第３実施形態に係るデータベース・レプリケーション・システムの機能の概略を表すブロック図である。
【発明を実施するための形態】
【００１６】
以下、本発明に係る、データベース・レプリケーション・システム、データベース・レプリケーション方法、情報処理装置、及び、プログラム、の各実施形態について図１〜図１９を参照しながら説明する。
【００１７】
＜第１実施形態＞
（構成）
図１に示したように、第１実施形態に係るデータベース・レプリケーション・システム１は、第１の情報処理装置（第１のデータベース・サーバ装置）１００と、第２の情報処理装置（第２のデータベース・サーバ装置）２００と、を含む。第１の情報処理装置１００及び第２の情報処理装置２００は、通信回線（本例では、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）網を構成する通信回線）ＮＷを介して、互いに通信可能に接続されている。
【００１８】
第１の情報処理装置１００は、図示しない中央処理装置（ＣＰＵ；Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、及び、記憶装置（メモリ及びハードディスク駆動装置（ＨＤＤ；Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ））を備える。第１の情報処理装置１００は、記憶装置に記憶されているプログラムをＣＰＵが実行することにより、後述する機能を実現するように構成されている。
第２の情報処理装置２００も第１の情報処理装置１００と同様の構成を有する。
【００１９】
（機能）
図２は、上記のように構成されたデータベース・レプリケーション・システム１の機能を表すブロック図である。
【００２０】
第１の情報処理装置１００の機能は、第１のデータベース部１０１と、アプリケーション実行部１０２と、一時変更ログ情報生成部１０３と、一時変更ログ情報記憶部１０４と、シーケンス情報記憶部１０５と、変更ログ情報生成部１０６と、変更ログ情報記憶部１０７と、ＦＤ（Ｆｉｌｅ  Ｄｅｓｃｒｉｐｔｏｒ）情報取得部１０８と、ＦＤ情報記憶部１０９と、情報送信部１１０と、を含む。
【００２１】
第１のデータベース部１０１は、レコードの形式であるレコード形式を複数有する複数のレコードを格納するＶＳＡＭ（Ｖｉｒｔｕａｌ  Ｓｔｏｒａｇｅ  Ａｃｃｅｓｓ  Ｍｅｔｈｏｄ）編成ファイルにより構成された第１のデータベースを保持する。
【００２２】
アプリケーション実行部１０２は、第１のデータベース部１０１に蓄積されているレコードを用いた処理を行うアプリケーション・プログラムを実行する。アプリケーション実行部１０２は、アプリケーション・プログラムを実行することにより、第１のデータベース部１０１に蓄積されているレコードを変更（追加、削除、及び、更新）する。
【００２３】
このとき、アプリケーション実行部１０２は、レコードの変更をトランザクション処理として実行する。即ち、アプリケーション実行部１０２は、１つのトランザクション処理において、第１のデータベース部１０１に蓄積されているレコードを変更する旨を表す命令（変更命令）が生成された後に、コミット命令が生成された場合にのみ、当該変更命令を第１のデータベース部１０１へ出力する。これにより、当該変更命令に基づくレコードの変更が実際に第１のデータベースに反映される。
【００２４】
なお、アプリケーション実行部１０２は、複数のアプリケーション・プログラムを実行していてもよい。
【００２５】
一時変更ログ情報生成部１０３は、アプリケーション実行部１０２が、第１のデータベース部１０１に蓄積されているレコードを変更する旨を表す命令（変更命令）を生成した場合、一時変更ログ情報を生成する。一時変更ログ情報は、変更命令を生成したアプリケーション・プログラムを特定するためのアプリケーション特定情報と、当該変更命令に基づく変更後のレコードと、変更命令の種別（追加、削除、又は、更新）を特定するための命令種別情報と、を含む。
【００２６】
一時変更ログ情報記憶部１０４は、一時変更ログ情報生成部１０３により生成された一時変更ログ情報を記憶する。
【００２７】
シーケンス情報記憶部１０５は、シーケンス情報を記憶する。シーケンス情報は、コミット命令が生成された（即ち、コミット命令に基づく処理（コミット処理）が実行された）回数を表す情報である。本例では、シーケンス情報は、整数を表す。
【００２８】
変更ログ情報生成部１０６は、アプリケーション実行部１０２がコミット命令を第１のデータベース部１０１へ出力した（即ち、コミット命令を生成した）場合、変更ログ情報を生成する。
【００２９】
具体的には、変更ログ情報生成部１０６は、生成されたコミット命令の対象となったトランザクション処理において生成された変更命令に基づいて生成された一時変更ログ情報を一時変更ログ情報記憶部１０４から取得する。また、変更ログ情報生成部１０６は、シーケンス情報記憶部１０５に記憶されているシーケンス情報を取得する。更に、変更ログ情報生成部１０６は、シーケンス情報記憶部１０５に記憶されているシーケンス情報を、当該シーケンス情報が表す値に１を加えた値に更新する。
【００３０】
変更ログ情報記憶部１０７は、変更ログ情報生成部１０６により取得された変更ログ情報としての一時変更ログ情報と、変更ログ情報生成部１０６により取得されたシーケンス情報と、を対応付けて、当該変更ログ情報の基となった変更命令が生成された順に記憶する。
【００３１】
更に、変更ログ情報生成部１０６は、生成されたコミット命令を表すコミットログ情報を生成する。
変更ログ情報記憶部１０７は、変更命令に基づく変更ログ情報を記憶した後に、当該変更命令が生成されたトランザクション処理に対するコミット命令に基づいて変更ログ情報生成部１０６により生成された変更ログ情報としてのコミットログ情報と、変更ログ情報生成部１０６により取得されたシーケンス情報と、を対応付けて記憶する。
【００３２】
ＦＤ情報取得部１０８は、第１のデータベースに蓄積されているレコードが有するレコードの形式であるレコード形式を表すＦＤ情報を取得する。本例では、ＦＤ情報取得部１０８は、アプリケーション実行部１０２が実行するアプリケーション・プログラムのソースコードを解析することによりＦＤ情報を取得する。ＦＤ情報は、第１のデータベースにおけるレコード形式を定める第１の定義情報である。
【００３３】
本例では、アプリケーション実行部１０２が実行するアプリケーション・プログラムは、ＣＯＢＯＬ（Ｃｏｍｍｏｎ  Ｂｕｓｉｎｅｓｓ  Ｏｒｉｅｎｔｅｄ  Ｌａｎｇｕａｇｅ）に従ったプログラムである。従って、ＦＤ情報取得部１０８は、ソースコードのうちのＦＤ句として記述された部分に基づいてＦＤ情報を取得する。
【００３４】
ＦＤ情報記憶部１０９は、ＦＤ情報取得部１０８により取得されたＦＤ情報と、ＦＤ情報が取得される基となったアプリケーション・プログラムを特定するためのアプリケーション特定情報（本例では、アプリケーション名（ＡＰ名））と、を対応付けて記憶する。
【００３５】
情報送信部１１０は、予め設定された送信周期が経過する毎に、ＦＤ情報記憶部１０９に記憶されている、ＦＤ情報及びアプリケーション特定情報を第２の情報処理装置２００へ送信する。更に、情報送信部１１０は、変更ログ情報記憶部１０７にコミットログ情報が記憶される毎に、変更ログ情報記憶部１０７に記憶されている、変更ログ情報及びシーケンス情報を、変更ログ情報記憶部１０７に記憶された順に第２の情報処理装置２００へ送信する。
【００３６】
変更ログ情報記憶部１０７は、情報送信部１１０により送信された変更ログ情報及びシーケンス情報を消去する。
【００３７】
第２の情報処理装置２００の機能は、第２のデータベース部２０１と、アプリケーション実行部２０２と、情報受信部（変更ログ情報受信手段）２０３と、ＦＤ情報解析部２０４と、テーブル生成部（テーブル生成手段）２０５と、分配条件記憶部（分配条件記憶手段）２０６と、反映処理部（変更反映手段）２０７と、を含む。
【００３８】
第２のデータベース部２０１は、１つのレコード形式を有するレコードを格納するテーブルを複数含む第２のデータベースを保持する。
アプリケーション実行部２０２は、第２のデータベース部２０１に蓄積されているレコードを用いた処理を行うアプリケーション・プログラムを実行する。
【００３９】
情報受信部２０３は、第１の情報処理装置１００により送信された情報（ＦＤ情報並びにアプリケーション特定情報、及び、変更ログ情報及びシーケンス情報）を受信する。
【００４０】
ＦＤ情報解析部２０４は、情報受信部２０３により受信された、ＦＤ情報及びアプリケーション特定情報を受け付ける。ＦＤ情報解析部２０４は、受け付けたＦＤ情報が表すレコード形式を有するレコードを格納するテーブルを生成するためのＤＤＬ（Ｄａｔａ  Ｄｅｆｉｎｉｔｉｏｎ  Ｌａｎｇｕａｇｅ）情報（第２の定義情報）を生成する。本例では、ＤＤＬ情報は、ＳＱＬに従った情報である。
【００４１】
テーブル生成部２０５は、ＦＤ情報解析部２０４により生成されたＤＤＬ情報が表すテーブルが、第２のデータベースに既に生成されている（即ち、第２のデータベースが当該テーブルを含む）か否かを判定する。テーブル生成部２０５は、当該テーブルが第２のデータベースに生成されていないと判定した場合、当該ＤＤＬ情報に基づいて、第２のデータベースにテーブルを生成する。
【００４２】
ＦＤ情報解析部２０４は、受け付けたＦＤ情報及びアプリケーション特定情報に基づいて分配条件を生成する。分配条件は、第２のデータベースに含まれるテーブルであり、且つ、第１のデータベースにおいて変更されたレコードが格納されるべきテーブルを変更ログ情報に基づいて特定するための情報である。
【００４３】
分配条件記憶部２０６は、ＦＤ情報解析部２０４により生成された分配条件を記憶する。
反映処理部２０７は、情報受信部２０３により受信された、変更ログ情報及びシーケンス情報を受け付ける。
【００４４】
反映処理部２０７は、受け付けた変更ログ情報及びシーケンス情報と、分配条件記憶部２０６に記憶されている分配条件と、に基づいて、第２のデータベースが含むテーブルであり、且つ、変更ログ情報が表すレコードの変更が反映されるべきテーブルを特定する。反映処理部２０７は、特定されたテーブルに、当該変更ログ情報が表すレコードの変更を反映する（即ち、レコードを追加する、レコードを削除する、又は、レコードを更新する）。
【００４５】
このとき、反映処理部２０７は、変更ログ情報とともに受け付けたシーケンス情報が表す値が小さいほど、当該変更ログ情報に基づく処理を早期に実行する。また、反映処理部２０７は、同一のシーケンス情報とともに受け付けた変更ログ情報に基づく処理を、情報受信部２０３により変更ログ情報が受信された順に実行する。
【００４６】
（作動）
次に、上記のように構成されたデータベース・レプリケーション・システム１の作動について説明する。
図３にフローチャートにより示したように、第１の情報処理装置１００は、ＦＤ情報を取得し、取得したＦＤ情報を第２の情報処理装置２００へ送信する。
【００４７】
具体的に述べると、第１の情報処理装置１００は、アプリケーション・プログラムのソースコードのうちの、ＦＤ句として記述された部分（図４の（Ａ）〜（Ｃ））を抽出する（図３のステップＳ１０１）。次いで、第１の情報処理装置１００は、抽出されたＦＤ句のうちの、ＲＥＤＥＦＩＮＥＳ句として記述された部分（図４の（Ｂ）及び（Ｃ））を抽出する（図３のステップＳ１０２）。
【００４８】
第１の情報処理装置１００は、ＦＤ句として抽出された部分、及び、ＲＥＤＥＦＩＮＥＳ句として抽出された部分、に基づいてＦＤ情報を取得する。
次いで、第１の情報処理装置１００は、取得されたＦＤ情報と、ＦＤ情報が取得される基となったアプリケーション・プログラムを特定するためのアプリケーション特定情報（本例では、アプリケーション名（ＡＰ名））と、を対応付けて記憶装置に記憶させる（図３のステップＳ１０３）。
【００４９】
そして、第１の情報処理装置１００は、予め設定された送信周期が経過する毎に、記憶装置に記憶されている、ＦＤ情報及びアプリケーション特定情報を第２の情報処理装置２００へ送信する（図３のステップＳ１０４）。
【００５０】
また、図５にフローチャートにより示したように、第２の情報処理装置２００は、ＦＤ情報を第１の情報処理装置１００から受信し、受信したＦＤ情報に基づいて分配条件及びテーブルを生成する。
【００５１】
具体的に述べると、第２の情報処理装置２００は、第１の情報処理装置１００からＦＤ情報を受信するまで待機する（図５のステップＳ２０１）。そして、第２の情報処理装置２００は、ＦＤ情報を受信すると、受信したＦＤ情報が表すレコード形式を有するレコードを格納するテーブルを生成するためのＤＤＬ情報（第２の定義情報、図６を参照）を生成する（図５のステップＳ２０２）。
【００５２】
更に、第２の情報処理装置２００は、受信したＦＤ情報及びアプリケーション特定情報に基づいて分配条件を生成する（図５のステップＳ２０３）。第２の情報処理装置２００は、生成した分配条件を記憶装置に記憶させる。
【００５３】
分配条件は、図７に示したように、アプリケーション特定情報（ＡＰ名）と、レコード形式名と、テーブル名と、条件情報と、を含む。レコード形式名は、第１のデータベースにおけるレコード形式の名称である。テーブル名は、第２のデータベースにおけるテーブルの名称である。条件情報は、本例では、レコード内のカラムである「ＫＥＹ」の値を定める情報である。
【００５４】
次いで、第２の情報処理装置２００は、生成されたＤＤＬ情報が表すテーブルが、第２のデータベースに存在する（即ち、第２のデータベースが当該テーブルを含む）か否かを判定する（図５のステップＳ２０４）。
【００５５】
第２のデータベースが当該テーブルを含まない場合、第２の情報処理装置２００は、「Ｎｏ」と判定して、当該ＤＤＬ情報に基づいて、第２のデータベースにテーブルを生成する（図５のステップＳ２０５）。なお、第２のデータベースが当該テーブルを含む場合、第２の情報処理装置２００は、図５のステップＳ２０５の処理を実行しない。
【００５６】
また、図８にフローチャートにより示したように、第１の情報処理装置１００は、一時変更ログ情報を生成する。
具体的に述べると、第１の情報処理装置１００は、第１のデータベース部１０１に蓄積されているレコードを変更する旨を表す命令（変更命令）がアプリケーション実行部１０２によって生成されるまで待機する（図８のステップＳ３０１）。
【００５７】
そして、第１の情報処理装置１００は、変更命令がアプリケーション実行部１０２によって生成されると、一時変更ログ情報を生成する（図８のステップＳ３０２）。一時変更ログ情報は、図９に示したように、変更命令を生成したアプリケーション・プログラムを特定するためのアプリケーション特定情報（本例では、「ＡＰ０１」）と、当該変更命令に基づく変更後のレコード（本例では、「０１ＡＡＡＢＢ」等）と、変更命令の種別（追加、削除、又は、更新）を特定するための命令種別情報（本例では、「ＩＮＳＥＲＴ」）と、を含む。
【００５８】
そして、第１の情報処理装置１００は、生成した一時変更ログ情報を記憶装置に記憶させる（図８のステップＳ３０３）。
そして、第１の情報処理装置１００は、図８のステップＳ３０１へ戻り、ステップＳ３０１〜ステップＳ３０３の処理を繰り返し実行する。
【００５９】
また、図１０にフローチャートにより示したように、第１の情報処理装置１００は、変更ログ情報を第２の情報処理装置２００へ送信する。
具体的に述べると、第１の情報処理装置１００は、実行中のトランザクション処理に対するコミット命令がアプリケーション実行部１０２によって生成されるまで待機する（図１０のステップＳ４０１）。
【００６０】
そして、コミット命令がアプリケーション実行部１０２によって生成されると、生成されたコミット命令の対象となったトランザクション処理において生成された変更命令に基づいて生成された一時変更ログ情報を記憶装置から取得する（図１０のステップＳ４０２）。
【００６１】
次いで、第１の情報処理装置１００は、記憶装置に記憶されているシーケンス情報を取得する（図１０のステップＳ４０３）。そして、第１の情報処理装置１００は、記憶装置に記憶されているシーケンス情報を、当該シーケンス情報が表す値に１を加えた値に更新する。
【００６２】
次いで、第１の情報処理装置１００は、取得された変更ログ情報としての一時変更ログ情報と、取得されたシーケンス情報と、を対応付けて、当該変更ログ情報の基となった変更命令が生成された順に記憶装置に記憶させる（図１０のステップＳ４０４）。
【００６３】
更に、第１の情報処理装置１００は、生成されたコミット命令を表すコミットログ情報を生成する（図１０のステップＳ４０５）。次いで、第１の情報処理装置１００は、生成した変更ログ情報としてのコミットログ情報と、上記ステップＳ４０３にて取得されたシーケンス情報と、を対応付けて記憶装置に記憶させる（図１０のステップＳ４０６）。
【００６４】
次いで、第１の情報処理装置１００は、記憶装置に記憶されている、変更ログ情報及びシーケンス情報を、記憶装置に記憶された順に第２の情報処理装置２００へ送信する（図１０のステップＳ４０７）。そして、第１の情報処理装置１００は、送信した変更ログ情報及びシーケンス情報を記憶装置から消去する。
そして、第１の情報処理装置１００は、図１０のステップＳ４０１へ戻り、ステップＳ４０１〜ステップＳ４０７の処理を繰り返し実行する。
【００６５】
即ち、コミット命令が生成されなかったトランザクション処理において生成された変更命令に基づく一時変更ログ情報は、第２の情報処理装置２００へ送信されない。
【００６６】
また、図１１にフローチャートにより示したように、第２の情報処理装置２００は、変更ログ情報を第１の情報処理装置１００から受信し、受信した変更ログ情報を格納すべきテーブル毎に記憶する。
【００６７】
具体的に述べると、第２の情報処理装置２００は、第１の情報処理装置１００から変更ログ情報を受信するまで待機する（図１１のステップＳ５０１）。そして、第２の情報処理装置２００は、末尾の変更ログ情報がコミットログ情報である複数の変更ログ情報を受信すると、受信した複数の変更ログ情報のそれぞれに対して、ステップＳ５０２〜ステップＳ５０４の処理を行う。このとき、第２の情報処理装置２００は、受信した複数の変更ログ情報の先頭側から順に処理を行う。
【００６８】
そして、第２の情報処理装置２００は、処理対象となる変更ログ情報がコミットログ情報であるか否かを判定する（図１１のステップＳ５０２）。変更ログ情報がコミットログ情報でない（即ち、変更ログ情報が一時変更ログ情報である）場合、第２の情報処理装置２００は、変更ログ情報と、記憶装置に記憶されている分配条件と、に基づいて、当該変更ログ情報が表すレコードの変更が反映されるべきテーブルを特定する。
【００６９】
次いで、第２の情報処理装置２００は、変更ログ情報を、特定されたテーブルと対応付けて記憶装置に記憶させる。即ち、第２の情報処理装置２００は、変更ログ情報を、当該変更ログ情報が表すレコードの変更が反映されるべきテーブル毎に、記憶する（図１１のステップＳ５０４）。
【００７０】
そして、処理対象となる変更ログ情報がコミットログ情報になると、第２の情報処理装置２００は、図１１のステップＳ５０３及びステップＳ５０４の処理を実行することなく、ステップＳ５０１へ戻り、ステップＳ５０１〜ステップＳ５０４の処理を繰り返し実行する。
【００７１】
また、図１２にフローチャートにより示したように、第２の情報処理装置２００は、変更ログ情報が表すレコードの変更を第２のデータベースに反映する。
【００７２】
具体的に述べると、第２の情報処理装置２００は、予め設定された反映周期が経過する毎に、記憶装置に変更ログ情報が記憶されているか否かを判定する。そして、記憶装置に変更ログ情報が記憶されている場合、第２の情報処理装置２００は、テーブル毎に、変更ログ情報を並び替える（図１２のステップＳ６０１）。
【００７３】
具体的には、第２の情報処理装置２００は、より小さい値を表すシーケンス情報とともに受信された変更ログ情報ほど、先頭側に配置する。更に、第２の情報処理装置２００は、同一のシーケンス情報とともに受信された変更ログ情報のうちの、受信された時点が早い変更ログ情報ほど、先頭側に配置する。
【００７４】
そして、第２の情報処理装置２００は、テーブル毎に、先頭側に配置された変更ログ情報から順に、当該変更ログ情報が表すレコードの変更を反映する（即ち、レコードを追加する、レコードを削除する、又は、レコードを更新する）（図１２のステップＳ６０２）。
これにより、第２のデータベースは、図１３に示したように、テーブル毎に、レコードの変更が反映される。
【００７５】
以上、説明したように、本発明の第１実施形態に係るデータベース・レプリケーション・システムによれば、ＶＳＡＭ編成ファイルにより構成されたデータベースにおけるレコードの変更をリアルタイムに他のデータベース（本例では、リレーショナル・データベース）に反映することができる。
【００７６】
更に、第１実施形態に係るデータベース・レプリケーション・システムによれば、第１のデータベースにおいて、トランザクション処理にてレコードが変更された後にコミット処理が行われなかった場合に、当該レコードの変更が第２のデータベースに反映されることを防止することができる。即ち、第１のデータベースと第２のデータベースとを確実に同期させることができる。
【００７７】
加えて、第１実施形態に係るデータベース・レプリケーション・システムによれば、第２の情報処理装置２００において、レコード形式（テーブル）毎に並列して、レコードを変更するための処理を実行することができる。これにより、データベース・レプリケーション・システム１全体のスループットを向上させることができる。その理由は、レコード形式毎に、レコードの変更を表す情報を分割しているためである。
【００７８】
＜第２実施形態＞
次に、本発明の第２実施形態に係るデータベース・レプリケーション・システムについて説明する。第２実施形態に係るデータベース・レプリケーション・システムは、上記第１実施形態に係るデータベース・レプリケーション・システムに対して、第１のデータベースに蓄積されているレコードがレコード毎に第１のレコード形式又は第２のレコード形式を有する点において相違している。従って、以下、かかる相違点を中心として説明する。
【００７９】
ところで、第２のデータベースを正規化するためには、ＶＳＡＭ編成ファイル内の１つのレコードに含まれる情報を複数のレコード形式（フォーマット）と対応付ける（マッピングする）必要がある。このため、第１の情報処理装置１００において、レコードの変更を表す情報を、第２のデータベースにおけるレコード形式に変換した配信イメージを作成する処理を行う必要があった。
【００８０】
しかしながら、第１の情報処理装置１００において配信イメージを作成する処理を行うようにデータベース・レプリケーション・システム１が構成された場合、元の（第１のデータベースにおける）レコード単位で、レコードの変更を表す情報を転送できないという問題がある。即ち、この場合、何らかの障害が発生することにより、レコードの変更を表す情報の転送処理が失敗したとき、レコードの変更を表す情報においてレコードの一部のみに相当する部分だけが転送されてしまう虞がある。その結果、第２のデータベースにおいてレコード間の整合性が取れなくなる虞がある。
【００８１】
そこで、第２実施形態に係るデータベース・レプリケーション・システム１において、第１の情報処理装置１００は、レコードの変更を表す情報を、第２のデータベースにおけるレコード形式に変換することなく第２の情報処理装置２００へ送信する。第２の情報処理装置２００は、受信した、レコードの変更を表す情報を、第２のデータベースにおけるレコード形式に変換し、変換した情報に基づいて、当該レコードの変更を第２のデータベースに反映する。
【００８２】
次に、第２実施形態に係るデータベース・レプリケーション・システム１の作動について説明する。
【００８３】
本例では、第１のデータベース部１０１に蓄積されている各レコードは、第１のレコード形式又は第２のレコード形式を有する。具体的には、図１４に示したように、第１のレコード形式は、「ＦＯＲＭＡＴ０１」により定義されるレコード内のカラムである「列３」のデータとして、「ＦＯＲＭＡＴ０２」により定義されるレコードが挿入されたレコード形式である。また、第２のレコード形式は、「ＦＯＲＭＡＴ０１」により定義されるレコード内のカラムである「列３」のデータとして、「ＦＯＲＭＡＴ０３」により定義されるレコードが挿入されたレコード形式である。
【００８４】
更に、第１のデータベース部１０１に蓄積されている各レコードは、当該レコードを特定するための情報としてのカラムである「ＰＫＥＹ」を、当該レコードの先頭に含む。第１の情報処理装置１００は、アプリケーション実行部１０２が実行するアプリケーション・プログラムのソースコードを解析することによりＦＤ情報を取得する。
【００８５】
そして、図１５に示したように、第２の情報処理装置２００は、カラムとして「ＰＫＥＹ」が存在する場合、「ＦＯＲＭＡＴ０２」及び「ＦＯＲＭＡＴ０３」に対応するテーブルのカラムとして、「ＦＯＲＭＡＴ０１」に対応するテーブルのレコードを参照するための「ＰＫＥＹ」を追加したＤＤＬ情報を生成する。
【００８６】
また、第２の情報処理装置２００は、第１の情報処理装置１００から受信したＦＤ情報及びアプリケーション特定情報に基づいて、図１６に示したように、分配条件を生成する。
【００８７】
第１の情報処理装置１００は、変更命令がアプリケーション実行部１０２によって生成されると、図１７に示したように、一時変更ログ情報を生成する。一時変更ログ情報は、図９に示したように、変更命令を生成したアプリケーション・プログラムを特定するためのアプリケーション特定情報（本例では、「ＡＰ０１」）と、当該変更命令に基づく変更後のレコード（本例では、「００００１ＡＡＡＢＢ０２ＬＬＭＭＭ」等）と、変更命令の種別（追加、削除、又は、更新）を特定するための命令種別情報（本例では、「ＩＮＳＥＲＴ」）と、を含む。
【００８８】
そして、第１の情報処理装置１００は、生成された一時変更ログ情報を第２の情報処理装置２００へ送信する。第２の情報処理装置２００は、一時変更ログ情報を受信し、受信した一時変更ログ情報が表すレコードの変更を、第２のデータベースに反映する。
これにより、第２のデータベースは、図１８に示したように、テーブル毎に、レコードの変更が反映される。
【００８９】
以上、説明したように、本発明の第２実施形態に係るデータベース・レプリケーション・システム１によれば、第１実施形態と同様の作用及び効果を奏する。
【００９０】
更に、第２実施形態に係るデータベース・レプリケーション・システム１によれば、第１の情報処理装置１００が、レコードの変更を表す情報を、第２のデータベースにおけるレコード形式に変換することなく第２の情報処理装置２００へ送信するので、変換する場合と比較して、送信されるデータ量を少なくすることができる。その理由は、カラム「ＰＫＥＹ」の値を重複して送信する必要がないからである。
【００９１】
加えて、第１の情報処理装置１００から第２の情報処理装置２００へ送信される、レコードの変更を表す情報は、１つのレコードである。即ち、元の（第１のデータベースにおける）レコード単位で、レコードの変更を表す情報を転送することができる。従って、データベースの状態の管理を簡素化することができる。更に、第２のデータベースにおいてレコード間の整合性が取れなくなることを回避することができる。
【００９２】
＜第３実施形態＞
次に、本発明の第３実施形態に係るデータベース・レプリケーション・システムについて図１９を参照しながら説明する。
第３実施形態に係るデータベース・レプリケーション・システム３００は、
レコードの形式であるレコード形式を複数有する複数のレコードを格納するＶＳＡＭ（Ｖｉｒｔｕａｌ  Ｓｔｏｒａｇｅ  Ａｃｃｅｓｓ  Ｍｅｔｈｏｄ）編成ファイルにより構成された第１のデータベースが蓄積しているレコードが変更された場合、１つのレコード形式を有するレコードを格納するテーブルを複数含む第２のデータベースに当該変更を反映する変更反映部（変更反映手段）３０１を備える。
【００９３】
これによれば、ＶＳＡＭ編成ファイルにより構成されたデータベースにおけるレコードの変更をリアルタイムに他のデータベース（例えば、リレーショナル・データベース等）に反映することができる。
【００９４】
以上、上記実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成及び詳細に、本願発明の範囲内において当業者が理解し得る様々な変更をすることができる。
【００９５】
なお、上記各実施形態においてデータベース・レプリケーション・システム１の各機能は、ＣＰＵがプログラム（ソフトウェア）を実行することにより実現されていたが、回路等のハードウェアにより実現されていてもよい。
【００９６】
また、上記各実施形態においてプログラムは、記憶装置に記憶されていたが、コンピュータが読み取り可能な記録媒体に記憶されていてもよい。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
【００９７】
また、上記実施形態の他の変形例として、上述した実施形態及び変形例の任意の組み合わせが採用されてもよい。
【００９８】
＜付記＞
上記実施形態の一部又は全部は、以下の付記のように記載され得るが、以下には限られない。
【００９９】
（付記１）
レコードの形式であるレコード形式を複数有する複数のレコードを格納するＶＳＡＭ（Ｖｉｒｔｕａｌ  Ｓｔｏｒａｇｅ  Ａｃｃｅｓｓ  Ｍｅｔｈｏｄ）編成ファイルにより構成された第１のデータベースが蓄積しているレコードが変更された場合、１つのレコード形式を有するレコードを格納するテーブルを複数含む第２のデータベースに当該変更を反映する変更反映手段を備えるデータベース・レプリケーション・システム。
【０１００】
これによれば、ＶＳＡＭ編成ファイルにより構成されたデータベースにおけるレコードの変更をリアルタイムに他のデータベース（例えば、リレーショナル・データベース等）に反映することができる。
【０１０１】
（付記２）
付記１に記載のデータベース・レプリケーション・システムであって、
前記第２のデータベースに含まれるテーブルであり、且つ、前記第１のデータベースにおいて変更されたレコードが格納されるべきテーブルを特定するための分配条件を記憶する分配条件記憶手段を備え、
前記変更反映手段は、前記記憶されている分配条件に基づいて特定されるテーブルに、前記変更を反映するように構成されたデータベース・レプリケーション・システム。
【０１０２】
（付記３）
付記１又は付記２に記載のデータベース・レプリケーション・システムであって、
前記第１のデータベースにおいて変更されたレコードが格納されるべきテーブルを前記第２のデータベースが含まない場合、当該第１のデータベースにおける前記レコード形式を定める第１の定義情報を取得し、当該取得した第１の定義情報に基づいて当該第２のデータベースにおいて当該テーブルを生成するテーブル生成手段を備えるデータベース・レプリケーション・システム。
【０１０３】
（付記４）
付記３に記載のデータベース・レプリケーション・システムであって、
前記第１の定義情報は、ＣＯＢＯＬ（Ｃｏｍｍｏｎ  Ｂｕｓｉｎｅｓｓ  Ｏｒｉｅｎｔｅｄ  Ｌａｎｇｕａｇｅ）に従った情報であるデータベース・レプリケーション・システム。
【０１０４】
（付記５）
付記３又は付記４に記載のデータベース・レプリケーション・システムであって、
前記テーブル生成手段は、前記テーブルを生成するためのＳＱＬに従った第２の定義情報を、前記取得された第１の定義情報に基づいて生成し、当該生成した第２の定義情報に基づいて前記テーブルを生成するように構成されたデータベース・レプリケーション・システム。
【０１０５】
（付記６）
付記１乃至付記５のいずれか一項に記載のデータベース・レプリケーション・システムであって、
前記変更反映手段は、前記第１のデータベースにおいてトランザクション処理におけるコミット処理が行われた場合に、当該トランザクション処理において行われたレコードの変更を前記第２のデータベースに反映するように構成されたデータベース・レプリケーション・システム。
【０１０６】
これによれば、第１のデータベースにおいて、トランザクション処理にてレコードが変更された後にコミット処理が行われなかった場合に、当該レコードの変更が第２のデータベースに反映されることを防止することができる。即ち、第１のデータベースと第２のデータベースとを確実に同期させることができる。
【０１０７】
（付記７）
付記１乃至付記６のいずれか一項に記載のデータベース・レプリケーション・システムであって、
前記第１のデータベースを保持する第１の情報処理装置と、前記第２のデータベースを保持する第２の情報処理装置と、を含み、
前記第１の情報処理装置は、前記第１のデータベースにおけるレコードの変更を表す情報を、前記第２のデータベースにおけるレコード形式に変更することなく前記第２の情報処理装置へ送信するように構成されたデータベース・レプリケーション・システム。
【０１０８】
これによれば、レコードの変更を表す情報を、第２のデータベースにおけるレコード形式に変換する場合と比較して、送信されるデータ量を少なくすることができる。更に、第１のデータベースにおけるレコード単位で、レコードの変更を表す情報を転送することができる。従って、データベースの状態の管理を簡素化することができる。更に、第２のデータベースにおいてレコード間の整合性が取れなくなることを回避することができる。
【０１０９】
（付記８）
レコードの形式であるレコード形式を複数有する複数のレコードを格納するＶＳＡＭ（Ｖｉｒｔｕａｌ  Ｓｔｏｒａｇｅ  Ａｃｃｅｓｓ  Ｍｅｔｈｏｄ）編成ファイルにより構成された第１のデータベースが蓄積しているレコードが変更された場合、１つのレコード形式を有するレコードを格納するテーブルを複数含む第２のデータベースに当該変更を反映する、データベース・レプリケーション方法。
【０１１０】
（付記９）
付記８に記載のデータベース・レプリケーション方法であって、
前記第２のデータベースに含まれるテーブルであり、且つ、前記第１のデータベースにおいて変更されたレコードが格納されるべきテーブルを特定するための分配条件を記憶装置に記憶させるとともに、当該記憶装置に記憶されている分配条件に基づいて特定されるテーブルに、前記変更を反映する、データベース・レプリケーション方法。
【０１１１】
（付記１０）
付記８又は付記９に記載のデータベース・レプリケーション方法であって、
前記第１のデータベースにおいて変更されたレコードが格納されるべきテーブルを前記第２のデータベースが含まない場合、当該第１のデータベースにおける前記レコード形式を定める第１の定義情報を取得し、当該取得した第１の定義情報に基づいて当該第２のデータベースにおいて当該テーブルを生成する、データベース・レプリケーション方法。
【０１１２】
（付記１１）
レコードの形式であるレコード形式を複数有する複数のレコードを格納するＶＳＡＭ（Ｖｉｒｔｕａｌ  Ｓｔｏｒａｇｅ  Ａｃｃｅｓｓ  Ｍｅｔｈｏｄ）編成ファイルにより構成された第１のデータベースを保持する第１の情報処理装置と通信可能に構成された第２の情報処理装置であって、
１つのレコード形式を有するレコードを格納するテーブルを複数含む第２のデータベースを保持するとともに、
前記第１のデータベースが蓄積しているレコードが変更された場合、前記第１の情報処理装置から当該レコードの変更を表す変更ログ情報を受信する変更ログ情報受信手段と、
前記受信された変更ログ情報が表す前記レコードの変更を前記２のデータベースに反映する変更反映手段と、
を備える第２の情報処理装置。
【０１１３】
（付記１２）
付記１１に記載の第２の情報処理装置であって、
前記第２のデータベースに含まれるテーブルであり、且つ、前記第１のデータベースにおいて変更されたレコードが格納されるべきテーブルを特定するための分配条件を記憶する分配条件記憶手段を備え、
前記変更反映手段は、前記記憶されている分配条件に基づいて特定されるテーブルに、前記変更を反映するように構成された第２の情報処理装置。
【０１１４】
（付記１３）
付記１１又は付記１２に記載の第２の情報処理装置であって、
前記第１のデータベースにおいて変更されたレコードが格納されるべきテーブルを前記第２のデータベースが含まない場合、当該第１のデータベースにおける前記レコード形式を定める第１の定義情報を受信し、当該受信した第１の定義情報に基づいて当該第２のデータベースにおいて当該テーブルを生成するテーブル生成手段を備える第２の情報処理装置。
【０１１５】
（付記１４）
レコードの形式であるレコード形式を複数有する複数のレコードを格納するＶＳＡＭ（Ｖｉｒｔｕａｌ  Ｓｔｏｒａｇｅ  Ａｃｃｅｓｓ  Ｍｅｔｈｏｄ）編成ファイルにより構成された第１のデータベースを保持する第１の情報処理装置と通信可能に構成されるとともに、１つのレコード形式を有するレコードを格納するテーブルを複数含む第２のデータベースを保持する第２の情報処理装置に、
前記第１のデータベースが蓄積しているレコードが変更された場合、前記第１の情報処理装置から当該レコードの変更を表す変更ログ情報を受信する変更ログ情報受信手段と、
前記受信された変更ログ情報が表す前記レコードの変更を前記２のデータベースに反映する変更反映手段と、
を実現させるためのプログラム。
【０１１６】
（付記１５）
付記１４に記載のプログラムであって、
前記第２の情報処理装置に、更に、
前記第２のデータベースに含まれるテーブルであり、且つ、前記第１のデータベースにおいて変更されたレコードが格納されるべきテーブルを特定するための分配条件を記憶装置に記憶させるとともに、
前記変更反映手段は、前記記憶されている分配条件に基づいて特定されるテーブルに、前記変更を反映するように構成されたプログラム。
【０１１７】
（付記１６）
付記１４又は付記１５に記載のプログラムであって、
前記第２の情報処理装置に、更に、
前記第１のデータベースにおいて変更されたレコードが格納されるべきテーブルを前記第２のデータベースが含まない場合、当該第１のデータベースにおける前記レコード形式を定める第１の定義情報を受信し、当該受信した第１の定義情報に基づいて当該第２のデータベースにおいて当該テーブルを生成するテーブル生成手段を実現させるためのプログラム。
【産業上の利用可能性】
【０１１８】
本発明は、データベースにおけるレコードの変更を他のデータベースに反映するデータベース・レプリケーション・システム等に適用可能である。
【符号の説明】
【０１１９】
１      データベース・レプリケーション・システム
１００  第１の情報処理装置
１０１  第１のデータベース部
１０２  アプリケーション実行部
１０３  一時変更ログ情報生成部
１０４  一時変更ログ情報記憶部
１０５  シーケンス情報記憶部
１０６  変更ログ情報生成部
１０７  変更ログ情報記憶部
１０８  ＦＤ情報取得部
１０９  ＦＤ情報記憶部
１１０  情報送信部
２００  第２の情報処理装置
２０１  第２のデータベース部
２０２  アプリケーション実行部
２０３  情報受信部
２０４  ＦＤ情報解析部
２０５  テーブル生成部
２０６  分配条件記憶部
２０７  反映処理部
３００  データベース・レプリケーション・システム
３０１  変更反映部
【図１】
0005601028.tif 000002
【図２】
0005601028.tif 000003
【図３】
0005601028.tif 000004
【図４】
0005601028.tif 000005
【図５】
0005601028.tif 000006
【図６】
0005601028.tif 000007
【図７】
0005601028.tif 000008
【図８】
0005601028.tif 000009
【図９】
0005601028.tif 000010
【図１０】
0005601028.tif 000011
【図１１】
0005601028.tif 000012
【図１２】
0005601028.tif 000013
【図１３】
0005601028.tif 000014
【図１４】
0005601028.tif 000015
【図１５】
0005601028.tif 000016
【図１６】
0005601028.tif 000017
【図１７】
0005601028.tif 000018
【図１８】
0005601028.tif 000019
【図１９】
0005601028.tif 000020