JP4166056B2 - データベース操作履歴管理装置、データベース操作履歴管理方法、およびデータベース操作履歴管理プログラム - Google Patents
データベース操作履歴管理装置、データベース操作履歴管理方法、およびデータベース操作履歴管理プログラム Download PDFInfo
- Publication number
- JP4166056B2 JP4166056B2 JP2002237234A JP2002237234A JP4166056B2 JP 4166056 B2 JP4166056 B2 JP 4166056B2 JP 2002237234 A JP2002237234 A JP 2002237234A JP 2002237234 A JP2002237234 A JP 2002237234A JP 4166056 B2 JP4166056 B2 JP 4166056B2
- Authority
- JP
- Japan
- Prior art keywords
- database
- log
- processing
- operation history
- batch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2358—Change logging, detection, and notification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明はデータベースに対する操作履歴を管理するためのデータベース操作履歴管理装置、データベース操作履歴管理方法、およびデータベース操作履歴管理プログラムに関し、特にバッチ処理によるデータベースの操作を伴うシステムで利用されるデータベース操作履歴管理装置、データベース操作履歴管理方法、およびデータベース操作履歴管理プログラムに関する。
【0002】
【従来の技術】
業務に使用されるコンピュータシステムでは、日々発生する業務に応じたデータをデータベースに格納する。このようにして逐次更新されるデータベースの内容は、システム障害が発生した場合でも最新の状態に正しく復旧する必要がある。
【0003】
データベースを利用した業務形態は、「オンライン業務」と「バッチ業務」の2つにカテゴライズされており、データベースの復旧手法は、業務形態によって異なる。
【0004】
・オンライン業務
オンライン業務は、操作入力等に応答してデータの参照、更新が頻繁に行われる。そのため、処理レスポンスが重要となる。オンライン業務中に異常が発生した場合には、過去に取得した退避データをリストアした後に、データベースに対する操作履歴(以下、アーカイブログと呼ぶ)を適用してデータの復旧を実施する。
【0005】
ここで、アーカイブログとは、データを更新した履歴である。ユーザからの操作入力等に応じた対話型の処理要求に応じたデータの挿入、更新などが実行されたときに、更新されたデータに対応したアーカイブログがログファイルに出力される。データベースにディスク障害などの異常が発生すると、ログファイルに記録されたアーカイブログを辿ることで、データベースが復旧できる。オンライン業務では、ユーザからの操作入力に応じたデータの挿入や更新が行われるため、アーカイブログを取得しておかないと過去に実行された操作を再現できず、データベースの復旧が困難となる。
【0006】
・バッチ業務
オンライン業務とは異なり、バッチ業務は、予め用意されたデータ更新要求に応じて、大量のデータの挿入が高い頻度で実行される。大規模なバッチ業務の実行前には、障害等の発生に備え、データベース内のデータの退避が行われる。そして、バッチ業務中にシステムの異常が発生した場合には、まず予め取得した退避データをリストアすることで、バッチ業務の開始前の状態にデータベースを復旧する。その後、バッチ業務を最初から再実行する。
【0007】
以上のように、オンライン業務とバッチ業務とでは、障害発生時の復旧方法が異なる。
ところで、多くのデータベースシステムでは、日中はオンライン業務、夜間はバッチ業務というように、時間帯を分けて双方の業務が行われる。このような場合は、一般的には、バッチ業務中を含む業務全体におけるアーカイブログが取得される。
【0008】
すなわち、過去にバックアップが行われた時点からのデータベースに対して実施された操作内容が継続的にアーカイブログとして取得されていることが、アーカイブログを用いて正しくデータベースを復旧するための前提条件である。途中にアーカイブログが取得されていない期間が存在すると、その期間中のデータベースの変更が再現できないため、正しい復旧作業はできない。
【0009】
そのため、オンライン処理とバッチ処理とを行うシステムでは、バッチ業務中も継続してアーカイブログを取得する。これにより、アーカイブログの連続性が保たれ、アーカイブログを用いてデータベースを正しく復旧することが可能となる。
【0010】
ただし、バッチ業務では大量のデータの挿入処理が実施される。そのため、バッチ処理中にアーカイブログを取得した場合、大量のアーカイブログが出力される結果となり、アーカイブログを出力するためには大容量のストレージデバイスが必要となる。さらに、ストレージデバイスに対しての入出力処理(たとえば、データの書き込み処理)が頻繁に動作するため、バッチ業務自体の処理速度が低下する。
【0011】
そこで、バッチ業務実施時に、アーカイブログ運用を一時的に停止する方法が考えられている。
図13は、従来のアーカイブログ運用を一時的に停止する場合のシステム運用例を示す図である。たとえば、オンライン業務から一日の業務が開始される。オンライン業務が行われている間は、アーカイブログ運用が行われている。すなわち、アーカイブログが取得されている。日中のオンライン業務が終了すると、全データベース(DB)のバックアップが行われ、全データベースの退避データが取得される(ステップS92)。バックアップ終了後、アーカイブログ運用の停止処理が行われる(ステップS93)。これ以降、データベースに対してデータの挿入等の操作が行われても、アーカイブログは取得されない。
【0012】
その後、バッチ業務(ステップS94)が行われる。バッチ業務終了後、アーカイブログ運用が開始される(ステップS95)。そして、再度、全データベースのバックアップが行われ、全データベースの退避データが取得される(ステップS96)。バックアップが終了すると、次の営業日のオンライン業務(ステップS91)が開始される。
【0013】
このように、バッチ業務(ステップS94)の間、アーカイブログ運用を止めることにより、アーカイブログの運用区間が連続しなくなる。そこで、アーカイブログ運用停止時、およびアーカイブログ運用開始時に、全データベースのバックアップ処理(ステップS92,S96)が行われる。これにより、アーカイブログ運用再開後に障害が発生した場合、再開前に取得した退避データをリストアし、それ以降のアーカイブログに基づいてデータベースへの操作を再現することで、データベースを最新の状態まで復旧することができる。
【0014】
【発明が解決しようとする課題】
しかし、従来のアーカイブログ運用を一時的に停止する方法には、以下の問題がある。
【0015】
アーカイブログの運用期間が連続していないため、アーカイブログ運用開始時には全データベースの退避データが必要となる。一日一回のバッチ業務が発生するものとすれば、毎日2回ずつ全データベースのバックアップを行うことになる。しかも、対象のデータベースが複数の資源で構成される場合でも、各資源に対する操作の有無が不明であるため、バッチ業務中に操作されていない(参照のみ実行、もしくは何も実行しない)データベースに関しても、退避データを取得する必要がある。この結果、退避データの格納のために、大量の記憶領域が必要となる。
【0016】
しかも、退避データを取得する処理時間が増加することにより、システム全体の運用効率が悪化する。
本発明はこのような点に鑑みてなされたものであり、システム全体としての運用効率を向上させたデータベース操作履歴管理装置、データベース操作履歴管理方法、およびデータベース操作履歴管理プログラムを提供することを目的とする。
【0017】
【課題を解決するための手段】
本発明の第1の態様では上記課題を解決するために、図1に示すようなデータベース操作履歴管理装置が提供される。本発明に係るデータベース操作履歴管理装置は、データベース1に対する操作履歴を管理するものであり、以下の機能を有する。
【0018】
対話型処理手段2は、入力された処理要求2a,2b,2c,・・・に応答して、データベース1の操作を伴う対話型処理を実行する。バッチ処理手段3は、データベース1の操作を伴う一連の処理要求がまとめられたバッチ処理要求3aに応答して、バッチ処理要求3aに従った一連のバッチ処理を実行する。ログ記憶手段4は、データベース1に関連する処理の履歴情報を時系列で保持する。ログ取得手段5は、バッチ処理の実行中を除き、対話型処理手段2がデータベース1の操作を行う毎に操作内容を示す操作履歴4a,4bをログ記憶手段4に格納し、バッチ処理手段3によりバッチ処理が実行されると、バッチ処理の実行を示すチェックポイントログ4cをログ記憶手段4に格納する。
【0019】
このようなデータベース操作履歴管理装置によれば、処理要求2a,2b,2c,・・・が入力されると対話型処理手段2により、データベース1の操作を伴う処理が実行される。すると、ログ取得手段5により、データベース1の操作が行われる毎に操作内容を示す操作履歴4a,4bがログ記憶手段4に格納される。また、バッチ処理要求3aが入力されると、バッチ処理手段3によりバッチ処理要求3aに従った一連のバッチ処理が実行される。ログ取得手段5によるバッチ処理の実行中は操作履歴の格納は行われず、バッチ処理の実行を示すチェックポイントログ4cがログ記憶手段4に格納される。
【0020】
本発明の第2の態様では、データベースに対する操作履歴を管理するデータベース操作履歴管理方法において、入力された処理要求に応答して、前記データベースの操作を伴う対話型処理を実行し、前記データベースの操作を行う毎に操作内容を示す操作履歴を、前記データベースに関連する処理の履歴情報を時系列で保持するログ記憶手段に格納し、前記データベースの操作を伴う対話型処理の実行を停止し、前記データベースの操作を伴う一連の処理要求がまとめられたバッチ処理要求に応答して、前記バッチ処理要求に従った一連のバッチ処理を実行し、前記バッチ処理の実行を示すチェックポイントログを前記ログ記憶手段に格納する、ことを特徴とするデータベース操作履歴管理方法が提供される。
【0021】
このようなデータベース操作履歴管理方法によれば、入力された処理要求に応答して対話型処理が実行され、データベースの操作を行う毎に操作内容を示す操作履歴がログ記憶手段に格納される。次に、対話型処理の実行が停止され、バッチ処理要求に応答して、バッチ処理要求に従った一連のバッチ処理が実行される。そして、バッチ処理の実行を示すチェックポイントログがログ記憶手段に格納される。
【0022】
本発明の第3の態様では、データベースに対する操作履歴を管理するデータベース操作履歴管理プログラムにおいて、コンピュータに、入力された処理要求に応答して、前記データベースの操作を伴う対話型処理を実行し、前記データベースの操作を行う毎に操作内容を示す操作履歴を、前記データベースに関連する処理の履歴情報を時系列で保持するログ記憶手段に格納し、前記データベースの操作を伴う対話型処理の実行を停止し、前記データベースの操作を伴う一連の処理要求がまとめられたバッチ処理要求に応答して、前記バッチ処理要求に従った一連のバッチ処理を実行し、前記バッチ処理の実行を示すチェックポイントログを前記ログ記憶手段に格納する、処理を実行させることを特徴とするデータベース操作履歴管理プログラムが提供される。
【0023】
このようなデータベース操作履歴管理プログラムをコンピュータで実行すれば、そのコンピュータにより、上記本発明の第2の態様で示したデータベース操作履歴管理方法と同様の処理が行われる。
【0024】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
まず、実施の形態に適用される発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。
【0025】
図1は、実施の形態に適用される発明の概念図である。図1に示すデータベース操作履歴管理装置は、データベース1に対する操作履歴を管理するものであり、以下の機能を有する。また、データベース操作履歴管理装置では、データベース1に対する対話型処理とバッチ処理とは、時間帯を分けて行われる。
【0026】
対話型処理手段2は、入力された処理要求2a,2b,2c,・・・に応答して、データベース1の操作を伴う対話型処理を実行する。対話型処理は、たとえば、ネットワークを介して接続される端末装置から送られる処理要求2a,2b,2c,・・・に応答して実行されるオンライン処理である。
【0027】
バッチ処理手段3は、データベース1の操作を伴う一連の処理要求がまとめられたバッチ処理要求3aに応答して、バッチ処理要求3aに従った一連のバッチ処理を実行する。
【0028】
ログ記憶手段4は、データベース1に関連する処理の履歴情報を時系列で保持する。たとえば、操作履歴4a,4bやチェックポイント(CP)ログ4cが、時系列で保持される。
【0029】
ログ取得手段5は、バッチ処理の実行中を除き、対話型処理手段2がデータベース1の操作を行う毎に操作内容を示す操作履歴4a,4bをログ記憶手段4に格納する。また、ログ取得手段5は、バッチ処理手段3によりバッチ処理が実行されると、バッチ処理の実行を示すチェックポイントログ4cをログ記憶手段4に格納する。たとえば、ログ取得手段5は、バッチ処理手段3によるデータベース1の最初の操作が行われたときに、チェックポイントログ4cをログ記憶手段4に格納する。
【0030】
このようなデータベース操作履歴管理装置によれば、処理要求2a,2b,2c,・・・が入力されると対話型処理手段2により、データベース1の操作を伴う処理が実行される。すると、ログ取得手段5により、データベース1の操作が行われる毎に操作内容を示す操作履歴4a,4bがログ記憶手段4に格納される。また、バッチ処理要求3aが入力されると、バッチ処理手段3によりバッチ処理要求3aに従った一連のバッチ処理が実行される。ログ取得手段5によるバッチ処理の実行中は操作履歴の格納は行われず、バッチ処理の実行を示すチェックポイントログ4cがログ記憶手段4に格納される。
【0031】
このようにしてログ記憶手段4に格納された各種ログを利用すれば、システム障害等によりデータベース1の内容の正確性が保証できなくなったときに、データベース1を最新の状態に復旧することができる。
【0032】
たとえば、バッチ処理中に障害が発生すると、ログ記憶手段4に格納されている操作履歴4a,4bに基づいて、データベース1に対して実行された操作を、時系列に沿って、チェックポイントログ4cに達するまで順次再実行する。そして、バッチ処理要求3aに応じたバッチ処理を再度実行する。これにより、バッチ処理中に障害が発生しても、データベース1の内容を最新の状態まで復旧することができる。しかも、バッチ処理の開始前にデータベース1のバックアップを取っておく必要が無いため、処理効率が向上する。
【0033】
なお、ログ取得手段5は、バッチ処理手段3によりデータベース1が操作されたときにのみチェックポイントログをログ記憶手段4に格納してもよい。これにより、ログ記憶手段4を参照してチェックポイントログが書き込まれていなければ、バッチ処理においてデータベース1の操作が行われなかったことが分かる。すなわち、以後、継続した対話型処理を実行する場合でも、データベース1のバックアップを行わなくても良いことが分かり、作業を簡略化することができる。
【0034】
また、データベースが複数の資源で構成される場合、ログ取得手段5は、バッチ処理手段3による複数の資源それぞれの操作の有無を示す資源毎のチェックポイントログを、ログ記憶手段4に格納してもよい。これにより、バッチ処理中の資源毎の操作の有無を把握することができる。以後、継続した対話型処理を実行する場合、更新された資源のバックアップのみを行えばよいことが分かり、作業を簡略化することができる。なお、データベース1を構成する資源は、たとえば、DSI(Data Structure Instance)と呼ばれる格納構造のデータである。
【0035】
ところで、複数のユーザが共用するコンピュータシステムでは、対話型処理の1つであるオンライン処理が行われる場合が多い。オンライン処理を実行するオンライン業務とバッチ処理を実行するバッチ業務とを、時間帯を分けて実施するコンピュータシステムとして、たとえば、銀行のオンラインシステムなどがある。銀行のオンラインシステムでは、日中は、各店舗においてオペレータが入力した処理要求に応じて、オンライン業務が実行され、夜間はメンテナンス作業を含めたバッチ処理が実行される。
【0036】
以下、対話型処理として、ネットワーク経由で接続された端末装置からの処理要求に応じたオンライン処理を行う場合の例を採り、本発明の実施の形態を具体的に説明する。なお、以下の実施の形態では、操作履歴として記録された情報を、アーカイブログと呼ぶこととする。
【0037】
図2は、本実施の形態のシステム構成例を示す図である。図2の例では、データベースサーバ100に対して、ネットワーク10を介して複数の端末装置201,202,203,・・・が接続されている。データベースサーバ100は、オンライン業務やバッチ業務に関連するデータベースを保持するサーバコンピュータである。端末装置201,202,203,・・・は、ネットワーク10を介してデータベースサーバ100にアクセスし、オンライン業務の処理要求を送信することができる。
【0038】
図3は、本発明の実施の形態に用いるデータベースサーバのハードウェア構成例を示す図である。データベースサーバ100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス108を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103a,103b,103c、グラフィック処理装置104、入力インタフェース105、テープ装置106および通信インタフェース107が接続されている。
【0039】
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103a,103b,103cには、OSや応用(アプリケーション)プログラムが格納される。特に、HDD103aは、データベースを格納するためにも利用される。また、103bは、アーカイブログを格納するためにも利用される。HDD103cは、バックアップされた退避データを格納するためにも利用される。
【0040】
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス108を介してCPU101に送信する。
【0041】
テープ装置106は、バックアップ用の退避データを、所定の磁気テープに記録する装置である。すなわち、バックアップ処理で生成された退避データは、一旦、バックアップ用のHDD103cに格納され、その後、HDD103c内の退避データが、テープ装置106によって磁気テーブに記録される。
【0042】
通信インタフェース107は、ネットワーク10に接続されている。通信インタフェース107は、ネットワーク10を介して、他のコンピュータ(たとえば、端末装置201,202,203,・・・)との間でデータの送受信を行う。
【0043】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図3には、データベースサーバ100のハードウェア構成例を示したが、端末装置201,202,203,・・・も同様のハードウェア構成で実現することができる。
【0044】
次に、データベースサーバ100が本実施の形態の処理を実行するために有している処理機能について説明する。
図4は、データベースサーバの機能構成を示すブロック図である。データベースサーバ100は、データベース111、アーカイブログ記憶部112、退避データ記憶部113、ログ管理ファイル114、オンライン業務処理部121、バッチ業務処理部122、データベース操作部131、アーカイブログ取得部141、履歴再現部142、バックアップ部151、およびリストア部152を有している。
【0045】
データベース111には、各種業務の結果、発生するデータが格納される。格納されるデータは、資源111a,111b,111c,・・・毎に管理されている。資源111a,111b,111c,・・・は、それぞれ個別の用途に応じたデータが格納されている。たとえば、データベース111は、図3に示すHDD103a内の記憶領域である。
【0046】
アーカイブログ記憶部112は、データベース111へのデータの挿入等の操作に応じたアーカイブログが時系列で記録された記録領域である。たとえば、アーカイブログ記憶部112は、図3に示すHDD103b内の記憶領域である。
【0047】
退避データ記憶部113は、バックアップ処理により退避される退避データを格納する記憶領域である。たとえば、退避データ記憶部113は、図3のHDD103c内の記憶領域である。
【0048】
ログ管理ファイル114は、アーカイブログ取得処理に関する各種管理情報が格納されるファイルである。ログ管理ファイル114には、アーカイブログの出力を実行するか否かを示すフラグ(アーカイブログ出力停止フラグ)が設定されている。
【0049】
オンライン業務処理部121は、端末装置201,202,203,・・・から送られたオンラインの処理要求に応じてオンライン業務を実行する処理機能である。オンライン業務処理部121は、オンライン業務実行用の応用プログラムをデータベースサーバ100が実行することで実現する。
【0050】
バッチ業務処理部122は、システム管理者によるキーボード12等を介した操作入力に応答して、バッチ処理を実行する処理機能である。バッチ業務処理部122は、バッチ業務実行用の応用プログラムをデータベースサーバ100が実行することで実現する。
【0051】
データベース操作部131は、オンライン業務処理部121やバッチ業務処理部122からの要求に応答して、データベース111に対するデータの入出力を行う。たとえば、任意の資源に対するデータの挿入要求が出された場合には、データベース操作部131は、データベース111内の指定された資源へデータを挿入する。任意の資源内のデータの参照要求が出された場合には、データベース操作部131は、データベース111内の指定された資源からデータを取得し、要求を出力したアプリケーション(オンライン業務処理部121もしくはバッチ業務処理部122)へ取得したデータを渡す。
【0052】
アーカイブログ取得部141は、データベース操作部131で実行されるデータベース111の操作を監視する。そして、データベース操作部131によるデータベース111の操作が行われる場合、アーカイブログ取得部141は、その操作の内容を表す操作履歴(アーカイブログ)を取得し、アーカイブログ記憶部112に格納する。
【0053】
なお、アーカイブログ取得部141は、アーカイブログを取得した際、ログ管理ファイル114に設定されているアーカイブログ出力停止フラグを参照して、アーカイブログ出力停止フラグがOFFの場合にのみ、アーカイブログの格納処理を行う。ただし、アーカイブログ取得部141は、アーカイブログ出力停止フラグがONであっても、バッチ業務における各資源に対する最初の操作が行われた場合には、チェックポイントログをアーカイブログ記憶部112に格納する。また、アーカイブログ取得部141は、バックアップ部151によるバックアップ処理の状況を監視しており、資源のバックアップが行われると、アーカイブログ出力停止フラグがONであっても、バックアップされたことを示すバックアップログをアーカイブログ記憶部112に格納する。
【0054】
履歴再現部142は、アーカイブログ記憶部112に蓄積されているアーカイブログを参照し、システム障害等によりデータの内容が過去の状態に戻ってしまったデータベース111を最新の状態に復旧する。具体的には、履歴再現部142は、アーカイブログ記憶部112に蓄積されているアーカイブログを、蓄積された時刻が古いものから順に取得し、そのアーカイブログで示されるデータベース111への操作を再実行する。
【0055】
バックアップ部151は、ユーザからの操作入力等に応答して、データベース111に格納されているデータのバックアップを行う。具体的には、バックアップ部151は、操作入力で指定された資源のデータを全て抽出する。そして、バックアップ部151は、抽出したデータを退避データとして、退避データ記憶部113に格納する。このとき、データの圧縮が指定されている場合には、バックアップ部151は、抽出したデータを所定のデータ圧縮アルゴリズムで圧縮し、圧縮後のデータを退避データとする。
【0056】
リストア部152は、ユーザからの操作入力に応答して、退避データ記憶部113に格納されている退避データを、データベース111内にリストアする。退避データのリストアは、資源毎に行われる。
【0057】
図5は、アーカイブログ記憶部のデータ構造例を示す図である。アーカイブログ記憶部112には、アーカイブログ112a,112b,112c,112d,112i,112j、チェックポイント(CP)ログ112e,112f、バックアップログ112g,112hなどのデータが格納されている。
【0058】
アーカイブログ112a,112b,112c,112d,112i,112jは、データベース操作部131によってデータベース111に対して実行されたデータの操作内容を示す履歴データである。アーカイブログ112a,112b,112c,112d,112i,112jには、処理の内容、操作対象の資源名、操作時刻、操作対象ページ(本実施の形態では、資源内のデータがページ単位で管理されている)、データ内容などの情報が含まれる。たとえば、アーカイブログ112aは、処理の内容が「挿入」、操作対象資源名が「A」、操作時刻が「2002年7月7日9時1分(2002.07.07 09:01)」、操作対象ページが「page#1」、データ内容が「data#1」である。
【0059】
CPログ112e,112fは、バッチ業務処理部122からの要求に応じた各資源への最初の操作が行われたことを示す情報である。CPログ112e,112fには、処理の内容、操作対象の資源名、操作時刻などの情報が含まれる。たとえば、CPログ112eは、処理の内容が「CP」、操作対象資源名が「A」、操作時刻が「2002年7月7日21時4分(2002.07.07 21:04)」である。CPログ112fは、処理の内容が「CP」、操作対象資源名が「B」、操作時刻が「2002年7月7日21時15分(2002.07.07 21:15)」である。
【0060】
バックアップログ112g,112hは、資源のバックアップが行われたことを示す情報である。バックアップログ112g,112hには、処理の内容、操作対象の資源名、操作時刻などの情報が含まれる。たとえば、バックアップログ112gは、処理の内容が「backup」、操作対象資源名が「A」、操作時刻が「2002年7月7日23時2分(2002.07.07 23:02)」である。バックアップログ112hは、処理の内容が「backup」、操作対象資源名が「B」、操作時刻が「2002年7月7日23時54分(2002.07.07 23:54)」である。
【0061】
図6は、ログ管理ファイルのデータ構造例を示す図である。ログ管理ファイル114には、アーカイブログ記憶部112に格納するアーカイブログの入出力を管理するための各種情報が設定されている。その1つに、アーカイブログ出力停止フラグ114aがある。アーカイブログ出力停止フラグ114aは、データベース操作部131に対して出力された処理要求に応じたアーカイブログをアーカイブログ記憶部112に出力するか否かを示すフラグである。アーカイブログ出力停止フラグ114aは、アーカイブログの出力を停止する際にONが設定され、アーカイブログの出力を行う際にOFFが設定されている。
【0062】
以上のような構成のデータベースサーバ100が、以下のような手順で運用される。
図7は、アーカイブログ出力を一時的に停止する場合のシステム運用例を示す図である。
【0063】
一日の業務が開始されると、データベースサーバ100では、オンライン業務が実行される(ステップS11)。このとき、アーカイブログ出力運用中である(アーカイブログ出力停止フラグ114aは「OFF」)。
【0064】
オンライン業務中は、端末装置201,202,203,・・・に対するユーザの操作入力に応じて、端末装置201,202,203,・・・からデータベースサーバ100へ処理要求が送られる。データベースサーバ100では、オンライン業務処理部121が処理要求に応じた処理を実行する。オンライン業務処理部121は、処理の実行中にデータベース111の操作(データの挿入、削除等)要求をデータベース操作部131に対して出力する。操作要求では、操作対象の資源やデータが特定される。データベース操作部131は、オンライン業務処理部121からの操作要求に従って、データベース111内の資源を操作する(たとえば、データを挿入する)。
【0065】
このときアーカイブログ取得部141は、ログ管理ファイル114内のアーカイブログ出力停止フラグ114aを参照する。アーカイブログ出力停止フラグ114aが「OFF」であることを確認すると、アーカイブログ取得部141は、オンライン業務処理部121から出された操作要求に従って実行されるデータベース111への操作内容を示すアーカイブログを生成し、アーカイブログ記憶部112に蓄積する。
【0066】
オンライン業務を行う時間帯が終了すると、アーカイブログ出力停止処理が行われる(ステップS12)。
具体的には、まず、データベースサーバ100の管理者により、アーカイブログ出力停止を指令する操作入力が行われる。たとえば、データベースサーバ100においてアーカイブログ出力停止に対応するコマンドが用意されており、管理者は、キーボード12等を用いてそのコマンドを入力する。
【0067】
すると、管理者からの操作入力に応答して、アーカイブログ取得部141がログ管理ファイル114内のアーカイブログ出力停止フラグ114aを「ON」に変更する。
【0068】
次に、バッチ業務が実行される(ステップS13)。
具体的には、データベースサーバ100の管理者が、バッチ処理の処理要求を操作入力する。たとえば、管理者は、キーボード12等を用いて、バッチ処理に必要な多数のデータが格納されたファイルを指定したバッチ処理の処理要求を入力する。すると、その処理要求に応じた処理がバッチ業務処理部122で実行される。たとえば、バッチ業務処理部122は、指定されたファイルからデータを順次取り出し、処理要求に応じたデータベース111の操作要求をデータベース操作部131に渡す。データベース操作部131は、バッチ業務処理部122からの操作要求に従って、データベース111内の資源を操作する(たとえば、データを挿入する)。
【0069】
このときアーカイブログ取得部141は、バッチ業務処理部122からデータベース操作部131に渡された操作要求を取得するとともに、ログ管理ファイル114内のアーカイブログ出力停止フラグ114aを参照する。アーカイブログ出力停止フラグ114aが「ON」であることを確認すると、アーカイブログ取得部141は、オンライン業務処理部121から出された操作要求に応じて操作される資源が、アーカイブログ出力停止後に既に更新されているか否かを判断する。この判断は、操作対象の資源に対応するCPログがアーカイブログファイルに格納されているか否かに基づいて行われる。操作対象の資源がまだ更新されていなければ、アーカイブログ取得部141は、その資源に応じたCPログをアーカイブログ記憶部112に蓄積する。
【0070】
バッチ業務が終了したら、アーカイブログ出力が開始される(ステップS14)。
具体的には、まず、データベースサーバ100の管理者により、アーカイブログ出力停止を指令する操作入力が行われる。たとえば、データベースサーバ100においてアーカイブログ出力停止に対応するコマンドが用意されており、管理者は、キーボード12等を用いてそのコマンドを入力する。
【0071】
すると、管理者からの操作入力に応答して、アーカイブログ取得部141がログ管理ファイル114内のアーカイブログ出力停止フラグ114aを「OFF」に変更する。
【0072】
次に、更新された資源の退避データが取得される(ステップS15)。
具体的には、バックアップ部151がアーカイブログ記憶部112を参照し、更新された資源を判別する。更新された資源の判別は、その資源に対応するCPログが格納されているか否かに基づいて行う。次に、バックアップ部151は、更新された資源の一覧をモニタ11に表示する。モニタ11に表示された一覧を管理者が確認し、管理者は、キーボード12等を用いて任意の資源のバックアップ指示を操作入力する。たとえば、管理者は、資源を指定したバックアップコマンドを入力する。バックアップ部151は、資源のバックアップを指示する操作入力に応答して、指示された資源の退避データを生成し、退避データ記憶部113に格納する。
【0073】
なお、定期的(たとえば、1週間に1回)に、更新された資源の退避データの取得処理(ステップS15)に代えて、データベース111全体の退避データが取得される。データベース111全体の退避データを取得した際には、アーカイブログ記憶部112に蓄積されているアーカイブログを破棄する。
【0074】
資源の退避データを取得後、処理がオンライン業務(ステップS11)に進められ、ステップS11〜S15に示した運用手順が繰り返される。システム運用中にデータベース111の内容に正確性が保証できなくなるような障害が発生すると、データベース111の復旧作業が行われる。復旧作業は、資源毎に行われる。たとえば、資源が複数のHDDに分散格納されている場合、特定のHDDについての障害であれば、そのHDDに格納された資源の復旧作業が行われる。
【0075】
データベース111の復旧作業の手順は、障害の発生時期に依存する。オンライン業務(ステップS11)およびアーカイブログ出力停止作業(ステップS12)の間に障害が発生した場合、以下の手順でデータベース111の復旧作業が行われる。
【0076】
まず、退避データがリストアされる(ステップS21)。
具体的には、データベースサーバ100の管理者が、キーボード12等を用いて、障害が発生した資源から作成された最新の退避データを指定したリストアを指示する操作入力を行う。すると、その操作入力に応答して、リストア部152がリストアを行う。すなわち、リストア部152は、指定された退避データを、データベース111内に格納する。なお、退避データが圧縮形式のデータであれば、リストア部152は、圧縮された退避データを復元(展開、解凍、伸張ともいう)した後、データベース111内に格納する。
【0077】
次に、操作履歴が再現される(ステップS22)。
具体的には、データベースサーバ100の管理者が、キーボード12等を用いて、障害が発生した資源の履歴再現を指示する操作入力を行う。すると、その操作入力に応答して、履歴再現部142がアーカイブログ記憶部112を参照し、指定された資源に関するアーカイブログを取得する。ただし、取得するアーカイブログは、指定された資源に関する最新のバックアップログより後に格納されたものである。そして、履歴再現部142は、アーカイブログ生成時刻の古い順に資源に対する操作を再現する。
【0078】
データベース111の復旧作業が終わると、障害発生時点の業務が再開される。
バッチ業務(ステップS13)、アーカイブログ出力開始(ステップS14)、および更新された資源の退避データ取得(ステップS15)の各作業中に障害が発生した場合、以下の手順でデータベース111の復旧作業が行われる。
【0079】
まず、退避データがリストアされる(ステップS31)。具体的処理内容は、ステップS21の処理と同様である。
次に、操作履歴が再現される(ステップS32)。
【0080】
具体的には、データベースサーバ100の管理者が、キーボード12等を用いて、障害が発生した資源の履歴再現を指示する操作入力を行う。すると、その操作入力に応答して、履歴再現部142がアーカイブログ記憶部112を参照し、指定された資源に関するアーカイブログを取得する。ただし、取得するアーカイブログは、指定された資源に関する最新のバックアップログより後に格納され、且つ指定された資源に関する最新のCPログより前に格納されたものである。そして、履歴再現部142は、アーカイブログ生成時刻の古い順に資源に対する操作を再現する。
【0081】
さらに、バッチ業務が最初から再実行される(ステップS33)。
データベース111の復旧作業が終わると、障害発生時点の業務が再開される。ただし、バッチ業務中に障害が発生した場合には、そのバッチ業務は再実行により完了しているため、その次の業務から再開される。
【0082】
このような手順で運用することにより、最低限のバックアップ処理でデータベースを復旧させるための情報を格納することができる。
次に、本実施の形態に係るデータベースサーバ100で行われる主な処理に関する処理手順を詳細に説明する。
【0083】
まず、アーカイブログ出力停止フラグの設定処理について説明する。本実施の形態では、データベースサーバ100において、アーカイブログ設定コマンドが用意されている。アーカイブログ設定コマンドは、たとえば、引数によってアーカイブログの出力を停止するのか、開始するのかを指定することができる。
【0084】
図8は、アーカイブログ設定コマンドの実行手順を示すフローチャートである。以下、図8に示す処理をステップ番号に沿って説明する。
[ステップS41]アーカイブログ設定コマンドが入力されると、アーカイブログ取得部141は、アーカイブログ設定コマンドで要求されている処理が、アーカイブログ出力の停止なのか開始なのかを判断する。たとえば、アーカイブログ設定コマンドに設定されている引数に基づいて判断することができる。
【0085】
アーカイブログ出力の停止要求であれば処理がステップS42に進められる。アーカイブログ出力の開始要求であれば処理がステップS43に進められる。
[ステップS42]アーカイブログ取得部141は、ログ管理ファイル114内のアーカイブログ出力停止フラグを「ON」にする。これにより、以後のアーカイブログの出力が停止される(CPログ、バックアップログを除く)。その後、処理が終了する。
【0086】
[ステップS43]アーカイブログ取得部141は、ログ管理ファイル114内のアーカイブログ出力停止フラグを「OFF」にする。これにより、以後のデータベース111に対する操作が行われる毎に、アーカイブログが出力される。その後、処理が終了する。
【0087】
次に、データベース操作要求に対応する処理について説明する。
図9は、データベース操作要求対応処理の手順を示すフローチャートである。以下、図9に示す処理をステップ番号に沿って説明する。この処理は、オンライン業務処理部121またはバッチ業務処理部122からデータベース111の操作要求が出されたときに実行が開始される。
【0088】
[ステップS51]アーカイブログ取得部141は、アーカイブログ出力が停止状態か否かを判断する。具体的には、アーカイブログ取得部141は、ログ管理ファイル114内のアーカイブログ出力停止フラグ114aを参照し、「ON」であれば出力停止状態であり、「OFF」であれば出力停止状態ではないと判断する。出力停止状態の場合には処理がステップS52に進められる。出力停止状態の場合には処理がステップS55に進められる。
【0089】
[ステップS52]アーカイブログ取得部141は、チェックポイント(CP)ログを出力済みか否かを判断する。具体的には、アーカイブログ取得部141は、操作対象となる資源に対応するチェックポイントログ(該当する資源のバックアップログより以前に登録されたものは除く)をアーカイブログ記憶部112から検索する。操作対象資源のチェックポイントログの検出の有無により、チェックポイントログが出力済みか否かを判断することができる。
【0090】
チェックポイントログが出力済みの場合には、処理がステップS54に進められる。チェックポイントログが未出力の場合には、処理がステップS53に進められる。
【0091】
[ステップS53]アーカイブログ取得部141は、チェックポイント出力処理を行う。具体的には、アーカイブログ取得部141は、アーカイブログ記憶部112に、操作対象の資源に対応するチェックポイントログを格納する。
【0092】
[ステップS54]データベース操作部131は、データベース111の操作要求に従ってデータの更新(インサート)等の操作を行う。その後、処理が終了する。
【0093】
[ステップS55]アーカイブログ出力が停止状態ではない場合、データベース操作部131は、データベース111の操作要求に従ってデータの更新(インサート)等の操作を行う。
【0094】
[ステップS56]アーカイブログ取得部141は、アーカイブログ記憶部112に、入力された操作要求に応じたアーカイブログを格納する。その後、処理が終了する。
【0095】
次に、更新された資源の退避データの取得(ステップS15)の際に、更新された資源の一覧を表示する処理について説明する。
図10は、更新資源一覧表示処理の手順を示すフローチャートである。以下、図10に示す処理をステップ番号に沿って説明する。
【0096】
[ステップS61]バックアップ部151は、アーカイブログ記憶部112を参照し、ログが存在するか否かを判断する。ログが存在しない場合には、処理がステップS65に進められる。ログが存在する場合処理がステップS62に進められる。
【0097】
[ステップS62]バックアップ部151は、アーカイブログ記憶部112からのログの読込が終了したか否かを判断する。ログの読込が終了した場合には処理がステップS65に進められる。ログの読込が終了していない場合には処理がステップS63に進められる。
【0098】
[ステップS63]バックアップ部151は、アーカイブログ記憶部112からログを順次読込、アーカイブログ出力停止のチェックポイントログか否かを判断する。チェックポイントログの場合には、処理がステップS64に進められる。チェックポイントログではない場合には、処理がステップS65に進められる。
【0099】
[ステップS64]バックアップ部151は、読み込んだチェックポイントログから情報を獲得して、RAM102等に保存する。その後、処理がステップS62に進められる。
【0100】
[ステップS65]バックアップ部151は、ステップS64の処理でRAM102等に保存したチェックポイントログに基づく情報を更新資源一覧画面として、モニタ11に表示させる。その後、処理が終了する。
【0101】
図11は、更新資源一覧画面の一例を示す図である。更新資源一覧画面60には、チェックポイントログ毎に、チェックポイントログの記録された日付と、データベース情報とが表示されている。データベース情報には、データベース名と資源名とが含まれる。
【0102】
システムの管理者は、このような更新資源一覧画面60を参照して、バックアップ処理により退避データを取得すべき資源を判断することができる。たとえば、本日が2002年7月7日であり、バッチ業務が毎日行われている場合、日付が"2002/07/07"である情報に対応づけて表示されているデータベース情報によって、更新された資源を判断することができる。図11の例では、「在庫管理DB」という名称のデータベースの「在庫表DSI」という名称の資源が7月7日の深夜に行われたバッチ業務により更新されたことが分かる。データベースサーバ100の管理者が、更新された資源のバックアップを指示する操作入力を行えば、バックアップ部151によってその資源の退避データが作成され、退避データ記憶部113に格納される。
【0103】
次に、バッチ業務中にディスク障害等の異常が発生した場合の復旧(リカバリ)処理について説明する。
図12は、リカバリ処理の手順を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。
【0104】
[ステップS71]リストア部152は、管理者からの操作入力に応じて、指定された資源に対し、退避データのリストアを行う。退避データは、たとえば、前日のバッチ業務実施後に取得されたもの、または、過去のある時点に取得されたものである。
【0105】
[ステップS72]履歴再現部142は、復旧させるべき資源にアーカイブログ適用を開始する。
[ステップS73]履歴再現部142は、アーカイブログ記憶部112内にログが存在するか否かを判断する。ログが存在する場合には処理がステップS74に進められる。ログが存在しない場合には、処理がステップS77に進められる。
【0106】
[ステップS74]履歴再現部142は、アーカイブログ記憶部112からログを順次読み込み、アーカイブログ出力停止のCPログか否かを判断する。CPログの場合には、処理がステップS76に進められる。CPログではない場合には、処理がステップS75に進められる。
【0107】
[ステップS75]履歴再現部142は、アーカイブログの適用処理を行う。具体的には、アーカイブログで示されているデータベース111内のデータの操作内容を解析し、アーカイブログが取得されたときと同様の操作をデータベース111に対して行う。その後、処理がステップS73に進められる。
【0108】
[ステップS76]履歴再現部142は、バッチ業務開始状態に復元完了通知をモニタ11に表示する。
[ステップS77]履歴再現部142は、アーカイブログの適用を終了する。
【0109】
障害の発生がバッチ業務中であれば、リカバリ処理後、バッチ業務を最初から再実行する。
このように、アーカイブログ適用時にチェックポイントログが検出されない場合には、バッチ業務時にデータが更新されなかったデータベースと認識できる。この結果、アーカイブログは連続していると判断できるため、最新状態まで(アーカイブログ出力停止区間を挟んだ)復旧が可能である。
【0110】
なお、各資源に対応するチェックポイントログの検出の有無に基づき、バッチ業務中に操作された資源のバックアップを自動的に実行することも可能である。この場合、復旧処理を実行後は、バッチ業務開始まで復元が完了した資源(対応するチェックポイントログが検出された資源)と、最新状態まで復元が完了した資源(対応するチェックポイントログが検出されない資源)が存在する。そこで、各資源の復元状態を画面に表示してもよい。
【0111】
以上説明したように、本実施の形態では、アーカイブログの停止期間があってもデータベースの復旧が可能となる、これにより、バッチ業務前に退避データの取得が不要となる。また、チェックポイントログによりバッチ業務中に操作された資源が判別可能であるため、バッチ業務後には、バッチ業務で操作された資源に限定して、退避データの取得を行うことができる。
【0112】
その結果、退避データを取得するディスクの大幅な削減が可能となり、HDD等のストレージデバイスの使用効率が向上する。また、退避データの取得時間の短縮により、システム全体のパフォーマンスが向上する。
【0113】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、データベース操作履歴管理装置が有すべき機能の処理内容を記述したデータベース操作履歴管理プログラムが提供される。そのデータベース操作履歴管理プログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したデータベース操作履歴管理プログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disc)などがある。
【0114】
データベース操作履歴管理プログラムを流通させる場合には、たとえば、そのデータベース操作履歴管理プログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、データベース操作履歴管理プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのデータベース操作履歴管理プログラムを転送することもできる。
【0115】
データベース操作履歴管理プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたデータベース操作履歴管理プログラムもしくはサーバコンピュータから転送されたデータベース操作履歴管理プログラムを、自己の記憶装置に格納する。そして、データベース操作履歴管理コンピュータは、自己の記憶装置からデータベース操作履歴管理プログラムを読み取り、データベース操作履歴管理プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接データベース操作履歴管理プログラムを読み取り、そのデータベース操作履歴管理プログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからデータベース操作履歴管理プログラムが転送される毎に、逐次、受け取ったデータベース操作履歴管理プログラムに従った処理を実行することもできる。
【0116】
(付記1) データベースに対する操作履歴を管理するデータベース操作履歴管理装置において、
入力された処理要求に応答して、前記データベースの操作を伴う対話型処理を実行する対話型処理手段と、
前記データベースの操作を伴う一連の処理要求がまとめられたバッチ処理要求に応答して、前記バッチ処理要求に従った一連のバッチ処理を実行するバッチ処理手段と、
前記データベースに関連する処理の履歴情報を時系列で保持するログ記憶手段と、
前記バッチ処理の実行中を除き、前記対話型処理手段が前記データベースの操作を行う毎に操作内容を示す操作履歴を前記ログ記憶手段に格納し、前記バッチ処理手段により前記バッチ処理が実行されると、前記バッチ処理の実行を示すチェックポイントログを前記ログ記憶手段に格納するログ取得手段と、
を有することを特徴とするデータベース操作履歴管理装置。
【0117】
(付記2) 前記ログ取得手段は、前記バッチ処理手段により前記データベースが操作されたときにのみ前記チェックポイントログを前記ログ記憶手段に格納することを特徴とする付記1記載のデータベース操作履歴管理装置。
【0118】
(付記3) 前記データベースが複数の資源で構成される場合、前記ログ取得手段は、前記バッチ処理手段による前記複数の資源それぞれの操作の有無を示す前記資源毎の前記チェックポイントログを、前記ログ記憶手段に格納することを特徴とする付記2記載のデータベース操作履歴管理装置。
【0119】
(付記4) 前記ログ取得手段は、前記バッチ処理手段による前記複数の資源それぞれに対する最初の操作が行われたとときに、前記資源毎の前記チェックポイントログを前記ログ記憶手段に格納することを特徴とする付記3記載のデータベース操作履歴管理装置。
【0120】
(付記5) 前記ログ記憶手段から前記資源毎の前記チェックポイントログを抽出し、抽出した前記チェックポイントログに基づいて操作された前記資源の一覧を表示する一覧表示手段をさらに有することを特徴とする付記3記載のデータベース操作履歴管理装置。
【0121】
(付記6) 前記ログ記憶手段に格納されている前記操作履歴に基づいて、前記データベースに対して実行された操作を、時系列に沿って、前記チェックポイントログに達するまで順次再実行する履歴再現手段をさらに有することを特徴とする付記1記載のデータベース操作履歴管理装置。
【0122】
(付記7) 操作入力に応答して、前記データベース内のデータのバックアップ処理を行うバックアップ手段を更に有し、
前記ログ取得手段は、前記バックアップ手段によるバックアップ処理の履歴を、前記ログ記憶手段に格納することを特徴とする付記1記載のデータベース操作履歴管理装置。
【0123】
(付記8) 前記対話型処理手段は、ネットワーク経由で接続された端末装置からの処理要求に応じたオンライン業務を実行することを特徴とする付記1記載のデータベース操作履歴管理装置。
【0124】
(付記9) データベースに対する操作履歴を管理するデータベース操作履歴管理方法において、
入力された処理要求に応答して、前記データベースの操作を伴う対話型処理を実行し、
前記データベースの操作を行う毎に操作内容を示す操作履歴を、前記データベースに関連する処理の履歴情報を時系列で保持するログ記憶手段に格納し、
前記データベースの操作を伴う対話型処理の実行を停止し、
前記データベースの操作を伴う一連の処理要求がまとめられたバッチ処理要求に応答して、前記バッチ処理要求に従った一連のバッチ処理を実行し、
前記バッチ処理の実行を示すチェックポイントログを前記ログ記憶手段に格納する、
ことを特徴とするデータベース操作履歴管理方法。
【0125】
(付記10) データベースに対する操作履歴を管理するデータベース操作履歴管理プログラムにおいて、
コンピュータに、
入力された処理要求に応答して、前記データベースの操作を伴う対話型処理を実行し、
前記データベースの操作を行う毎に操作内容を示す操作履歴を、前記データベースに関連する処理の履歴情報を時系列で保持するログ記憶手段に格納し、
前記データベースの操作を伴う対話型処理の実行を停止し、
前記データベースの操作を伴う一連の処理要求がまとめられたバッチ処理要求に応答して、前記バッチ処理要求に従った一連のバッチ処理を実行し、
前記バッチ処理の実行を示すチェックポイントログを前記ログ記憶手段に格納する、
処理を実行させることを特徴とするデータベース操作履歴管理プログラム。
【0126】
(付記11) データベースに対する操作履歴を管理するデータベース操作履歴管理プログラムを記録したコンピュータ読み取り可能な記録媒体において、
前記コンピュータに、
入力された処理要求に応答して、前記データベースの操作を伴う対話型処理を実行し、
前記データベースの操作を行う毎に操作内容を示す操作履歴を、前記データベースに関連する処理の履歴情報を時系列で保持するログ記憶手段に格納し、
前記データベースの操作を伴う対話型処理の実行を停止し、
前記データベースの操作を伴う一連の処理要求がまとめられたバッチ処理要求に応答して、前記バッチ処理要求に従った一連のバッチ処理を実行し、
前記バッチ処理の実行を示すチェックポイントログを前記ログ記憶手段に格納する、
処理を実行させることを特徴とするデータベース操作履歴管理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【0127】
【発明の効果】
以上説明したように本発明では、バッチ処理の実行中はデータベースに対する操作履歴の格納は行わず、バッチ処理の実行を示すチェックポイントログをログ記憶手段に格納するようにしたため、バッチ処理中に障害が発生した場合、チェックポイントログ以前の操作履歴を再現することで、バッチ処理開始以前の状態にデータベースを戻すことができる。その結果、バッチ業務開始前にデータベースのバックアップを行う必要がなくなり、処理効率が向上する。
【図面の簡単な説明】
【図1】実施の形態に適用される発明の概念図である。
【図2】本実施の形態のシステム構成例を示す図である。
【図3】本発明の実施の形態に用いるデータベースサーバのハードウェア構成例を示す図である。
【図4】データベースサーバの機能構成を示すブロック図である。
【図5】アーカイブログ記憶部のデータ構造例を示す図である。
【図6】ログ管理ファイルのデータ構造例を示す図である。
【図7】アーカイブログ出力を一時的に停止する場合のシステム運用例を示す図である。
【図8】アーカイブログ設定コマンドの実行手順を示すフローチャートである。
【図9】データベース操作要求対応処理の手順を示すフローチャートである。
【図10】更新資源一覧表示処理の手順を示すフローチャートである。
【図11】更新資源一覧画面の一例を示す図である。
【図12】リカバリ処理の手順を示すフローチャートである。
【図13】従来のアーカイブログ運用を一時的に停止する場合のシステム運用例を示す図である。
【符号の説明】
1 データベース
2 対話型処理手段
2a,2b,2c 処理要求
3 バッチ処理手段
3a バッチ処理要求
4 ログ記憶手段
4a,4b 操作履歴
4c チェックポイントログ
5 ログ取得手段
10 ネットワーク
100 データベースサーバ
201,202,203 端末装置
Claims (8)
- データベースに対する操作履歴を管理するデータベース操作履歴管理装置において、
入力された処理要求に応答して、前記データベースの操作を伴う対話型処理を実行する対話型処理手段と、
前記データベースの操作を伴う一連の処理要求がまとめられたバッチ処理要求に応答して、前記バッチ処理要求に従った一連のバッチ処理を実行するバッチ処理手段と、
前記データベースに関連する処理の履歴情報を時系列で保持するログ記憶手段と、
前記バッチ処理の実行中を除き、前記対話型処理手段が前記データベースの操作を行う毎に操作内容を示す操作履歴を前記ログ記憶手段に格納するとともに、前記バッチ処理要求に応じて前記バッチ処理手段により前記バッチ処理が実行されたときには、前記バッチ処理実行中の操作履歴を格納することなく、前記バッチ処理の実行を示すチェックポイントログを前記ログ記憶手段に格納するログ取得手段と、
を有することを特徴とするデータベース操作履歴管理装置。 - 前記ログ取得手段は、前記バッチ処理手段により前記データベースが操作されたときにのみ前記チェックポイントログを前記ログ記憶手段に格納することを特徴とする請求項1記載のデータベース操作履歴管理装置。
- 前記データベースが複数の資源で構成される場合、前記ログ取得手段は、前記バッチ処理手段による前記複数の資源それぞれの操作の有無を示す前記資源毎の前記チェックポイントログを、前記ログ記憶手段に格納することを特徴とする請求項2記載のデータベース操作履歴管理装置。
- 前記ログ取得手段は、前記バッチ処理手段による前記複数の資源それぞれに対する最初の操作が行われたときに、前記資源毎の前記チェックポイントログを前記ログ記憶手段に格納することを特徴とする請求項3記載のデータベース操作履歴管理装置。
- 前記ログ記憶手段から前記資源毎の前記チェックポイントログを抽出し、抽出した前記チェックポイントログに基づいて操作された前記資源の一覧を表示する一覧表示手段をさらに有することを特徴とする請求項3記載のデータベース操作履歴管理装置。
- 前記ログ記憶手段に格納されている前記操作履歴に基づいて、前記データベースに対して実行された操作を、時系列に沿って、前記チェックポイントログに達するまで順次再実行する履歴再現手段をさらに有することを特徴とする請求項1記載のデータベース操作履歴管理装置。
- データベースに対する操作履歴を管理するデータベース操作履歴管理方法において、
入力された処理要求に応答して、前記データベースの操作を伴う対話型処理を実行し、
前記対話型処理により前記データベースの操作を行う毎に操作内容を示す操作履歴を、前記データベースに関連する処理の履歴情報を時系列で保持するログ記憶手段に格納し、
前記データベースの操作を伴う対話型処理の実行を停止し、
前記データベースの操作を伴う一連の処理要求がまとめられたバッチ処理要求に応答して、前記バッチ処理要求に従った一連のバッチ処理を実行し、
前記バッチ処理が実行されたときには、前記バッチ処理実行中の操作履歴を格納することなく前記バッチ処理の実行を示すチェックポイントログを前記ログ記憶手段に格納する、
ことを特徴とするデータベース操作履歴管理方法。 - データベースに対する操作履歴を管理するデータベース操作履歴管理プログラムにおいて、
コンピュータに、
入力された処理要求に応答して、前記データベースの操作を伴う対話型処理を実行し、
前記対話型処理により前記データベースの操作を行う毎に操作内容を示す操作履歴を、 前記データベースに関連する処理の履歴情報を時系列で保持するログ記憶手段に格納し、
前記データベースの操作を伴う対話型処理の実行を停止し、
前記データベースの操作を伴う一連の処理要求がまとめられたバッチ処理要求に応答して、前記バッチ処理要求に従った一連のバッチ処理を実行し、
前記バッチ処理が実行されたときには、前記バッチ処理実行中の操作履歴を格納することなく前記バッチ処理の実行を示すチェックポイントログを前記ログ記憶手段に格納する、
処理を実行させることを特徴とするデータベース操作履歴管理プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002237234A JP4166056B2 (ja) | 2002-08-16 | 2002-08-16 | データベース操作履歴管理装置、データベース操作履歴管理方法、およびデータベース操作履歴管理プログラム |
US10/375,020 US20040044642A1 (en) | 2002-08-16 | 2003-02-28 | Apparatus, method and program for managing database logs |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002237234A JP4166056B2 (ja) | 2002-08-16 | 2002-08-16 | データベース操作履歴管理装置、データベース操作履歴管理方法、およびデータベース操作履歴管理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004078505A JP2004078505A (ja) | 2004-03-11 |
JP4166056B2 true JP4166056B2 (ja) | 2008-10-15 |
Family
ID=31972385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002237234A Expired - Fee Related JP4166056B2 (ja) | 2002-08-16 | 2002-08-16 | データベース操作履歴管理装置、データベース操作履歴管理方法、およびデータベース操作履歴管理プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20040044642A1 (ja) |
JP (1) | JP4166056B2 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7693916B2 (en) * | 2004-01-05 | 2010-04-06 | Microsoft Corporation | Correlating process instance data across multiple applications |
US20060026432A1 (en) | 2004-07-30 | 2006-02-02 | Weirauch Charles R | Drive tracking system for removable media |
JP2006059135A (ja) * | 2004-08-20 | 2006-03-02 | Obic Co Ltd | データベース管理システム |
JP2006163596A (ja) * | 2004-12-03 | 2006-06-22 | Internatl Business Mach Corp <Ibm> | 情報処理システム、制御方法、及びプログラム |
JP2006172073A (ja) * | 2004-12-15 | 2006-06-29 | Chugoku Electric Power Co Inc:The | プログラム、情報処理装置、及び操作履歴保存方法 |
ATE375554T1 (de) * | 2005-02-09 | 2007-10-15 | Deutsche Post Ag | Verfahren zur sicherung einer datenbank und vorrichtung zur durchführung des verfahrens |
US7493347B2 (en) * | 2005-06-02 | 2009-02-17 | International Business Machines Corporation | Method for condensing reported checkpoint log data |
JP5018133B2 (ja) * | 2007-02-27 | 2012-09-05 | 富士通株式会社 | ジョブ管理装置、クラスタシステム、およびジョブ管理プログラム |
US7779298B2 (en) * | 2007-06-11 | 2010-08-17 | International Business Machines Corporation | Distributed job manager recovery |
JP5186972B2 (ja) * | 2008-03-25 | 2013-04-24 | 富士通株式会社 | 情報記憶システム |
JP5214488B2 (ja) * | 2009-02-20 | 2013-06-19 | 株式会社野村総合研究所 | 団体のデータ管理装置 |
US11449394B2 (en) | 2010-06-04 | 2022-09-20 | Commvault Systems, Inc. | Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources |
US8504526B2 (en) | 2010-06-04 | 2013-08-06 | Commvault Systems, Inc. | Failover systems and methods for performing backup operations |
US9015721B2 (en) * | 2012-07-30 | 2015-04-21 | Hewlett-Packard Development Company, L. P. | Managing array computations during programmatic run-time in a distributed computing environment |
US9483361B2 (en) | 2013-05-08 | 2016-11-01 | Commvault Systems, Inc. | Information management cell with failover management capability |
US9563518B2 (en) | 2014-04-02 | 2017-02-07 | Commvault Systems, Inc. | Information management by a media agent in the absence of communications with a storage manager |
JP2017068342A (ja) * | 2015-09-28 | 2017-04-06 | 富士通株式会社 | 制御プログラム、制御方法、及び、情報処理装置 |
US10474548B2 (en) | 2016-09-30 | 2019-11-12 | Commvault Systems, Inc. | Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, using ping monitoring of target virtual machines |
US10642801B2 (en) * | 2017-08-29 | 2020-05-05 | Bank Of America Corporation | System for determining the impact to databases, tables and views by batch processing |
US11200124B2 (en) | 2018-12-06 | 2021-12-14 | Commvault Systems, Inc. | Assigning backup resources based on failover of partnered data storage servers in a data storage management system |
CN109783276B (zh) * | 2018-12-19 | 2021-03-02 | 远光软件股份有限公司 | 基于专用压缩卡的数据备份及恢复装置和方法 |
US11099956B1 (en) | 2020-03-26 | 2021-08-24 | Commvault Systems, Inc. | Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations |
US11645175B2 (en) | 2021-02-12 | 2023-05-09 | Commvault Systems, Inc. | Automatic failover of a storage manager |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4026709A (en) * | 1973-03-09 | 1977-05-31 | Ciba-Geigy Ag | Color photographic recording material |
US4648031A (en) * | 1982-06-21 | 1987-03-03 | International Business Machines Corporation | Method and apparatus for restarting a computing system |
DE3523360A1 (de) * | 1985-06-29 | 1987-01-08 | Agfa Gevaert Ag | Lichtempfindliches fotografisches aufzeichnungsmaterial |
US4819159A (en) * | 1986-08-29 | 1989-04-04 | Tolerant Systems, Inc. | Distributed multiprocess transaction processing system and method |
EP0516900B1 (en) * | 1991-06-04 | 1996-05-01 | International Business Machines Corporation | Data backup and recovery in a data processing system |
US5764877A (en) * | 1991-06-25 | 1998-06-09 | Digital Equipment Corporation | Media recovery with time-split B-trees |
US5307262A (en) * | 1992-01-29 | 1994-04-26 | Applied Medical Data, Inc. | Patient data quality review method and system |
US5263154A (en) * | 1992-04-20 | 1993-11-16 | International Business Machines Corporation | Method and system for incremental time zero backup copying of data |
KR100346749B1 (ko) * | 1993-10-22 | 2003-01-08 | 아베시아 리미티드 | 옥시란,아지리딘또는싸이클로프로판제조방법 |
US5778387A (en) * | 1995-05-19 | 1998-07-07 | Sprint Communications Co., L.P. | Database automated recovery system |
US5712331A (en) * | 1995-08-15 | 1998-01-27 | Rockwell International Corporation | Curable epoxy compositions containing aziridine in supercritical fluid carbon dioxide |
US6014673A (en) * | 1996-12-05 | 2000-01-11 | Hewlett-Packard Company | Simultaneous use of database and durable store in work flow and process flow systems |
EP1021451A4 (en) * | 1997-01-13 | 2001-02-14 | Penn State Res Found | ASYMMETRIC SYNTHESIS AND CATALYSIS USING CHIRAL HETEROCYCLIC COMPOUNDS |
US5864840A (en) * | 1997-06-30 | 1999-01-26 | International Business Machines Corporation | Evaluation of existential and universal subquery in a relational database management system for increased efficiency |
US5940819A (en) * | 1997-08-29 | 1999-08-17 | International Business Machines Corporation | User specification of query access paths in a relational database management system |
US6226651B1 (en) * | 1998-03-27 | 2001-05-01 | International Business Machines Corporation | Database disaster remote site recovery |
US5929252A (en) * | 1998-06-15 | 1999-07-27 | The Scripps Research Institute | Aziridination of olefins |
US6395916B1 (en) * | 1998-07-10 | 2002-05-28 | Massachusetts Institute Of Technology | Ligands for metals and improved metal-catalyzed processes based thereon |
US6307087B1 (en) * | 1998-07-10 | 2001-10-23 | Massachusetts Institute Of Technology | Ligands for metals and improved metal-catalyzed processes based thereon |
US20010056362A1 (en) * | 1998-07-29 | 2001-12-27 | Mike Hanagan | Modular, convergent customer care and billing system |
AU2596900A (en) * | 1998-12-30 | 2000-07-31 | Paul D. Franke | Method and system for conducting a plurality of cyber-based conventions |
US6754665B1 (en) * | 1999-06-24 | 2004-06-22 | Sony Corporation | Information processing apparatus, information processing method, and storage medium |
US6258960B1 (en) * | 2000-03-17 | 2001-07-10 | Arch Development Corporation | Catalytic asymmetric synthesis of chiral aziridines |
US7055063B2 (en) * | 2000-11-14 | 2006-05-30 | International Business Machines Corporation | Method and system for advanced restart of application servers processing time-critical requests |
JP2002366548A (ja) * | 2001-06-08 | 2002-12-20 | Nec Corp | 情報検索/情報検索結果提供システム及び情報検索/情報検索結果提供方法 |
GB0116987D0 (en) * | 2001-07-12 | 2001-09-05 | Ibm | A yield management method and system |
JP2003178085A (ja) * | 2001-12-07 | 2003-06-27 | Fujitsu Ltd | 情報収集装置及び方法並びに情報収集プログラム |
US7249118B2 (en) * | 2002-05-17 | 2007-07-24 | Aleri, Inc. | Database system and methods |
US6978396B2 (en) * | 2002-05-30 | 2005-12-20 | Solid Information Technology Oy | Method and system for processing replicated transactions parallel in secondary server |
-
2002
- 2002-08-16 JP JP2002237234A patent/JP4166056B2/ja not_active Expired - Fee Related
-
2003
- 2003-02-28 US US10/375,020 patent/US20040044642A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20040044642A1 (en) | 2004-03-04 |
JP2004078505A (ja) | 2004-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4166056B2 (ja) | データベース操作履歴管理装置、データベース操作履歴管理方法、およびデータベース操作履歴管理プログラム | |
JP4483342B2 (ja) | システム復旧方法 | |
US8015430B1 (en) | Using asset dependencies to identify the recovery set and optionally automate and/or optimize the recovery | |
US7103619B1 (en) | System and method for automatic audit data archiving within a remote database backup system | |
US8145603B2 (en) | Method and apparatus for data recovery using storage based journaling | |
US7634679B2 (en) | Remote location failover server application | |
US7549027B1 (en) | System and method for managing replication of data in a data storage environment | |
JP2005301497A (ja) | ストレージ管理装置、リストア方法及びそのプログラム | |
US8762347B1 (en) | Method and apparatus for processing transactional file system operations to enable point in time consistent file data recreation | |
US9773059B2 (en) | Tape data management | |
US7546428B1 (en) | Computer architecture for managing replication of data in a data storage environment | |
US20070156781A1 (en) | Detecting failover in a database mirroring environment | |
JP2005523517A (ja) | ディザスタ・リカバリのための方法およびシステム | |
JP5630190B2 (ja) | 更新管理装置、更新管理方法および更新管理プログラム | |
JP2004535638A (ja) | 強化されたエラー検出及び復元を備えた情報複製システム | |
US20070250673A1 (en) | Computer backup system | |
JP4141875B2 (ja) | リカバリ処理方法及びその実施システム並びにその処理プログラム | |
JP4883986B2 (ja) | 計算機システム、管理計算機及びデータリカバリ方法 | |
US8271454B2 (en) | Circular log amnesia detection | |
JP2008033527A (ja) | ストレージ装置、ディスク装置及びデータ復元方法 | |
JP2005050073A (ja) | データ復旧方法およびデータ記録装置 | |
JP2012155634A (ja) | 情報処理プログラム、情報処理装置および情報処理方法 | |
US20080155319A1 (en) | Methods and systems for managing removable media | |
US7600151B2 (en) | RAID capacity expansion interruption recovery handling method and system | |
CN117573427A (zh) | 文件实时备份、恢复方法及系统、电子设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050112 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080318 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080519 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080729 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080729 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110808 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |