(57)【要約】      （修正有）【課題】  情報処理装置でトランザクション単位に行われるデータベース操作処理について、所定条件に基づいた複製データベースを作成し、データベース利用者に対し、所定条件を任意に定義する。また、その操作を複製データベースに反映するか否かを所定条件に従い選択する。【解決手段】  データ処理システムは、ある任意の時刻を基準として作成した複製データベースに対し、データベース利用者が定義した所定条件に従い、不足しているトランザクションの追加、及び／又は、不要なトランザクションの取り消しを行なう。【選択図】図１
2006018796.tif 000002
【特許請求の範囲】
【請求項１】
データベースを複写して複製データベースを作成する複製生成機能を有するストレージ装置を有し、データと該データを利用したトランザクション処理における複数のログ情報とを該ストレージ装置に格納するデータ処理装置におけるデータ処理方法において、
前記データベースと前記複製データベースとの同期化が解除された後に、設定された所定条件を満たさず前記複製データベースへのデータ操作を行っている前記トランザクションを抽出し、当該抽出したトランザクションによるデータ操作の取り消し処理を複製データベースに対して行う、または、前記設定された所定条件を満たし前記複製データベースへのデータ操作を行っていないトランザクションを抽出し、当該抽出したトランザクションによるデータ操作を複製データベースに対して行うことを特徴とするデータ処理方法。
【請求項２】
前記所定条件は、前記トランザクションを生成する元となったデータ処理装置が受信した処理要求に含まれるタイムスタンプの時刻が所定時刻以前であることを特徴とする請求項１記載のデータ処理方法。
【請求項３】
前記同期化が解除された後のデータ操作の実施または取り消しは、前記抽出されたトランザクションの処理で生成された前記ログ情報を用いることを特徴とする請求項１記載のデータ処理方法。
【請求項４】
前記トランザクションは、該トランザクションの処理結果から派生したサブトランザクションの識別子を該トランザクションの識別子と対応付けて記憶し、前記トランザクションの判定は、該トランザクションとその該サブトランザクションとを含めて行うことを特徴とする請求項１記載のデータ処理方法。
【請求項５】
データベースを複写して複製データベースを作成する複製生成機能を有し、データと該データを利用したトランザクション処理における複数のログ情報とを格納したストレージ装置におけるデータ処理方法において、
前記データベースと前記複製データベースとの同期化を解除した後に、設定された所定条件を満たさず前記複製データベースへのデータ操作を行っている前記トランザクションを抽出し、当該抽出したトランザクションによるデータ操作の取り消し処理を複製データベースに対して行う、または、前記設定された所定条件を満たし前記複製データベースへのデータ操作を行っていないトランザクションを抽出し、当該抽出したトランザクションによるデータ操作を複製データベースに対して行うことを特徴とするデータ処理方法。
【請求項６】
データベースを複写して複製データベースを作成する複製生成機能を有するストレージ装置を有し、データと該データを利用したトランザクション処理における複数のログ情報とを該ストレージ装置に格納するデータ処理装置において、
前記データベースと前記複製データベースとの同期化の解除を検出する手段と、該同期化の解除を検出すると、設定された所定条件を満たさず前記複製データベースへのデータ操作を行っている前記トランザクションを抽出し、当該抽出したトランザクションによるデータ操作の取り消し処理を複製データベースに対して行う、または、前記設定された所定条件を満たし前記複製データベースへのデータ操作を行っていないトランザクションを抽出し、当該抽出したトランザクションによるデータ操作を複製データベースに対して行う手段と
を備えたことを特徴とするデータ処理装置。
【請求項７】
データベースを複写して複製データベースを作成する複製生成機能を有し、データと該データを利用したトランザクション処理における複数のログ情報とを格納したストレージ装置において、
前記データベースと前記複製データベースとの同期化を解除する手段と、
該同期化を解除すると、設定された所定条件を満たさず前記複製データベースへのデータ操作を行っている前記トランザクションを抽出し、当該抽出したトランザクションによるデータ操作の取り消し処理を複製データベースに対して行う、または、前記設定された所定条件を満たし前記複製データベースへのデータ操作を行っていないトランザクションを抽出し、当該抽出したトランザクションによるデータ操作を複製データベースに対して行う手段と
を備えたことを特徴とするストレージ装置。
【請求項８】
データベースを複写して複製データベースを作成する複製生成機能を有するストレージ装置を有し、データと該データを利用したトランザクション処理における複数のログ情報とを該ストレージ装置に格納するデータ処理装置として機能させるためのデータ処理プログラムにおいて、
前記データベースと前記複製データベースとの同期化の解除を検出するステップと、
該同期化の解除を検出すると、設定された所定条件を満たさず前記複製データベースへのデータ操作を行っている前記トランザクションを抽出し、当該抽出したトランザクションによるデータ操作の取り消し処理を複製データベースに対して行う、または、前記設定された所定条件を満たし前記複製データベースへのデータ操作を行っていないトランザクションを抽出し、当該抽出したトランザクションによるデータ操作を複製データベースに対して行うステップと
を有することを特徴とするデータ処理プログラム。
【請求項９】
データベースを複写して複製データベースを作成する複製生成機能を有し、データと該データを利用したトランザクション処理における複数のログ情報とを格納したストレージ装置として機能させるためのデータ処理プログラムにおいて、
前記データベースと前記複製データベースとの同期化を解除するステップと、
該同期化を解除すると、設定された所定条件を満たさず前記複製データベースへのデータ操作を行っている前記トランザクションを抽出し、当該抽出したトランザクションによるデータ操作の取り消し処理を複製データベースに対して行う、または、前記設定された所定条件を満たし前記複製データベースへのデータ操作を行っていないトランザクションを抽出し、当該抽出したトランザクションによるデータ操作を複製データベースに対して行うステップと
を備えたことを特徴とするデータ処理プログラム。
【請求項１０】
データベースを複写して複製データベースを作成する複製生成機能を有するストレージ装置を有し、データと該データを利用したトランザクション処理における複数のログ情報とを該ストレージ装置に格納するデータ処理装置において、
前記データベースと前記複製データベースとの同期化の解除を検出する手段と、
該同期化の解除を検出すると、業務処理への処理要求の有するタイムスタンプが該業務処理の終了時刻以後であり前記同期化解除前に前記データベースへのデータ操作を行っている前記トランザクションを抽出し、当該抽出したトランザクションによるデータ操作の取り消し処理を複製データベースに対して行う、または、前記業務処理への処理要求の有するタイムスタンプが該業務処理の終了時刻以前であり前記同期化解除後に前記データベースへのデータ操作を行っているトランザクションを抽出し、当該抽出したトランザクションによるデータ操作を複製データベースに対して行う手段と
を備えたことを特徴とするデータ処理装置。
【請求項１１】
第一時間帯に属する第一トランザクションを第一データベースに格納するステップと、
前記第一データベースと同期化されている第二データベースに、前記第一データベースに格納する前記第一トランザクションを格納するステップと、
第二時間帯に属する第二トランザクションを前記第一データベースに格納するステップと、
前記第一データベースと同期化されている第二データベースに、前記第一データベースに格納する前記第二トランザクションを格納するステップと、
第二時間帯に属するという条件を表した条件情報を入力するステップと、
前記入力された条件情報にマッチする第二トランザクションを前記第二データベースの中から削除するステップと
を有するデータ処理方法。
【請求項１２】
前記第一トランザクション及び前記第二トランザクションに関するログにタイムスタンプを付し、前記タイムスタンプが付されたログを、所定の記憶域に記録するステップと、
前記所定の記憶域に登録された複数のログにそれぞれ付されている複数のタイムスタンプの中から、前記入力された条件情報が表す第二時間帯に属するタイムスタンプを検索するステップと
を更に有し、
前記削除するステップでは、前記検索するステップによって検索されたタイムスタンプが付されているログに対応したトランザクションを前記第二データベースの中から削除することにより、前記第二トランザクションを前記第二データベースの中から削除する、
請求項１１記載のデータ処理方法。
【請求項１３】
時刻が記録される時刻テーブルに参照不可を意味する排他がかけられていない場合に或るトランザクションが前記時刻テーブルを参照するステップと、
前記或るトランザクションが参照した前記時刻テーブルに、前記第一の時間帯に属する第一時刻が記録されている場合には、前記或るトランザクションが、前記第一時刻を取得することにより、前記第一トランザクションになるステップと、
前記或るトランザクションが前記第一時刻を取得した場合に、前記時刻テーブルに対して参照不可の排他をかけるステップと、
前記時刻テーブルに対して参照不可の排他がかけられている間に、前記時刻テーブルに記録されている第一時刻を、タイマが表す時刻のうちの必要な部分であって、前記第二時間帯に属する第二時刻に更新するステップと、
前記時刻テーブルに対してかけられていた参照不可の排他を解除するステップと、
前記時刻テーブルに参照不可の排他がかけられていない場合に別のトランザクションが前記時刻テーブルを参照するステップと、
前記別のトランザクションが、前記第二時刻を前記時刻テーブルから取得することにより、前記第二トランザクションになるステップと
を有する請求項１１記載のデータ処理方法。
【請求項１４】
前記第一時間帯と前記第二時間帯とは連続した時間帯となっており、
前記第二時間帯の開始以降に、トランザクション処理の開始を排除する静止化状態を開始するステップと、
前記静止化状態が開始された後に、前記第一データベースと前記第二データベースとの同期化を解除するステップと、
前記同期化を解除した後に、前記静止化状態を終了するステップと
を有し、前記静止化状態を終了した後に、条件情報を入力するステップと、前記削除するステップとを実行する、
請求項１１記載の方法。
【請求項１５】
前記静止化状態を開始するステップでは、最後の第一トランザクションの処理が終了したら、前記静止化状態を開始する、
請求項１４記載の方法。
【請求項１６】
第一時間帯に属する第一トランザクションを第一データベースに格納する手段と、
前記第一データベースと同期化されている第二データベースに、前記第一データベースに格納する前記第一トランザクションを格納する手段と、
第二時間帯に属する第二トランザクションを前記第一データベースに格納するステップと、
前記第一データベースと同期化されている第二データベースに、前記第一データベースに格納する前記第二トランザクションを格納する手段と、
第二時間帯に属するという条件を表した条件情報を入力する手段と、
前記入力された条件情報にマッチする第二トランザクションを前記第二データベースの中から削除する手段と
を有するデータ処理装置。
【請求項１７】
前記データ処理装置は、データを記憶することができるストレージ装置であり、
前記ストレージ装置が、前記第一データベース及び前記第二データベースを備える、
請求項１６記載のデータ処理装置。
【請求項１８】
少なくとも一つのコンピュータプログラムを記憶する記憶域と、
前記記憶域からコンピュータプログラムを読み込むことにより動作するプロセッサと
を備え、
前記プロセッサが、
第一時間帯に属する第一トランザクションを第一データベースに格納し、
前記第一データベースと同期化されている第二データベースに、前記第一データベースに格納する前記第一トランザクションを格納し、
第二時間帯に属する第二トランザクションを前記第一データベースに格納し、
前記第一データベースと同期化されている第二データベースに、前記第一データベースに格納する前記第二トランザクションを格納し、
第二時間帯に属するという条件を表した条件情報を入力し、
前記入力された条件情報にマッチする第二トランザクションを前記第二データベースの中から削除する、
データ処理装置。
【請求項１９】
第一時間帯に属する第一トランザクションを第一データベースに格納するステップと、
前記第一データベースと同期化されている第二データベースに、前記第一データベースに格納する前記第一トランザクションを格納するステップと、
第二時間帯に属する第二トランザクションを前記第一データベースに格納するステップと、
前記第一データベースと同期化されている第二データベースに、前記第一データベースに格納する前記第二トランザクションを格納するステップと、
第二時間帯に属するという条件を表した条件情報を入力するステップと、
前記入力された条件情報にマッチする第二トランザクションを前記第二データベースの中から削除するステップと
をコンピュータに実行させるためのコンピュータ読み取り可能なコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの複製を生成するデータ処理技術に関する。
【背景技術】
【０００２】
大量のトランザクションを行うオンライン業務においては、日次、月次で実施する必要がある大量データの集計処理等が、２４時間連続サービス運転の妨げとなっている。つまりこれらのバッチ処理は、オンラインサービスで使用するデータベースへの一括アクセスを伴うため、オンライン業務処理への影響が大きい。
【０００３】
その解決策として、例えば特許文献１に開示されているようにLAN/WAN上に複数のデータベース管理システムを配置し、オンライン業務で使用するデータベースの更新内容を別のデータベース管理システムにネットワークを通して常時伝送して反映し、オンライン業務のデータベースの複製を持つ方法が知られている。前記のようなバッチ処理を複製側データベースで行う事により、オンライン業務側への負荷集中を排除でき、バッチ処理と並行してオンラインサービスを継続できる。
【０００４】
また、ストレージ装置一般に、近年普及し始めているSAN(Storage Area Network)構成、すなわち磁気ディスク装置など複数の外部記憶装置を専用の高速ネットワークで有機的に結合した構成を活用し、オンライン業務のデータベースの複製（レプリカやスナップショット、シャドウ・イメージともいう）を持つ方法が知られている。
【０００５】
この構成では、任意の論理ボリュームを複数（又は一つ）の論理ボリュームに高速コピーする機能、任意の論理ボリュームを正ボリュームとし、他の複数（又は一つ）の論理ボリュームを副ボリュームとしてデータの多重書き込みを行う機能、多重書き込み状態の論理ボリュームを任意の時点で切り離し、正・副独立したボリュームとしてアクセスできる機能などをストレージ装置などの外部記憶装置が提供している。このような方式で作成したデータベースの複製には、ボリュームを切り離したある任意の時刻を基準として、それまでに完了したトランザクションがコピーされている。
【０００６】
【特許文献１】特開２０００−３４７８１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記従来技術では、データベースの複製（以下、複製データベースと称する場合がある）が、ある任意の時刻を基準として作成される。しかし、通常、トランザクション処理は、或る時間長をかけて行われるものであり、基準となる時刻をトランザクション処理にかかった時間がまたぐことがあるため、コンピュータのタイマが表す時刻を基準にトランザクションを区切ることは困難である。故に、例えば、当日扱い分のトランザクションまでが反映され、翌日扱い分のトランザクションは反映されていない状態といった、業務要件を基準にした複製データベースを作成することができない。より具体的には、例えば、当日扱い分までの伝票データ処理トランザクションなど、業務的な完了状態を保証した複製データベースを作成することができない。
【０００８】
また、上記従来技術では、所定の通信環境（例えばSAN環境）において、外部記憶装置が有する高速コピー機能などの付加機能を十分に活用できていない。
【０００９】
本発明の目的は、所定条件に基づいた複製データベースを作成することにある。他の目的は、データベース利用者に対し所定条件を任意に定義することにある。さらに他の目的は、情報処理装置がトランザクション単位に行なわれるデータベース操作処理について、その操作を複製データベースに反映するか否かを所定条件に従い選択する機能を提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、例えば、本発明の一つの観点に従うデータ処理方法は、ある任意の時刻を基準として作成した複製データベースに対し、データベース利用者が定義した所定条件に従い、不足しているトランザクションの追加、及び／又は、不要なトランザクションの取り消しを行なうようにするものである。
【発明の効果】
【００１１】
本発明によれば、所定条件に基づいた複製データベースを作成することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施例を図面に基づいて詳細に説明する。
【実施例１】
【００１３】
図１は、本発明における一実施例である情報処理装置の構成を示すものである。本実施例では、バス１５で接続された情報処理装置１０と外部記憶装置１６で実現されており、情報処理装置１０は、ＣＰＵ１２、メモリ１１、ディスプレイ１３、キーボード１４で構成されている。メモリ１１上のオンラインアプリケーション（業務プログラムもしくはプログラムでも良い）１１２は、データベース管理システム１１１を介して外部記憶装置１６上のデータベース１６２にアクセスするものである。データベース１６２の更新内容は、更新ログファイル１６４に更新履歴情報として記録するとともに、ディスク制御処理部１６１上の多重書き機構１６１１によって複製データベース１６３に反映することができる。
【００１４】
また多重書き機構１６１１は任意の時点で多重書きを解除でき、複製データベース１６３を、データベース管理システム１１１を介してデータベース１６２とは独立したデータベースとして読み書き可能にすることもできる。データベース管理システム１１１には、更新ログファイル１６４からある条件を満たすトランザクションを選択するトランザクション選択処理部１１１１と、そのトランザクションを管理するトランザクション管理テーブル１１１４と、条件を満たさないトランザクションを複製データベース１６３から取り消すトランザクション取り消し処理部１１１２と、条件を満たすトランザクションを複製データベース１６３に追加するトランザクション追加処理部１１１３を含む。トランザクション選択処理部１１１１にはトランザクション抽出処理部１１１１１と、最終更新トランザクション検索処理部１１１１２と、取り消しトランザクション選択処理部１１１１３と、追加トランザクション選択処理部１１１１４を含む。前記各処理部や前記各機構、前記各システムは、プログラムや、オブジェクト、プロセス、スレッド、ハードウェアで実現することが可能である。本実施例は、データベース管理システムを一例として説明したが、データベース管理システムに限定されるものではなく、ログ情報を利用して障害回復を実施するデータ処理一般に適用が可能であり、トランザクションモニタやファイルシステムに適用が可能である。
【００１５】
図２は、トランザクション選択処理を用いた複製データベース作成処理の流れを説明するタイムチャートである。これは更新ログファイル２３、データベース２４、複製データベース２５が、オンライントランザクション２２と、利用者の操作２１によってどのように更新されるかについての経時変化を示している。
【００１６】
図２の一番上の時間軸は、業務時刻（例えば、データベース２４へトランザクションを反映させるコンピュータ内部の時刻）を表している。図２の矢印２１７、２１８は、何時の業務に属するかを表し、例えば、トランザクションの所定種類（例えばINSERET）のログに付されるタイムスタンプの日時を表す。図２の参照番号２２Ｄ、２２Ｅ等が表す各範囲は、トランザクション処理にかかった時間長を表す。例えば、トランザクション処理２２Ｄにおいて、確定（COMMIT）が生じれば、そのトランザクション処理におけるトランザクション２１３がデータベース２４に登録される。また、データベース２４と複製データベース２５とがペア状態になっていれば、例えば、外部記憶装置１６が、トランザクション２１３を二重化し、二重化されたトランザクション２１３をそれぞれデータベース２４及び複製データベース２５に格納する。格納されたトランザクション２１３が、何時の業務（例えば当日業務か翌日業務のどちら）に属するものかは、例えば、後述するように、データベース管理システム１１１が、そのトランザクション２１３に関わる複数種類のログのうち、INSERTログに対応した更新後データを参照することにより、特定することができる。なぜなら、INSERTログに対応した更新後データには、このトランザクション２１３の業務日時を表すタイムスタンプが、或るコンピュータ（例えば、データベース管理システム１１１又はそれに処理を依頼したオンラインアプリケーション１１２）により、付されるからである。
【００１７】
なお、ここで付されるタイムスタンプは、データベース管理システム１１１を備えているコンピュータ内部のタイマが表す日時であっても良いし、図２０を参照して説明する後述の時刻テーブル１２１４上の時刻コードであっても良い。このことは、後述する第四実施例でも同様である。
【００１８】
オンライントランザクション２１０、２１１、２１２、２１３の更新内容は、多重書き機構１６１１によってデータベース２４と複製データベース２５に反映される。つまり外部記憶装置１６に対しディスクの切り離し２７を要求するまでの間は、データベース２４への更新内容が、複製データベース２５にも反映される。このようにして、複製データベース２５の内容が、常に最新の状態に保たれる。換言すれば、ディスクの切り離し２７が要求されるまでは、データベース２４の更新に同期して、複製データベース２５も同様に更新され（すなわち、複製データベース２５の内容がデータベース２４の内容と同じに維持され）、ディスク切り離し２７が要求された後は、データベース２４が更新されても複製データベース２５は更新されない。
【００１９】
また、ある任意の時刻に外部記憶装置１６に対しディスクの切り離し２７を要求すると、その後複製データベースを独立してアクセスできるようになる。つまりディスクを切り離した後に開始されるオンライントランザクション２１４、２１５、２１６の更新内容は、データベース２４のみに反映され、複製データベース２５には反映されない。このようにして、任意の時刻までの更新状態の複製データベース２５を作成できる。
【００２０】
また、複製データベース２５のトランザクションとの整合性を維持する為に、ディスクを切り離す前のタイミングで、利用者は、データベース管理システム１１１に対し、データ静止化処理の起動２６を要求する。データベース管理システム１１１は、データ静止化処理の起動２６の要求を受けると、その時点で処理を開始しているトランザクション処理２２Dの完了を待ち、そのトランザクション処理２２Ｄを終了した後に、データベース２４を静止状態に変える。また、静止化開始から静止状態に変わっているデータベース２４に対して新たに開始されたトランザクション処理２２Ｅは、データベース管理システム１１１によって実行が待たされる。つまりデータベース２４を静止状態にすることで、処理中のトランザクションを無くし、複製データベース２５のトランザクションとの整合性を維持することが可能になる。また、この静止状態をディスクの切り離し要求２７の後、すみやかに解除２８を行うことで、オンライントランザクション２２の待ち状態を最小限に抑えることができる。
【００２１】
図２の実施例では、作成した複製データベース２５上に、翌日扱いのトランザクション２１２が反映されている。また、ディスクの切り離し２７の後、当日扱いのトランザクション処理２２Ｆが行われ、それ故、データベース２４にその処理２２Ｆに対応したトランザクション２１５が反映されているが、ディスクの切り離しが行われている状態なので、そのトランザクション２１５は、複製データベース２５には反映されていない状態である。ここで、当日扱いのトランザクションとは、例えば、該当トランザクション中に表TAの列C1を２００３１０１６以下の値に更新したものとする（図３参照）。
【００２２】
この状態でデータベース管理システム１１１に対し利用者がトランザクション選択処理２９を要求すると、複製データベース２５に対し、翌日扱いのトランザクション２１２の取り消しと、当日扱いのトランザクション２１５の追加とが行われ、故に、業務的に当日扱いまでのトランザクション処理が完了した状態の複製データベース２５を作成することができる。なお、トランザクション選択処理２９の要求は、例えば静止化解除処理２８の実行後、データベース管理システム１１１が自動的に行っても良い。また当日業務２１７の完了をオンラインアプリケーション１１２側で判定し、トランザクション選択処理２９の要求をオンラインアプリケーション１１２が要求しても良い。
【００２３】
図３は、図２のタイムチャートに従い実行されたトランザクションの更新ログファイル２３の構成、及び内容を示している。更新ログファイル２３のレコードは、トランザクションを構成する個々のオペレーション単位に時系列に並んでいる。各オペレーションの実行結果は、更新時刻３１、ログシーケンス番号３２、トランザクションID３３、オペレーションコード３４、そして更新情報３５が含まれる。更新情報３５は、表名称３５１、列数３５２、そして列数３５２個の列情報３５３が含まれる。列情報３５３は、列名称３５３１、データ長３５３２、更新前データ３５３３、そして更新後データ３５３４が含まれる。
【００２４】
更新時刻３１には、例えば、オペレーションを行ったコンピュータ内部の時刻が登録される。一方、INSERTログについて、所定の場所（例えば、所定の表名称と所定の列名称とを有する場所）に更新後データとして書かれるタイムスタンプは、データベース管理システム１１１又はオンラインアプリケーション１１２によって付されたタイムスタンプである。
【００２５】
図４は、図２のタイムチャートに従い実行されたトランザクションの更新ログファイルから、各オペレーション単位のレコードをトランザクション単位に並べかえたトランザクション管理テーブル１１１４とその内容を示している。トランザクション管理テーブル１１１４は、更新開始時刻４４、更新完了時刻４５、トランザクションID４６、そしてオペレーション情報４７が含まれる。オペレーション情報４７は、該当トランザクションに含まれるオペレーションの数だけ、ログシーケンス番号４７１とオペレーションコード４７２が含まれる。また、複製DB最終トランザクション４２には、複製データベース２５を最後に更新したトランザクションのトランザクションIDが格納される。取り消しトランザクションリスト４１には、複製データベース２５から取り消すトランザクションのトランザクションIDが格納される。追加トランザクションリスト４３には、複製データベース２５に追加するトランザクションのトランザクションIDを格納する。取り消しトランザクションリスト４１、複製ＤＢ最終トランザクション４２及び追加トランザクションリスト４３のうちの少なくとも一つは、データベース管理システム１１に保持される。
【００２６】
図５は、図２のタイムチャートに従い更新されたデータベースの構成と更新内容を示している。外部記憶装置１６には、データベース２４を格納する論理ボリューム５１と、複製データベース２５を格納する論理ボリューム５２が含まれる。データベース２４を格納する論理ボリューム５１には、最後にデータベース２４を更新したオペレーションのログシーケンス番号５１１が格納される。複製データベース２５を格納する論理ボリューム５２には、最後に複製データベース２５を更新したオペレーションのログシーケンス番号５２１が格納される。
【００２７】
図６は、トランザクション選択処理の流れを示している。トランザクション選択処理は、トランザクション選択開始時刻６５と、トランザクション選択条件６６（例えば年月日で表される情報）を入力情報とし、トランザクションを抽出するステップ６１と、最終更新トランザクションを検索するステップ６２と、取り消しトランザクションを選択するステップ６３と、追加トランザクションを選択するステップ６４から成る。
【００２８】
図７は、トランザクションを抽出する処理の流れを示している。
【００２９】
この処理は、トランザクション抽出処理部１１１１１により行うことができる。
【００３０】
トランザクション抽出処理部１１１１１は、先ず更新ログファイル７１２からレコードを1件読み込む（ステップ７１）。全て読み出したどうかを判定し（ステップ７２）、全て読み出していれば終了する。
【００３１】
トランザクション抽出処理部１１１１１は、読み出したレコードのオペレーションコード３４がBEGINログかどうかを判定し（ステップ７３）、BEGINログならば（ステップ７３でＹＥＳ）、トランザクション管理テーブル１１１４に、該当トランザクションに関する情報（例えば、更新開始時刻、トランザクションＩＤ、ログシーケンス番号及びオペレーションコード）を追加する（ステップ７７）。
【００３２】
トランザクション抽出処理部１１１１１は、更新ログならば（ステップ７４でＹＥＳ）、トランザクション管理テーブル１１１４の同一トランザクションの行に、レコード（例えばログシーケンス番号及びオペレーションコード）を追加する（ステップ７８）。
【００３３】
トランザクション抽出処理部１１１１１は、COMMITログならば（ステップ７５でＹＥＳ）、当該COMMITログの更新時刻３１と、トランザクション選択開始時刻６５とを比較する（ステップ７９）。ログの更新時刻が小さければ、トランザクション抽出処理部１１１１１は、トランザクション管理テーブル１１１４の同一トランザクションのリストを削除する（ステップ７１１）。ログの更新時刻が同じ若しくは大きければ、トランザクション抽出処理部１１１１１は、トランザクション管理テーブル１１１４の同一トランザクションの行にレコード（例えばログシーケンス番号及びオペレーションコード）を追加する（ステップ７１０）。
【００３４】
図８は、複製データベースを最後に更新したトランザクションIDを検索する処理の流れを示している。
【００３５】
この処理は、最終更新トランザクション検索処理部１１１１１により行うことができる。
【００３６】
まず、最終更新トランザクション検索処理部１１１１１は、複製データベース２５からログシーケンス番号５２１を読み込む（ステップ８１）。
【００３７】
次に、最終更新トランザクション検索処理部１１１１１は、トランザクション管理テーブル１１１４からトランザクションに関するレコード群（行）を１つずつ取り出す（ステップ８３）。最終更新トランザクション検索処理部１１１１１は、取り出されたレコード群が最終レコードならば（ステップ８４）、終了する。
【００３８】
最終更新トランザクション検索処理部１１１１１は、取り出したレコード群の中から、COMMITログのログシーケンス番号４７１を取得する（ステップ８５）。取得したログシーケンス番号が、複製データベース２５内のログシーケンス番号５２１と一致しない場合（ステップ８６でＮＯ）、最終更新トランザクション検索処理部１１１１１は、ステップ８３に戻る。それらが一致した場合（ステップ８６でＹＥＳ）、最終更新トランザクション検索処理部１１１１１は、該当トランザクションのIDを、複製DB最終トランザクション４２に設定する（ステップ８７）。
【００３９】
図９は、複製データベースから取り消すトランザクションを選択する処理の流れを示している。
【００４０】
この処理は、取り消しトランザクション選択処理部１１１１３により行うことができる。
【００４１】
先ず、取り消しトランザクション選択処理部１１１１３は、トランザクション管理テーブル１１１４から、複製DB最終トランザクション４２に設定されているトランザクションＩＤを含んだレコード群よりも前のレコード群を１つずつ取り出す（ステップ９１）。取り出されたレコード群が最終エントリならば（ステップ９２）、終了する。
【００４２】
取り消しトランザクション選択処理部１１１１３は、取り出したレコード群に対応するトランザクションが実行したオペレーションのログのうち、INSERT及びUPDATEのオペレーションに対応したログを取得し、且つ、取得したログのログシーケンス番号に対応した更新情報（例えば、更新後データを含んだ列情報）を更新ログファイル２３から取得する（ステップ９３）。取り消しトランザクション選択処理部１１１１３は、取得した更新情報が、入力されたトランザクション選択条件６６（図６参照）を満たしているか否かの判断を行い、満たしていれば（ステップ９４）、ステップ９１に戻る。満たしていなければ、取り消しトランザクション選択処理部１１１１３は、取得した更新情報に対応したトランザクションIDを、取り消しトランザクションリスト４１に追加（ステップ９５）してステップ９１に戻る。
【００４３】
図１０は、複製データベースに追加するトランザクションを選択する処理の流れを示している。
【００４４】
この処理は、追加トランザクション選択処理部１１１１４により行うことができる。
【００４５】
先ず、追加トランザクション選択処理部１１１１４は、トランザクション管理テーブル１１１４の中で、複製DB最終トランザクション４２に設定されているトランザクションＩＤを含んだレコード群の次のレコード群（エントリ）を検索し（ステップ１０２）、そこ以降から、レコード群を１つずつ取り出す（ステップ１０３）。取り出されたレコード群が最終エントリならば（ステップ１０４）、終了する。
【００４６】
追加トランザクション選択処理部１１１１４は、取り出したレコード群に対応するトランザクションが実行したオペレーションのログのうち、INSERT及びUPDATEのオペレーションに対応したログを取得し、且つ、取得したログのログシーケンス番号に対応した更新情報を更新ログファイル２３から取得する（ステップ１０５）。追加トランザクション選択処理部１１１１４は、取得した更新情報が、トランザクション選択条件６６を満たしているか否かの判断を行い、満たしていなければ（ステップ１０６でＮＯ）、ステップ１０３に戻る。満たしていれば（ステップ１０６でＹＥＳ）、追加トランザクション選択処理部１１１１４は、取得した更新情報に対応したトランザクションIDを、追加トランザクションリスト４３に追加（ステップ１０７）してステップ１０３に戻る。
【００４７】
図１１は、複製データベースからトランザクションを取り消す処理の流れを示している。
【００４８】
この処理は、トランザクション取消し処理部１１１２により行うことができる。
【００４９】
先ず、トランザクション取消し処理部１１１２は、取り消しトランザクションリスト４１の中から、トランザクションIDを1件取得する（ステップ１１４）。最終エントリならば（ステップ１１５）終了する。トランザクション取消し処理部１１１２は、取得されたトランザクションＩＤに対応したトランザクションを複製データベース２５から取り消し（ステップ１１６）、その後、ステップ１１４に戻る。
【００５０】
図１２は、複製データベースにトランザクションを追加する処理の流れを示している。
【００５１】
この処理は、トランザクション追加処理部１１１３により行うことができる。
【００５２】
先ず、トランザクション追加処理部１１１３は、追加トランザクションリスト４３の中から、トランザクションIDを1件取得する（ステップ１２２）。最終エントリならば（ステップ１２３）終了する。トランザクション追加処理部１１１３は、取り出したトランザクションIDに対応したトランザクションのオペレーションを順に実行し、複製データベース２５に、データベース２４の特定の更新内容（例えば、ディスクの切り離し後の当日扱い分のトランザクション）を反映し（ステップ１２４）、ステップ１２２に戻る。
【００５３】
図１３は、複製データベースから1件のトランザクションを取り消す処理の流れを示している。
【００５４】
この処理は、図１１のステップ１１６において行われる具体的な処理の一例である。
【００５５】
先ず、トランザクション取消し処理部１１１２は、トランザクション管理テーブル１１１４から、該当トランザクション（図１１のステップ１１４で取得されたトランザクションＩＤに対応したトランザクション）のオペレーション情報４７を取得する（ステップ１３２）。次に、トランザクション取消し処理部１１１２は、オペレーション情報４７の後ろから（換言すれば、そのオペレーション情報４７においてログシーケンス番号が大きいものから）、１件ずつ、エントリを取得する（ステップ１３３）。全てのエントリを処理した場合（ステップ１３４）終了する。
【００５６】
取得したエントリのオペレーションコード４７２が、INSERT、DELETE又はUPDATE以外ならば（ステップ１３５）、トランザクション取消し処理部１１１２は、ステップ１３３に戻る。
【００５７】
次に、トランザクション取消し処理部１１１２は、取得したエントリのログシーケンス番号４７１に対応したログレコードを、更新ログファイル１３７から取得する（ステップ１３６）。取得したログレコードに対応したログがINSERTログならば（ステップ１３８）、トランザクション取消し処理部１１１２は、複製データベース２５から、更新後のデータ３５３４をDELETE（ステップ１３９）して、ステップ１３３に戻る。
【００５８】
トランザクション取消し処理部１１１２は、取得したログレコードに対応したログがDELETEログならば（ステップ１３１０）、複製データベース２５に、更新前のデータ３５３３をINSERT（ステップ１３１１）して、ステップ１３３に戻る。
【００５９】
トランザクション取消し処理部１１１２は、取得したログレコードに対応したログがUPDATEログならば（ステップ１３１２）、複製データベース２５内のデータを更新前のデータ３５３３でUPDATE（ステップ１３１３）して、ステップ１３３に戻る。
【００６０】
以上で第一実施例の説明を終わるが、最後にその効果について纏めておく。
【００６１】
１点目は、複製データベースをバッチ処理やバックアップ等、様々な目的で活用する場合に、アプリケーション側に要求されるデータ準備の為の負担を大幅に軽減できることである。つまりトランザクション選択処理２９により、一旦作成した複製データベースの更新状態を任意の条件に従い変更できる。例えば複製データベース作成後、既に実行が完了した翌日扱いのバッチ処理の更新内容を取り消したり、逆に複製データベースには未だ反映されていない当日扱いのバッチ処理更新内容を反映できる。
【００６２】
２点目は、運用の柔軟性が向上することである。例えば当日扱いの業務と翌日扱いの業務が混在するような、業務の時間的切れ目が確保できない場合においても、トランザクション選択処理２９により業務的に当日扱いの処理が完了した状態の複製データベースを作成することができる。また、複製データベースの状態は、任意の時刻に何度でも変更することができる。
【００６３】
３点目は、オンライン業務への影響を与えずに、複製データベースの状態を変更できることである。これは、トランザクション選択処理２９が、更新ログファイル２３に書かれた情報を用いて複製データベースを更新する為である。
【００６４】
上述した第一実施例によれば、これら３つのうちの少なくとも一つの効果を奏することができる。
【実施例２】
【００６５】
以下に、トランザクションの選択及び複製データベースの更新処理を、情報処理装置ではなく、外部記憶装置側で行う実施例について説明する。
【００６６】
図１４は、本発明における第二実施例である情報処理装置の構成を示すものである。本実施例では、バス１４０６で接続された情報処理装置１４０１と外部記憶装置１４０９で実現されており、情報処理装置１４０１は、ＣＰＵ１４０３、メモリ１４０２、ディスプレイ１４０４、キーボード１４０５で構成されている。メモリ１４０２上のオンラインアプリケーション１４０７は、データベース管理システム１４０８を介して外部記憶装置１４０９上のデータベース１４１２にアクセスするものである。データベース１４１２の更新内容は、更新ログファイル１４１１に更新履歴情報として記録するとともに、ディスク制御処理部１４１０上の多重書き機構１４２０によってリアルタイムに複製データベース１４１３に反映することができる。また多重書き機構１４２０は任意の時点で多重書きを解除でき、複製データベース１４１３を、データベース管理システム１４０８を介してデータベース１４１２とは独立したデータベースとして読み書き可能にすることもできる。データベース管理システム１４０８には、更新ログファイル１４１１からある条件を満たすトランザクションを選択するトランザクション選択処理部１４１５と、そのトランザクションを管理するトランザクション管理テーブル１４１６と、条件を満たさないトランザクションを複製データベース１４１３から取り消すトランザクション取り消し処理部１４１７と、条件を満たすトランザクションを複製データベース１４１３に追加するトランザクション追加処理部１４１８を含む。トランザクション取り消し処理部１４１７とトランザクション追加処理部１４１８は、複製データベース１４１３へのトランザクション処理内容を更新する際、情報処理装置１４０１側のデータベース処理で認識している論理的な位置情報と、外部記憶装置１４０９上の物理的な位置情報との相対関係を示すDB-ディスクブロック変換テーブル１４１４によって、更新ログファイル１４１１中に示された位置情報を外部記憶装置１４０９上の物理的な位置情報に変換し、その変換した物理的な位置情報で表される外部記憶装置１４０９上の複製データベース１４１３のデータを更新ログファイル１４１１の内容に従って更新する。DB-ディスクブロック変換処理１４１９は、変換情報としてDB-ディスクブロック変換テーブル１４１４を使用する。
【００６７】
図１５は、DBの論理的な情報と、ディスクの物理的な情報の関係図を示している。すなわち情報処理装置１４０１上で認識されるデータベース領域と、オペレーティングシステムが認識する論理ボリューム１５０４と、デバイスファイル１５０５及び外部記憶装置１４０９内のＬＵ１５０６へのマッピング関連例を示す図である。図１５に示すようにデータベース管理システム１４０８ではデータを格納するデータベース領域１５０１は複数のファイル１５０２から構成されるものとして認識されている。構成する各ファイル１５０２は情報処理装置１４０１上のオペレーティングシステムのファイルに対応しており、図１５ではオペレーティングシステムにおいてＲＡＷデバイスとして認識されるケースを想定している。更に、オペレーティングシステムのファイルは、物理的な磁気ディスク装置に対応するデバイスファイル１５０５として管理されており、そのデバイスファイルは、前述したように外部記憶装置１４０９内の個々の磁気ディスク装置に対応するＬＵ１５０６にマッピングされている。
【００６８】
図１６は、DB-ディスクブロック変換テーブルの構成を示している。図１６に示すように、DB-ディスクブロック変換テーブル１４１４は、データベース領域１５０１を識別するデータベース領域ID１６０１と、そのデータベースIDで識別されるデータベース領域が複数ファイルで構成される場合のファイル順序番号を示すファイルID１６０２と、前記データベース領域を構成するブロックの長さを示すブロック長１６０３と、前記データベース領域の構成ファイルが確保されている論理ボリュームを識別する為の情報である論理ボリュームID１６０４と、論理ボリュームIDで認識される論理ボリュームがマッピングされている外部記憶装置を識別する為の番号であるディスク制御装置番号１６０５と、そのディスク制御装置番号で識別される外部記憶装置の磁気ディスク装置の中で、前記論理ボリュームがマッピングされている磁気ディスク装置のドライブ番号を識別する為の情報である物理デバイスID１６０６と、その物理デバイスIDで識別される磁気ディスク装置上での該当ファイルの相対的な位置を示す相対位置１６０７とを格納している。
【００６９】
外部記憶装置１４０９内では、前記デバイスファイル１５０５は、LU（Logical Unit）１５０６に対応している。従ってデータベース領域１５０１を構成するファイルは、最終的に物理デバイスである磁気ディスク装置にマッピングされる。対応する物理情報は、外部記憶装置１４０９上の物理デバイスを識別する為の物理デバイスIDと、物理デバイス内の相対位置であるLBA（Logical Block Address）である。
【００７０】
次に、第二実施例の処理の流れについて、第一実施例との違いを説明する。トランザクション選択処理起動２９により、第一実施例においては情報処理装置１４０１側でトランザクション選択処理１４１５を動作させたが、本実施例では外部記憶装置１４０９上で動作させる。また、トランザクション取り消し処理部１４１７とトランザクション追加処理部１４１８における複製データベース１４１３の更新処理（ステップ１１６、ステップ１２４）では、図１６に示したDB-ディスクブロック変換テーブル１４１４を参照し、ログレコード中に記録されたログ情報に含まれているデータベース領域ID、ファイルID、ページ番号から、対応する物理ディスクのディスク制御装置番号とドライブ番号とページ番号を識別することで、更新ログファイル１４１１中に示された論理的な位置情報を、外部記憶装置１４０９上の物理的な位置情報に変換し、その変換した物理的な位置情報で表される外部記憶装置１４０９上の複製データベース１４１３のデータを更新ログファイル１４１１の内容に従って更新する。すなわち、該当ログ情報に含まれているデータベース領域ID及びファイルIDに一致するレコードを、DB-ディスクブロック変換テーブル１４１４から検索して該当するディスク装置番号、ドライブ番号、及び相対位置を求めた後、その相対位置がファイルの先頭であるものとして、当該ログ情報のページ番号を物理ディスク上のページ番号に変換する。
【００７１】
第二実施例の説明した実施形態の情報処理装置によれば、トランザクション選択処理２９によって複製データベース更新する際に、情報処理装置と外部記憶装置との間の入出力処理負担を低減させるだけでなく、情報処理装置側で消費するメモリリソース量、及びCPU利用量を低減でき、オンラインサービスへの影響を最小限に抑える事ができる。
【実施例３】
【００７２】
図１７は、本発明における第一実施例における別のタイムチャートである。本実施例では、オンライントランザクション１７１において、トランザクション間に関連がある場合を示したものである。すなわちトランザクションＴ２（１７７）は、トランザクションＴ１（１７６）の処理結果に基づいて処理を行い、トランザクションＴ３（１７９）は、トランザクションＴ２（１７７）の処理結果に基づいて処理を行うような場合である。このような業務では、任意の時刻に複製データベース作成運用（ステップ１７２、１７３、１７４）によってデータベース１７１６の複製１７１７を作成すると、関連のあるトランザクションの１部が複製データベース側に反映されない為、複製データベース側におけるトランザクション間の関連を保証できない。
【００７３】
本実施例では、以下の処理ステップで複製データベース側におけるトランザクション間の関連を保証する。追加トランザクション選択処理部１１１１４のトランザクション選択条件６６判定ステップ１０６において、関連のあるトランザクションが複製DB最終トランザクション４２以前に実行されている場合に、該当トランザクションを追加トランザクションとして選択する。あるいは取り消しトランザクション選択処理部１１１１３のトランザクション選択条件６６判定ステップ９４において、関連のあるトランザクションが複製DB最終トランザクション４２より後に実行されている場合に、該当トランザクションを取り消しトランザクションとして選択する。
【００７４】
以上の第三実施例で説明した実施形態の情報処理装置によれば、トランザクション間の関連を意識して、関連のあるトランザクションを分断すること無く複製データベースに反映する。これにより複製データベース側におけるトランザクション間の関連を保証できる。
【実施例４】
【００７５】
図１８は、本発明の第四実施例に係るデータ処理システムの構成例を示す。
【００７６】
この第四実施例では、前述した第一実施例とは異なり、以下に詳述するように、データベース２４には反映されているが複製データベース２５には反映されていないトランザクションを、複製データベース２５に追加する処理（ロールフォワード処理）が不要になる。そのため、この第四実施例では、トランザクションの追加に関する要素として、追加トランザクション選択処理部１１１１４や、トランザクション追加処理部１１１３を搭載する必要がなくなる。このため、コンピュータ資源の節約や、コンピュータの処理負担の軽減に、貢献することができる。
【００７７】
図１９は、本発明の第四実施例に係るデータ処理システムで行われる処理流れの一例を示す。
【００７８】
この第四実施例では、当日業務の時間帯と翌日業務の時間帯とが、重複しておらず、所定の基準時刻（例えば０時００分００秒）を境に別れている。しかし、当日扱いのトランザクション処理の開始時刻と終了時刻、及び／又は、翌日扱いのトランザクション処理の開始時刻と終了時刻は、その基準時刻を跨ぐ場合がある。
【００７９】
この場合、基準時刻を過ぎてもしばらくの間、データベース２４と複製データベース２５とが同期化されているのであれば（ディスクの切り離し２７がされないのであれば）、データベース２４にも複製データベース２５にも、当日扱いのトランザクション２１０乃至２１３と、翌日扱いのトランザクション２１４とが混在することになる。
【００８０】
複製データベース２５に、当日扱いのトランザクション２１０乃至２１３と、翌日扱いのトランザクション２１４とが混在することになった後に、トランザクション選択処理起動２９が行われた場合、トランザクション選択処理部１１１が起動し、以下の処理が行われる。
【００８１】
まず、トランザクション選択処理部１１１に、トランザクション選択開始時刻６５と、トランザクション選択条件６６とが入力される。トランザクション選択開始時刻６５及びトランザクション選択条件６６の少なくとも一方は、例えば、利用者に入力された条件である。その条件は、予め入力され記憶されていても良いし、トランザクション選択処理の起動のときに入力されても良い。
【００８２】
次に、トランザクション抽出処理が行われる。この処理では、例えば、トランザクション抽出処理部１１１１１が、トランザクション選択開始時刻６５よりも前に発生したCOMMTログを、トランザクション管理テーブル１１１４の同一トランザクションのレコード群（行）に追加し、トランザクション選択開始時刻６５以降に発生したCOMMTログを含むトランザクションを、トランザクション管理テーブル１１１４から削除する。すなわち、トランザクション抽出処理部１１１１１が、複数のトランザクションの中から、トランザクション選択開始時刻６５よりも前に終了されたトランザクションを絞り込む。
【００８３】
次に、最終更新トランザクション検索処理が行われる。この処理では、例えば、最終更新トランザクション検索処理部１１１１２が、複製データベース２５に格納されているログシーケンス番号を取得し、そのログシーケンス番号と同じ番号を持ったCOMMITログを特定できた場合に、そのログシーケンス番号を含んだトランザクションのIDを、複製DB最終トランザクションIDとして設定する。
【００８４】
次に、取消しトランザクション選択処理及びトランザクション取消し処理が行われる。この処理では、例えば、取り消しトランザクション選択処理部１１１１３が、設定された複製DB最終トランザクションＩＤよりも前のIDに対応したレコード群を取得し、入力されたトランザクション選択条件（例えば、２００３年１０月１７日）に対応したトランザクションのIDを設定する。トランザクション取消し処理部１１１２が、設定されたIDに対応したトランザクションを複製データベース２５から削除する。ここでは、更に、トランザクション取消し処理部１１１２が、更新ログファイル２３に記録されている情報に基づいて、ロールバック処理を行うことができる。すなわち、トランザクション取消し処理部１１１２が、更新ログファイル２３に記録されている更新情報３５等に基づいて、更新前のデータを複製データベース２５に復元することができる。
【００８５】
以上の一連の処理により、複製データベース２４に、利用者所望のトランザクション（例えば当日扱い分のトランザクション）のみを残すことができる。
【００８６】
この第四実施例では、INSERTログの更新後データとして記録されるタイムスタンプを、コンピュータのタイマ（例えば、情報処理装置１０のCPU12によって管理されているタイマ）が表す時刻ではなく、時刻テーブル上の時刻を採用することができる。以下、具体例を説明する。
【００８７】
図２０は、データベースにおいて時系列で表現されているデータの切れ目を時刻テーブルを用いて作る方法の説明図である。
【００８８】
この図を用いて説明する処理では、排他管理テーブルが参照される。排他管理テーブル１２１５には、例えば、図２１に示すように、各リソース毎に、リソースに関する情報と、排他モードと、待ちのトランザクションのＩＤとが記録される。リソースに関する情報とは、何に対しての排他管理かを表す情報であり、例えば、時刻テーブル１２１４に対しての排他管理であれば、リソースに関する情報として、時刻テーブル１２１４を特定するための情報が記述される。排他モードには、複数種類の排他ステータス、例えば、参照及び更新の両方が可能な状態であることを意味する「参照可／更新可」や、参照は可能であるが更新は不可であることを意味する「参照不可／更新可」や、参照も更新も不可であることを意味する「参照不可／更新不可」がある。待ちのトランザクションＩＤは、例えばキュー形式で記録される。第一のトランザクションＩＤよりも先に第二のトランザクションＩＤが記録された場合には、第一のトランザクションＩＤに対応したトランザクションよりも第二のトランザクションＩＤに対応したトランザクションの方が、先に、時刻テーブルを参照或いは更新することができる。
【００８９】
再び図２０を参照する。トランザクションＡは、起動し（ステップＳ１０００）、排他管理テーブルを参照し（Ｓ１００１）、時刻テーブル１２１４が参照可の状態であることが検出された場合に、時刻テーブ１２１４を参照する（Ｓ１００２）。トランザクションＡは、参照可／更新不可を排他管理テーブル１２１５に設定し、且つ、時刻テーブル１２１４から、そこに記述されている時刻コード（例えば、2003/10/16）を取得する。
【００９０】
ここで、トランザクションＡの処理中に、時刻更新タイミングになり（例えば、日付が変わり）、時刻テーブル１２１４の時刻コードを更新する処理を行うトランザクション（以下、時刻更新トランザクション）が起動したとする（Ｓ１０１０）。時刻更新トランザクションは、排他管理テーブル１２１５を参照するが（Ｓ１０１１）、そこには既に時刻テーブル１２１４について参照可／更新不可のステータスが設定されているので、自分のトランザクションＩＤを排他管理テーブル１２１５に記録し、排他解除待ちになる。
【００９１】
また、トランザクションＡの処理中に、トランザクションＡや時刻更新トランザクションとは別のトランザクションであるトランザクションＢが起動したとする（Ｓ１０２０）。トランザクションＢは、排他管理テーブル１２１５を参照するが（Ｓ１０２１）、そこには既に時刻テーブル１２１４について参照可／更新不可のステータスが設定されているので、自分のトランザクションＩＤを排他管理テーブル１２１５に記録し、排他解除待ちになる。
【００９２】
トランザクションＡの処理が確定した場合、COMMITが発行され（Ｓ１００３）、それにより、時刻テーブル１２１４の排他状態は解除される。
【００９３】
また、それにより、時刻更新トランザクションが、時刻テーブル１２１４を参照できるようになる。なぜなら、トランザクションＢのＩＤよりも先に時刻更新トランザクションのＩＤが排他管理テーブル１２１５に記録されたからである。時刻更新トランザクションは、時刻テーブ１２１４を参照し（Ｓ１０１２）、且つ、参照不可／更新不可を排他管理テーブル１２１５に設定する。時刻更新トランザクションは、例えば、コンピュータのタイマが表す時刻のうちの必要な部分（例えば、年月日時秒まで表されていた場合には年月日まで）を、新たな時刻コードとして、時刻テーブル１２１４に既に書かれている時刻コードに上書きする（Ｓ１０１３）。その後、時刻更新トランザクションの処理が確定し,COMMITが発行され（Ｓ１０１４）、排他状態が解除される。
【００９４】
その解除により、次に排他管理テーブル１２１５で予約されていたトランザクションＢが、時刻テーブルを参照する（Ｓ１０２２）。トランザクションＢは、参照可／更新不可を排他管理テーブル１２１５に設定し、且つ、時刻テーブル１２１４から、そこに記述されている新たな時刻コード（例えば、2003/10/17）を取得する。その後、トランザクションＢの処理が確定し、COMMITが発行される（Ｓ１０２３）。
【００９５】
この一連の処理により、時刻更新トランザクションのCOMMITログよりも後のCOMMITログを持つトランザクションを、取消し対象とすることができる。
【００９６】
以上が、第四実施例についての説明である。なお、この第四実施例では、静止化処理起動２６（図１９参照）は、第一時間帯（例えば当日扱いの時間帯）と第二時間帯（例えば翌日扱いの時間帯）との境よりも十分に後の時刻に行われても良い。こうすることにより、複製データベース２５には、より多くの翌日扱いのトランザクションが格納されることになるが、確実に、当日扱いのトランザクションを複製データベース２５に反映させることが可能である。
【００９７】
以上、本発明の好適な幾つかの実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
【図面の簡単な説明】
【００９８】
【図１】第一実施例のシステム構成を示す図である。
【図２】第一実施例のタイムチャートを示す図である。
【図３】第一実施例の更新ログファイルの構成を示す図である。
【図４】第一実施例のトランザクション管理テーブルを示す図である。
【図５】第一実施例のデータベースの構成を示す図である。
【図６】第一実施例のトランザクション選択処理を示す図である。
【図７】第一実施例のトランザクション抽出処理を示す図である。
【図８】第一実施例の最終更新トランザクション検索処理を示す図である。
【図９】第一実施例の取り消しトランザクション選択処理を示す図である。
【図１０】第一実施例の追加トランザクション選択処理を示す図である。
【図１１】第一実施例のトランザクション取り消し処理を示す図である。
【図１２】第一実施例のトランザクション追加処理を示す図である。
【図１３】第一実施例のトランザクション取り消し処理の詳細を示す図である。
【図１４】第二実施例のシステム構成を示す図である。
【図１５】第二実施例のDB-ディスク構成を示す図である。
【図１６】第二実施例のDB-ディスクブロック変換テーブルを示す図である。
【図１７】第三実施例のタイムチャートを示す図である。
【図１８】本発明の第四実施例に係るデータ処理システムの構成例を示す。
【図１９】本発明の第四実施例に係るデータ処理システムで行われる処理流れの一例を示す。
【図２０】データベースにおいて時系列で表現されているデータの切れ目を時刻テーブルを用いて作る方法の説明図である。
【図２１】排他管理テーブルの構成例を示す。
【符号の説明】
【００９９】
１０…情報処理装置、１１…メモリ、１１１…データベース管理システム、１６…外部記憶装置、１６１…ディスク制御処理部、１６１１…多重書き機構、１６２…データベース、１６３…複製データベース、１６４…更新ログファイル
【図１】
2006018796.tif 000003
【図２】
2006018796.tif 000004
【図３】
2006018796.tif 000005
【図４】
2006018796.tif 000006
【図５】
2006018796.tif 000007
【図６】
2006018796.tif 000008
【図７】
2006018796.tif 000009
【図８】
2006018796.tif 000010
【図９】
2006018796.tif 000011
【図１０】
2006018796.tif 000012
【図１１】
2006018796.tif 000013
【図１２】
2006018796.tif 000014
【図１３】
2006018796.tif 000015
【図１４】
2006018796.tif 000016
【図１５】
2006018796.tif 000017
【図１６】
2006018796.tif 000018
【図１７】
2006018796.tif 000019
【図１８】
2006018796.tif 000020
【図１９】
2006018796.tif 000021
【図２０】
2006018796.tif 000022
【図２１】
2006018796.tif 000023