(57)【要約】【課題】ログを利用したデータベース二重化方式の特徴を活かしつつ、一括登録での煩雑なユーザ操作を低減する。【解決手段】正システムは、正側データベースと、外部装置から複数のレコードのデータを一括登録する手段と、ログ搬送路を通じて複数のレコードのデータを一括登録する処理の実行を示す一括登録ログを副システムに通知する手段と、データ搬送路を通じて一括登録された複数のレコードのデータを副システムに転送する手段と、を備え、副システムは、取得したログが一括登録ログであったときに、データ搬送路を通じて一括登録の対象である複数のレコードのデータを取得する手段と、一括登録の対象である複数のレコードのデータを副側データベースに一括反映する手段と、を備える。【選択図】図４
2010092109.tif 000002
【特許請求の範囲】
【請求項１】
ログ搬送路で接続された正システムと副システムとを有する情報システムであり、
前記正システムは、
正側データベースと、
前記正側データベースにおいてレコード単位でデータを処理する正側レコード処理手段と、
前記正側レコード処理手段によってデータが処理されたときに、その処理結果をログに記録するログ記録手段と、
前記ログ記録手段に記録されたログを、前記ログ搬送路を通じて前記副システムに転送する手段と、
外部装置から複数のレコードのデータを一括登録する手段と、
前記複数のレコードのデータを一括登録する処理の実行を示す一括登録ログを、ログ搬送路を通じて前記副システムに通知する手段と、
前記一括登録された複数のレコードのデータを、データ搬送路を通じて前記副システムに転送する手段と、を備え、
前記副システムは、
副側データベースと、
前記ログ搬送路を通じて前記正システムからログを取得する手段と、
前記取得したログにしたがって、前記副側データベースにおいてレコード単位でデータを処理する副側レコード処理手段と、
前記取得したログが一括登録ログであったときに、前記データ搬送路を通じて前記一括登録の対象である複数のレコードのデータを取得する手段と、
前記一括登録の対象である複数のレコードのデータを副側データベースに一括反映する手段と、を備える情報システム。
【請求項２】
前記ログ搬送路と前記データ搬送路とが同一種類の通信手段を含む請求項１に記載の情報システム。
【請求項３】
ログ搬送路で接続された正システムと副システムとを有する情報システムが実行する情報処理の方法であり、
前記正システムが、
正側データベースにおいてレコード単位でデータを処理する正側レコード処理ステップと、
前記正側レコード処理ステップにてデータが処理されたときに、その処理結果をログに記録するログ記録ステップと、
前記ログ記録ステップにて記録されたログを、前記ログ搬送路を通じて前記副システムに転送するステップと、
外部装置から複数のレコードのデータを一括登録するステップと、
前記複数のレコードのデータを一括登録するステップの実行を示す一括登録ログを、ログ搬送路を通じて前記副システムに通知するステップと、
前記一括登録された複数のレコードのデータを、データ搬送路を通じて前記副システムに転送するステップと、を実行し、
前記副システムが、
前記ログ搬送路を通じて前記正システムから取得したログにしたがって、副側データベースにおいてレコード単位でデータを処理する副側レコード処理ステップと、
前記取得したログが一括登録ログであったときに、前記データ搬送路を通じて前記一括登録の対象である複数のレコードのデータを取得するステップと、
前記一括登録の対象である複数のレコードのデータを副側データベースに一括反映するステップと、を実行する情報処理の方法。
【請求項４】
ログ搬送路で接続された正システムと副システムとを有する情報システムで実行されるプログラムであり、
前記正システムのコンピュータに、
正側データベースにおいてレコード単位でデータを処理する正側レコード処理ステップと、
前記正側レコード処理ステップにてデータが処理されたときに、その処理結果をログに記録するログ記録ステップと、
前記ログ記録ステップにて記録されたログを、前記ログ搬送路を通じて前記副システムに転送するステップと、
外部装置から複数のレコードのデータを一括登録するステップと、
前記複数のレコードのデータを一括登録するステップの実行を示す一括登録ログを、ログ搬送路を通じて前記副システムに通知するステップと、
前記一括登録された複数のレコードのデータを、データ搬送路を通じて前記副システムに転送するステップと、を実行させるためのプログラム部分と、
前記副システムのコンピュータに、
前記ログ搬送路を通じて前記正システムから取得したログにしたがって、副側データベースにおいてレコード単位でデータを処理する副側レコード処理ステップと、
前記取得したログが一括登録ログであったときに、前記データ搬送路を通じて前記一括登録の対象である複数のレコードのデータを取得するステップと、
前記一括登録の対象である複数のレコードのデータを副側データベースに一括反映するステップと、を実行させるためのプログラム部分とを含む、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、データベース等の情報システムの二重化に関する。
【背景技術】
【０００２】
災害対策や負荷分散を目的としたデータベースの二重化を実現する方式として、更新ログを利用したデータベースの二重化技術がある。この技術では、応用プログラムからのＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）文発行による複写元データベース（正システム）の更新結果である更新ログが、複写先データベース（副システム）に搬送され、副システムのデータに反映される。図１に、その技術の概要を示す。この技術では、データベースを正システムと副システムで構成する。正システムと副システムとはログ搬送路で接続される。ログ搬送路は、複写機構付きディスク装置、ファイル転送機能およびネットワーク転送などによって構成される。
【０００３】
正システムは、複写元となるデータベース、ＳＱＬ処理を実行するデータベース管理システム（ＤａｔａＢａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ：以降ＤＢＭＳと省略）、正システムのログを副システムに転送する二重化システムを有する。また、副システムは、複写先となるデータベース、ＳＱＬ処理を実行するデータベース管理システム（ＤＢＭＳ）、正システムからのログを受け取る二重化システムを有する。
【０００４】
このシステムでは、例えば、ＳＱＬによるデータベース更新指示をＤＢＭＳが受け付け、正システムのデータベースを更新する。このとき、正システム側で取得されるログが、二重化システムおよびログ搬送路を通じて、副システム側に引き渡される。副システムは、引き渡されたログにしたがって、副システム側のデータベースを更新する。
【０００５】
この技術では、データベースのデータを格納しているディスクボリュームそのものを二重化する技術と比べて、以下の特徴がある。
（１）正システムと副システムとの間のデータ搬送量が大幅に削減可能である。
（２）データベースの二重化運用を継続した状態で副システムの活用が可能である。すなわち、このシステムでは、正システムが現用系システムとして動作中に、副システムも活性状態にある。したがって、副システムのデータが、参照業務などに関連するシステムから利用可能である。ここで、参照業務とは、データを更新することなく、読み出して利用する業務をいう。
（３）両システムのデータベースの物理構造、例えば、ディスクボリュームの配置に柔軟性がある。例えば、正システムと副システムとが、互いに遠隔で、異なる物理構造のディスクに構築可能である。また、両システムの論理構造にも柔軟性がある。例えば、それぞれ異なるパス名を有する領域に両システムを構築可能である。
【０００６】
ただし、本技術を利用したデータベース運用では、ログは、例えば、レコード単位の操作に伴って記録される。一方、データベースでの処理には、外部からファイルをデータベースに一括登録する処理（ロード機能ともいう）がある。一括登録とは、一回の登録処理で、外部ファイルの複数のレコードをデータベースに格納する処理をいう。ファイルのデータをデータベースに一括登録する場合、通常、データを更新した旨を記録する更新ログは生成されず、正システムでのファイルの一括登録の結果が副システムには反映されない。このため、ファイルの一括登録を二重化されたデータベースで実施するため、利用者が正システムでの一括登録とは別に、副システム側で一括登録を実行する必要があり、利便性を阻害する原因となっている。そのような一括登録を二重化システムで実行するため、例えば、以下のような運用がなされている。
（ａ）二重化システムを停止して、副システムで正システムと同様の一括登録を実行する。
（ｂ）二重化システムが実装しているジョブ連携機能などを利用して、副システムで正システムと同様の一括登録を実行する。ただし、いずれの運用によっても、ユーザは正システムと副システムとで、同様の操作を繰り返す必要があり、手順が煩雑となっている。
【０００７】
本機能を実行するためには、前述したいずれの選択肢でも、事前に副システムへ正システムで一括登録されるファイルと同じファイルを搬送し、また、利用者業務として実行するためのスクリプト（一般的には、一括登録を実行する手続き文をスクリプト言語で記述したもの）を配置しておく必要がある（図２）。
【特許文献１】特開２００２−６３０５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
開示の技術の課題は、ログを利用したデータベース二重化方式の特徴を活かしつつ、一括煩雑なユーザ操作を低減することにある。
【課題を解決するための手段】
【０００９】
開示の技術の一態様は、前記課題を解決するために、ログ搬送路で接続された正システムと副システムとを有する情報システムによって例示される。ここで、正システムは、正側データベースと、正側データベースにおいてレコード単位でデータを処理する正側レコード処理手段と、正側レコード処理手段によってデータが処理されたときに、その処理結果をログに記録するログ記録手段と、ログ記録手段に記録されたログを、ログ搬送路を通じて副システムに転送する手段と、外部装置から複数のレコードのデータを一括登録する手段と、複数のレコードのデータを一括登録する処理の実行を示す一括登録ログを、ログ搬送路を通じて副システムに通知する手段と、一括登録された複数のレコードのデータを、データ搬送路を通じて副システムに転送する手段と、を備える。
【００１０】
また、副システムは、副側データベースと、ログ搬送路を通じて正システムからログを取得する手段と、取得したログにしたがって、副側データベースにおいてレコード単位でデータを処理する副側レコード処理手段と、取得したログが一括登録ログであったときに、データ搬送路を通じて一括登録の対象である複数のレコードのデータを取得する手段と、一括登録の対象である複数のレコードのデータを副側データベースに一括反映する手段と、を備える。
【００１１】
開示の技術によれば、一括登録ログと一括登録された複数のレコードのデータがデータ搬送路を通じて正システムから副システムに転送され、副システムのデータベースに反映される。したがって、個々のレコードごとにログを取得し、転送する代わりに、一括登録される複数のデータについてログを取得し、転送する。また、正システムで一括登録の対象である複数のレコードのデータが、副システムに転送され、データベースに反映される。したがって、ログ取得の無駄を低減した上で、一括登録されるデータを二重化できる。
【発明の効果】
【００１２】
本情報システムによれば、ログを利用したデータベース二重化方式の特徴を活かしつつ、一括登録での煩雑なユーザ操作を低減することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して本発明を実施するための最良の形態（以下、実施形態という）に係る情報システムについて説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成には限定されない。
【００１４】
＜システムの概要＞
本情報システムは、正システムで発生したログを副システムに搬送することによってデータベースを二重化するシステムである。データベースは、応用プログラムに対して、通常、以下の機能を提供する。
（１）行と呼ばれるレコードの書き込み、レコード内のデータの更新、検索機能が提供される。この機能では、例えば、レコードの書き込みともに、ログが生成される。生成されたログは、正システムにおけるデータベースの更新記録として保存されるともに、ログ搬送路を通じて副システムに搬送される。副システムに搬送されたログは、副システム側にて、データベースの更新に利用される。
（２）レコード単位でのデータベースへの書き込み以外に、複数のレコードを含むファイル単位での一括登録機能、すなわち、ロード機能が提供される。ロード機能では、レコードごとにログを取得しつつ、データベースにデータを書き込むという処理は実行されない。ロード機能では、入力ファイル内の複数のレコードが一括してデータベースに書き込まれる。このとき、レコード単位でのログの取得がなされないため、ロード機能の実行中に、エラーが発生すると、その時点までに書き込まれたデータを救済することはできない。すなわち、ロード機能での実行エラーが発生すると、最初からロード機能をやり直す必要がある。また、レコード単位でのログの取得がなされないため、ログを搬送することによって、正システムでの書き込みを副システムに反映することができない。
（３）ロード機能による一括登録の二重化
そこで、本情報システムでは、正システムでのログの発生を伴わないデータベースへのデータの一括登録機能においても、データベースの二重化を実現する。
【００１５】
そのためには、ロード機能によるデータベース更新を副システムで再現させる必要がある。そこで、ロード機能によって格納されたデータ（行、あるいはレコードともいう）を副システムに反映するため、正システムでのロード機能の実行によるデータベースへのデータ書き込みとともに、データ更新ログを副システムに搬送する手段が必要となる。
【００１６】
図３に、簡易な手順によるロード機能の二重化をデータベースへの操作ログの搬送によって実現する処理を例示する。ここでは、データベース記録されるログのうち、データを操作する機能の起動を示すログを操作ログと呼ぶ。なお、データベースで記録されるログのうち、個々のレコードの更新時に記録されるログを更新ログと呼ぶとことにする。ただし、本実施形態では、操作ログ、更新ログ、をともに、区別せず、単にログと呼ぶ場合もある。操作ログおよび更新ログを生成する正システムのＣＰＵ（あるいはＤＢＭＳ）が、ログ記録手段に相当する。
【００１７】
この例では、正システムでのロード機能によるデータベースへのデータ書き込みとともに、データ更新ログを副システムに搬送する。この手順では、ロード機能によって、複数レコードの書き込みが正システムのデータベースで発生したときに、通常のレコード単位でのデータの書き込みと同様に、１レコードの書き込みが完了するごとに、更新ログを発生し、ログ搬送路を通じて、副システムに搬送する。副システムは、ログ搬送路を通じて、取得された更新ログにしたがって、通常のレコード単位でのデータの書き込みと同様に、データベースを更新すればよい。
【００１８】
しかしながら、このように、正システムでのロード機能の実行において、応用プログラムからのデータベース更新によって発生する行（レコード）単位の更新ログを取得した場合、以下の問題が生じる。その理由は、元々、ロード機能は入力データ（表の行）を纏まった単位で一括更新することにより高速化を実現しているからである。
（Ａ）ロード機能の性能を維持できなくなる。更新ログを取得するオーバヘッドが処理対象の行（レコード）単位に発生する。
（Ｂ）ロード機能による更新結果を副システムに反映する時間が大幅に遅延する。副システムの二重化システムによるデータベース更新を更新ログで行うため、行（レコード）ごとに必要なデータベースの更新コスト（行を格納したページを再読み込みするなど）が必要となる。そのため、副システムでの更新ログ反映時間が、正システムでのロード機能の処理時間よりも多く必要となり、システム間のデータの差異が一時的に拡大する事象が発生する。この技術では、二重化の目的が、短時間での障害からの復旧である場合、障害発生時のデータロスト量が増加し、負荷分散の場合には、参照するデータの最新性が損なわれる結果となる。
【００１９】
そこで、本情報システムは、以下の処理を実現することによって、上記の問題（Ａ）（Ｂ）の発生を抑制しつつ、ロード機能によるデータ更新の二重化を実現する。
【００２０】
すなわち、本情報システムは、正システムでのロード機能による更新結果として、行（レコード）単位の更新ログでなく、格納する行を纏った単位（以降、格納データ）で取得し、搬送行を纏めて搬送する。これによって、行ごとに発生する取得コストを低減する。また、搬送するデータ量（データベース資源を示す情報など）を削減する。なお、纏まった単位とは、例えば、データベース管理システムがデータを管理するページである。ページは、ブロックとも呼ばれる。
【００２１】
一方、副システムでのデータベース更新は、搬送された行の纏まりで一括更新する。行の纏まりからデータベース内のページ構造を作成して、データベースを配置するディスクボリュームに直接書き出すことにより、従来の更新ログによる反映方式で行われる行単位のデータベースの更新コスト（ページの再読み込みなど）が低減される。このため、正システムでのロード機能の実行による一括登録の結果を高速に副システムに反映することが可能となる。また、正システムがデータベース内のページ構造を取得し、副システムへ搬送する場合には、副システムのページ構造の作成処理も省略することが可能となる。
【００２２】
図４に、本実施形態におけるロード機能の動作概要を示す。図４にしたがって、まず、正システムでのロード機能の実行手順を説明する。以下の項目（１）〜（３）は、図４の中の正システムの処理（１）〜（３）に対応する。
（１）ロード機能の実行が開始すると、正システムは、ロード機能の開始を示す操作ログを取得する。正システムは、ロード機能の開始を示す操作ログ（一括登録ログに相当）を、ログ搬送路を通じて副システムに転送する。
（２）次に、正システムは、入力ファイルから、データベース（複写元データベース）への格納データを所定の纏まりで取得し、データベースに格納する。このとき、正システムは、データベースの格納データおよびその格納データの格納に伴う更新ログを所定の纏まりで取得する。ここで、所定の纏まりとは、データベースに格納される複数の行からなる纏まりである。通常は、正システムは、データベースのページ単位にデータベースに格納される格納データを取得する。正システムは、取得したページ単位の格納データおよび更新ログを、ログ搬送路を通じて副システムに転送する。
（３）正システムは、ロード機能の終了を示す操作ログを取得する
次に、副システムの動作を説明する。以下の項目（４）〜（６）は、図４の中の副システムの処理（４）〜（６）に対応する。
（４）副システムは、ログ搬送路を通じて（１）の操作ログを取得する。副システムが、ロード機能の開始を示す操作ログを認識すると、副システムは、データベースへの反映方式を纏まった単位での格納方式に切り替える。
（５）副システムは、ログ搬送路を通じて（２）のページ単位の格納データおよび操作ログを取得する。そして、副システムは、ページ単位の格納データを基に、データベース（複写先データベース）を一括更新する。
（６）副システムが、（３）のロード機能の終了を示す操作ログを認識すると、反映方式
をログ単位の適用方式に切り戻す。
【００２３】
図４の処理を実現する環境としての搬送経路は、例えば、計算機システム間のファイル転送、あるいは、複写機能付きディスク装置を用いることができる。この場合に、単一のログ搬送路（同一種類の通信手段に相当）を通じて、操作ログとページ単位の格納データを転送してもよい。また、複数のログ搬送路、例えば、複数対の複写機能付きハードディスク装置を用いて操作ログとページ単位の格納データを転送してもよい。
【００２４】
図５に、複数のログ搬送路によってデータ転送するシステムの例を示す。図５では、副システム側の構成は省略されている。ロード機能によって取得された格納データは大量データとなることから、このような構成によって、搬送経路を分散配置することが可能となる。ただし、データベースへの反映の実行順序を保証するために、操作ログは同じ経路を共有することが必要である。
【００２５】
図５の構成では、データベースへの格納データを転送するログ搬送路１０（データ搬送路に相当）と、ロード機能による操作ログおよびＳＱＬによる更新ログを転送するログ搬送路１１（ログ搬送路に相当）とが設けられている。この例では、正システム側において、以下の処理が発生している。
（１）ロード機能に伴う格納データに関連する操作ログＡ
（２）格納データのデータベースへの格納
（３）ロード機能に伴う格納データに関連する操作ログＢ
（４）ＳＱＬによる更新ログ
この場合に、操作ログＡ、ＢおよびＳＱＬによる更新ログは、ログ搬送路１１を通じて正システムから副システムに転送されるため、副システム側では、ログ搬送路１１を通じて受け取った操作ログＡ、Ｂおよび更新ログの順に、データベースへ反映する。このような処理により、忠実に、正システムでのロード機能によるデータベースへの格納結果を副システムのデータベースに反映できる。
【００２６】
ログ搬送路内のデータを副システムに反映した時点で、このログ搬送路内の当該データの領域が再利用可能となる。このため、ロード機能の実行によって発生する格納データをすべて保持するだけの容量は必要とならない。
【００２７】
図６に、副システムに搬送される格納データのデータ構造を例示する。図６のように、副システムに搬送される格納データは、制御情報と、複数の行とを含む。この複数の行の纏まりがページ（あるいはブロック）である。また、制御情報には、データベース格納先の資源（表ともいう）を表す識別子、ページ番号、ページ内の有効領域長等が含まれる。この有効領域長以外の領域は、ページ内の空きスペースとなる。
【００２８】
図６の例では、正システムにおいて、ロード機能が作成するページ構造には、ページ内に空きスペースが含まれている。この空きスペースは、ログ搬送路には格納されない。すなわち、正システムは、ページ内の有効領域長の格納データをログ搬送路に引き渡す。そして、副システム側で、制御情報の有効領域長を基に、空きスペースを復元する。
【００２９】
以上のように、このデータ構造の特徴として、ページ長が行の境界とならない場合に、空きスペースを格納データとして搬送しないことを例示できる。これによって、本情報システムは、ログ搬送路の搬送データ量の削減を可能としている。さらに、副システムでのページ構造の作成コストも削減可能となる。
【実施例】
【００３０】
図７に、正システムが実現する処理構成を例示する。正システムは、データベース１（
正側データベースに相当）と、ロード機能を有するデータベース管理システム（ＤＢＭＳ）２と、二重化システム３とを含み、ログ搬送路５を通じて副システムに接続される。データベース１は、例えば、ハードディスクから構成される。ＤＢＭＳ２と、二重化システム３とは、コンピュータがコンピュータプログラムを実行することで実現される。このコンピュータは、例えば、ＣＰＵ、メモリ、ハードディスク、通信インターフェース、着脱可能記憶媒体駆動装置等を含む。このコンピュータは、通信インターフェースを通じて外部のコンピュータ、サーバと通信可能である。また、このコンピュータは、着脱可能記憶媒体を通じて、データを読み込み可能である。さらに、ログ搬送路５は、例えば、ハードディスクの１つであり、副システム側のハードディスクへの複写機能を有するものを用いることができる。
【００３１】
図７のように、ロード機能では、入力ファイル読み込み処理タスク２１、データベースページ作成処理タスク２３、およびデータベース書き込み処理タスク２５（正側レコード処理手段に相当）が実行される。ロード機能を実行するＤＢＭＳ２が、一括登録する手段に相当する。入力ファイル読み込み処理タスク２１は、データベース１に格納すべき入力ファイル４を読み込む。入力ファイル４（外部装置に相当）は、ネットワーク上のサーバあるいは、着脱可能記憶媒体上に格納されている。入力ファイル読み込み処理タスク２１は、読み込んだ入力ファイル４のデータを入力ファイル読み込みバッファ２２に格納する。
【００３２】
データベースページ作成処理タスク２３は、入力ファイル読み込みバッファ２２上のデータから、データベース１に書き込むべきページ構造のデータを作成する。作成されたページ構造のデータは、データベース書き込みバッファ２４に格納される。このとき、データベースページ作成処理タスク２３は、データベース書き込みバッファ２４のページ構造のデータを二重化システム３（格納データ作成処理タスク３１）に転送する。言い換えると、データベースページ作成処理タスク２３は、格納データ作成処理タスク３１に、書き込みバッファ２４のページ構造のデータの読み出しを指示する。このとき、操作ログ、更新ログ（一括登録ログ）が生成され、二重化システムに引き渡される。一方、データベース書き込み処理タスク２５は、データベース書き込みバッファ２４のページ構造のデータをデータベース１に格納する。
【００３３】
二重化システム３（ログ搬送路を通じて副システムに転送する手段、および副システムに通知する手段に相当）は、格納データ作成処理タスク３１、およびログ搬送路書き込み処理タスク３３を含む。格納データ作成処理タスク３１は、ＤＢＭＳ２のロード機能（データベースページ作成処理タスク２３）が作成したページ構造のデータ、操作ログ、および更新ログを受信する。そして、格納データ作成処理タスク３１は、ページ構造のデータから空きスペース等を圧縮した圧縮データを作成する。そして、格納データ作成処理タスク３１は、圧縮データ、操作ログ、および更新ログをログ搬送路書き込みバッファ３２に格納する。
【００３４】
ログ搬送路書き込み処理タスク３３は、ログ搬送路書き込みバッファ３２の圧縮データをログ搬送路５に格納する。ログ搬送路５は、圧縮データ、操作ログ、および更新ログを副システム側のハードディスクに複写する。
【００３５】
図８に、副システムが実現する処理構成を例示する。副システムは、データベース１１と、ＤＢＭＳ１２と、二重化システム１３とを含み、ログ搬送路１５を通じて正システムに接続される。データベース１１は、例えば、ハードディスクから構成される。ＤＢＭＳ１２と、二重化システム１３とは、コンピュータがコンピュータプログラムを実行することで実現される。以上の構成は、正システムと同様である。さらに、ログ搬送路１５も、ハードディスクの１つであり、正システム側のハードディスクとの間でデータ複写機能を
有するものということができる。
【００３６】
図８のように、二重化システム１３（正システムからログを取得する手段および複数のレコードのデータを取得する手段に相当）は、ログ搬送路読み込み処理タスク１３４、ログ反映処理タスク１３２、およびデータベースページ作成処理タスク１３１を実行する。ログ搬送路読み込み処理タスク１３４は、ログ搬送路１５から、操作ログ、更新ログ、および圧縮データを読み出し、ログ搬送路読み込みバッファ１３３に格納する。
【００３７】
ログ反映処理タスク１３２は、ログ搬送路読み込みバッファ１３３の操作ログおよび更新ログをデータベースページ作成処理タスク１３１に引き渡す。データベースページ作成処理タスク１３１は、操作ログおよび更新ログにしたがって、ログ搬送路読み込みバッファ１３３から圧縮データを読み出す。そして、データベースページ作成処理タスク１３１は、ページ構造のデータを復元し、データベース書き込みバッファ１２１に格納する。
【００３８】
ＤＢＭＳ１２は、データベース書き込み処理タスク１２２を実行している。データベース書き込み処理タスク１２２は、データベース書き込みバッファ１２１のページ構造のデータを一括してデータベース１１に反映する。データベースページ作成処理タスク１３１およびデータベース書き込み処理タスク１２２が一括反映する手段に相当する。
【００３９】
図９に、正システム側の処理フローを例示する。ここでは、データベースページ作成処理タスク２３および格納データ作成処理タスク３１の処理が例示されている。データベースページ作成処理タスク２３は、ロード機能が開始すると、入力データ待ちとなる（Ｆ２３１）。そして、データベースページ作成処理タスク２３は、終了判定を行う（Ｆ２３２）。終了判定は、例えば、入力ファイルのエンドオブファイルの判定である。このようにして、データベースページ作成処理タスク２３は、すべての入力データを処理するまで処理を継続する。
【００４０】
そして、データベースページ作成処理タスク２３は、入力ファイルから読み込んだデータを基に、データベースのページ構造のデータを作成する。データベースのページ構造のデータは、データベース書き込みバッファ２４に作成される。
【００４１】
次に、データベースページ作成処理タスク２３は、データベース書き込み処理タスク２５に、データベース書き込みバッファ２４上のデータのデータベース１への書き込みを依頼する（Ｆ２３４）。さらに、データベースページ作成処理タスク２３は、格納データ処理タスク３１に、データベース書き込みバッファ２４上のデータの複写を依頼する（Ｆ２３５）。その後、データベースページ作成処理タスク２３は、処理をＦ２３１に戻す。
【００４２】
格納データ処理タスク３１は、データベース書き込みバッファ２４上のデータを取り出す。そして、格納データ処理タスク３１は、終了判定を行う（Ｆ３１２）。終了判定は、例えば、エンドオブファイルの受信による。このようにして、すべてのデータを処理するまで、処理が継続する。
【００４３】
そして、格納データ処理タスク３１は、ログ搬送路に書き込むべきデータを作成する（Ｆ３１３）。例えば、格納データ処理タスク３１は、ページ構造のデータの空きスペースを圧縮した圧縮データを作成する。作成された圧縮データは、ログ搬送路書き込みバッファ３２に格納される。そして、格納データ処理タスク３１は、ログ搬送路書き込み処理タスク３３に、ログ搬送路書き込みバッファ３２上の圧縮データのログ搬送路５への書き込みを依頼する（Ｆ３１４）。その後、格納データ処理タスク３１は、処理をＦ３１１に戻す。
【００４４】
図１０に、副システム側の処理フローを例示する。ここでは、ログ反映処理タスク１３２およびデータベースページ作成処理タスク１３１の処理が例示されている。ログ反映処理タスク１３２は、ログ搬送路読み込み処理タスク１３４から読み込み通知を受け取ると、処理を開始する。そして、ログ反映処理タスク１３２は、ログ搬送路読み込みバッファ１３３からログを取り出す（Ｆ１３２１）。そして、ログ反映処理タスク１３２は、終了判定を行う。終了判定は、例えば、ロード機能の終了を示す操作ログの受信による。また、ログ搬送路１５から、ロード機能の終了を示す指示情報を受信するようにしてもよい。このようにして、ログ反映処理タスク１３２は、すべてのデータをデータベース１１に反映するまで、処理を継続する。
【００４５】
そして、ログ反映処理タスク１３２は、ロード開始の操作ログを受信すると（Ｆ１３２３でＹＥＳの場合）、データベースページ作成処理タスク１３１に一括更新を指示する（Ｆ１３２６）。その後、ログ反映処理タスク１３２は、処理をＦ１３２１に戻し、次のログを取り出す。
【００４６】
ロード開始の操作ログを受信後、さらに、ロード終了のログを受信すると、ログ反映処理タスク１３２は、データベースページ作成処理タスク１３１の終了報告を待つ。データベースページ作成処理タスク１３１の終了報告を受けると、ログ反映処理タスク１３２は、処理をＦ１３２１に戻し、次のログを処理する。
【００４７】
ロード開始、およびロード終了以外のログを受信すると、ログ反映処理タスク１３２は、通常通り、行単位で、ログをデータベース１１に反映する（Ｆ１３２５）。その後、ログ反映処理タスク１３２は、処理をＦ１３２１に戻し、次のログを処理する。このようにして、同一の資源（表）に対する操作の順序は、保証することができる。一方、異なる資源（表）に対する操作は、並行プロセスによって独立に実行される。
【００４８】
データベースページ作成処理タスク１３１も、ログ搬送路読み込み処理タスク１３４から読み込み通知を受け取ると、処理を開始する。そして、ログ搬送路読み込みバッファ１３３にデータが格納されるのを待つ（Ｆ１３１１）。そして、終了判定を行う。終了判定は、例えば、ログ搬送路読み込み処理タスク１３４が出力するエンドオブファイルの検出による。そして、エンドオブファイルを検知すると、データベースページ作成処理タスク１３１は、終了報告をログ反映処理タスク１３２に送信する（Ｆ１３１３）。その後、ログ反映処理タスク１３２を終了する。このようにして、データベースページ作成処理タスク１３１は、すべてもデータを処理するまで処理を継続する。
【００４９】
そして、終了判定で処理の終了でない場合、データベースページ作成処理タスク１３１は、データベースのページ構造を復元する（Ｆ１３１４）。具体的には、圧縮データから、空きスペースを含むページ構造を作成する。そして、データベースページ作成処理タスク１３１は、データベースページ書き込み処理タスクにデータベースへの書き込みを依頼する（Ｆ１３１５）。そして、データベースページ作成処理タスク１３１は、制御をＦ１３１１に戻し、次の格納データを処理する。
＜効果＞
上述のように、開示の技術は、複写元データベースの更新結果であるログを複写先データベースに搬送して適用するデータベースの二重化方式を採用しているシステムに適用される。そして、開示の技術は、本方式の特徴を活かしたまま、二重化システムであることを意識することなく、ロード機能を利用したデータベース運用を二重化することが可能となる。すなわち、データベースのロード機能のように、操作ログによって、二重化がなされない機能について、正システムと副システムで個別にロード機能を実行することなく、正システムでものロード機能によるデータの更新が、副システムに反映される。その場合に、逐一、行単位に操作ログを作成することなく、ロード機能の開始を示すログ、終了を
示すログ、および、ページ構造のデータの転送によって、副システムにて更新データが復元される。その結果、ロード機能の効率低下を抑制した上で、副システムへの更新データの反映を実現できる。このように、従来はロード機能ごとに必要であった副システムでのセットアップや運用が不要となるため、データベース運用の利便性が向上する。
【００５０】
また、ロード機能を実行する前に、二重化システムを停止させるなどでデータベースデータの一致性を利用者に任せているケースもある。しかし、開示の技術では、実行順序や操作を二重化システムで実現するため、信頼性が向上する効果も期待できる。
【００５１】
また、開示の技術では、ページ構造中の空きスペースを除外し、圧縮データの形式で、ログ搬送路５、１５との間で、データが授受される。このため、効率的なログ搬送路の利用が可能となる。
【００５２】
なお、上記では、ロード機能によって正システムに一括登録されたデータを副システムに反映する際、ページ単位のデータを取得して、正システムから副システムに搬送した。また、ページ単位での正側データベースへのデータの格納に伴う更新ログを正システムで取得し、副システムに搬送した。ただし、開示の技術は、このようなページ単位の処理に限定されるものではない。例えば、複数ページをまとめた単位で、正システムに一括登録されたデータを副システムに反映するようにしてもよい。また、ページよりも小さな単位で、上記処理を行ってよい。
【００５３】
＜コンピュータ読み取り可能な記録媒体＞
コンピュータその他の機械、装置（以下、コンピュータ等）に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【００５４】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD-ROM、CD-R/W、DVD、DAT、８mmテープ、メモリカード等がある。
【００５５】
また、コンピュータ等に固定された記録媒体としてハードディスクやＲＯＭ（リードオンリーメモリ）等がある。
【図面の簡単な説明】
【００５６】
【図１】データベースの二重化技術の概要を示す図である。
【図２】データベースの二重化運用でログの取得を伴わないデータベースの更新操作を行う例である。
【図３】簡易な手順によるロード機能の二重化を操作ログで実現する処理を例示する図である。
【図４】本実施形態におけるロード機能の動作概要を示す図である。
【図５】ログ搬送路の構造を例示する図である。
【図６】副システムに搬送される格納データのデータ構造を例示する図である。
【図７】正システムが実現する処理構成を例示する図である。
【図８】副システムが実現する処理構成を例示する図である。
【図９】正システム側の処理フローを例示する図である。
【図１０】副システム側の処理フローを例示する図である。
【符号の説明】
【００５７】
１、１１  データベース
２、１２  ＤＢＭＳ
３、１３  二重化システム
４        入力ファイル
５、１５  ログ搬送路
【図１】
2010092109.tif 000003
【図２】
2010092109.tif 000004
【図３】
2010092109.tif 000005
【図４】
2010092109.tif 000006
【図５】
2010092109.tif 000007
【図６】
2010092109.tif 000008
【図７】
2010092109.tif 000009
【図８】
2010092109.tif 000010
【図９】
2010092109.tif 000011
【図１０】
2010092109.tif 000012