(57)【特許請求の範囲】
【請求項１】
再編成元となる再編成元データベースと、前記再編成元データベースのレコードの再編成先となる再編成先データベースと、前記再編成元データベースから前記再編成先データベースへの再編成処理が中断したとき前記再編成元データベースの中の削除レコードではなく前記再編成先データベースへの格納が行われていない再編成未済レコードと前記再編成先データベースに格納が行われた再編成済レコードとが抽出され格納される障害復旧先データベースと、前記再編成元データベースの再編成未済レコードと前記再編成先データベースの再編成済レコードとを検索して抽出しそれを前記障害復旧先データベースに最新のレコードとして格納する最新レコード抽出手段と、を有することを特徴とするデータベース復旧方式。
【請求項２】
再編成元となる再編成元データベースと、前記再編成元データベースのレコードの再編成先となる再編成先データベースと、前記再編成元データベースから前記再編成先データベースへの再編成処理が中断したとき前記再編成元データベースの中の削除レコードではなく前記再編成先データベースへの格納が行われていない再編成未済レコードと前記再編成先データベースに格納が行われた再編成済レコードとが抽出され最新のレコードとして一時保持される最新レコード抽出ワークファイルと、前記最新のレコードによって構成される障害復旧先データベースとを備え、前記再編成元データベースおよび前記再編成先データベースを検索して両データベースに存在する最新のレコードを抽出し前記最新レコード抽出ワークファイルに格納するとともに前記最新のレコードについて前記障害復旧先データベースにおける格納アドレスを計算し、前記再編成元データベースと前記再編成先データベースからの前記最新のレコードの抽出を終了すると前記最新レコード抽出ワークファイルの前記最新のレコードを格納アドレスに従って前記障害復旧先データベースに格納する最新レコード抽出手段を有することを特徴とするデータベース復旧方式。
【請求項３】
前記最新レコード抽出手段は、前記再編成元データベースおよび前記再編成先データベースについてレコード検索を行い両データベースにレコードが存在しなくなるまで検索を繰り返すデータベース検索手段と、前記データベース検索手段が検索したレコードのうち最新のレコードであるか否かを判定する最新レコード判定手段と、前記最新のレコードを一時的に格納しそのデータ容量を取得するワークファイル格納手段と、前記データ容量およびその増加分を推定し前記最新のレコードを前記障害復旧先データベースへ格納できるか否かを判定しそれを格納する際の格納アドレスを決定する格納シミュレーション手段と、前記格納アドレスに前記最新のレコードを格納する障害復旧先データベース格納手段とを備えることを特徴とする請求項１または２記載のデータベース復旧方式。
【請求項４】
再編成元となる再編成元データベースと、前記再編成元データベースのレコードの再編成先となる再編成先データベースと、前記再編成元データベースから前記再編成先データベースへの再編成処理が中断したとき前記再編成元データベースの中の削除レコードではなく前記再編成先データベースへの格納が行われていない再編成未済レコードと前記再編成先データベースに格納が行われた再編成済レコードとが抽出され格納される障害復旧先データベースとを備えたシステムにあって、前記再編成元データベースの再編成未済レコードと前記再編成先データベースの再編成済レコードとを検索して抽出しそれを前記障害復旧先データベースに最新のレコードとして格納する最新レコード抽出機能を、コンピュータに実現させるためのプログラムを格納した、コンピュータ読み取り可能な記録媒体。
【請求項５】
再編成元となる再編成元データベースと、前記再編成元データベースのレコードの再編成先となる再編成先データベースと、前記再編成元データベースから前記再編成先データベースへの再編成処理が中断したとき前記再編成元データベースの中の削除レコードではなく前記再編成先データベースへの格納が行われていない再編成未済レコードと前記再編成先データベースに格納が行われた再編成済レコードとが抽出され最新のレコードとして一時保持される最新レコード抽出ワークファイルと、前記最新のレコードによって構成される障害復旧先データベースとを備えたシステムにあって、前記再編成元データベースおよび前記再編成先データベースを検索して両データベースに存在する最新のレコードを抽出し前記最新レコード抽出ワークファイルに格納するとともに前記最新のレコードについて前記障害復旧先データベースにおける格納アドレスを計算し、前記再編成元データベースと前記再編成先データベースからの前記最新のレコードの抽出を終了すると前記最新レコード抽出ワークファイルの前記最新のレコードを格納アドレスに従って前記障害復旧先データベースに格納する最新レコード抽出機能を、コンピュータに実現させるためのプログラムを格納した、コンピュータ読み取り可能な記録媒体。
【請求項６】
前記最新レコード抽出機能は、前記再編成元データベースおよび前記再編成先データベースについてレコード検索を行い両データベースにレコードが存在しなくなるまで検索を繰り返すデータベース検索機能と、前記データベース検索機能が検索したレコードのうち最新のレコードであるか否かを判定する最新レコード判定機能と、前記最新のレコードを一時的に格納しそのデータ容量を取得するワークファイル格納機能と、前記データ容量およびその増加分を推定し前記最新のレコードを前記障害復旧先データベースへ格納できるか否かを判定しそれを格納する際の格納アドレスを決定する格納シミュレーション機能と、前記格納アドレスに前記最新のレコードを格納する障害復旧先データベース格納機能とを、コンピュータに実現させるためのプログラムを格納した、請求項４または５記載のコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータベース復旧方式およびそのプログラム記録媒体に関し、特にデータベースの再編成の処理を実行中に発生した障害を復旧させるデータベース復旧方式およびそのプログラム記録媒体に関する。
【０００２】
【従来の技術】
従来、障害時のデータベース復旧は、あらかじめセーブしておいたデータに対して更新履歴情報をもとに復旧をしている。すなわち、オンライン中データベース再編成実行中に、オンライン業務プログラムから大量データの追加があり、再編成対象データベースがオーバーフローするようなケースでは、再編成元データベースおよび再編成先データベースのデータをセーブしておき、それぞれのデータベースに対して障害復旧先データベースを再確保し、更新履歴情報からデータを復旧した後、オンライン中データベース再編成を再実行している。
【０００３】
しかしながら、上記のようなデータベース復旧作業では、再編成元データベースおよび再編成先データベースのそれぞれに対して、再確保するデータベースのデータ容量増加分を考慮した容量計算，データベースの再確保，更新履歴情報による復旧といった複雑な作業を行わなくてはならないので、復旧作業に長時間を要し本来の業務を迅速に再開することができない。
【０００４】
【発明が解決しようとする課題】
上記のように、従来のデータベース復旧方式は業務を中断して行う復旧作業に多大な時間を必要とし、本来の業務を迅速に再開できないという欠点がある。
【０００５】
本発明の目的は、上記の欠点を改善するために、再編成中のデータベースとは別に障害復旧先データベースを生成し、これを使用して本来の業務を短時間のうちに再開させるデータベース復旧方式およびそのプログラム記録媒体を提供することにある。
【０００６】
【課題を解決するための手段】
本発明のデータベース復旧方式は、再編成元となる再編成元データベースと、前記再編成元データベースのレコードの再編成先となる再編成先データベースと、前記再編成元データベースから前記再編成先データベースへの再編成処理が中断したとき前記再編成元データベースの中の削除レコードではなく前記再編成先データベースへの格納が行われていない再編成未済レコードと前記再編成先データベースに格納が行われた再編成済レコードとが抽出され格納される障害復旧先データベースと、前記再編成元データベースの再編成未済レコードと前記再編成先データベースの再編成済レコードとを検索して抽出しそれを前記障害復旧先データベースに最新のレコードとして格納する最新レコード抽出手段と、を有することを特徴とする。
【０００７】
また、本発明のデータベース復旧方式は、再編成元となる再編成元データベースと、前記再編成元データベースのレコードの再編成先となる再編成先データベースと、前記再編成元データベースから前記再編成先データベースへの再編成処理が中断したとき前記再編成元データベースの中の削除レコードではなく前記再編成先データベースへの格納が行われていない再編成未済レコードと前記再編成先データベースに格納が行われた再編成済レコードとが抽出され最新のレコードとして一時保持される最新レコード抽出ワークファイルと、前記最新のレコードによって構成される障害復旧先データベースとを備え、前記再編成元データベースおよび前記再編成先データベースを検索して両データベースに存在する最新のレコードを抽出し前記最新レコード抽出ワークファイルに格納するとともに前記最新のレコードについて前記障害復旧先データベースにおける格納アドレスを計算し、前記再編成元データベースと前記再編成先データベースからの前記最新のレコードの抽出を終了すると前記最新レコード抽出ワークファイルの前記最新のレコードを格納アドレスに従って前記障害復旧先データベースに格納する最新レコード抽出手段を有することを特徴とする。
【０００８】
さらに本発明のデータベース復旧方式において、前記最新レコード抽出手段は前記再編成元データベースおよび前記再編成先データベースについてレコード検索を行い両データベースにレコードが存在しなくなるまで検索を繰り返すデータベース検索手段と、前記データベース検索手段が検索したレコードのうち最新のレコードであるか否かを判定する最新レコード判定手段と、前記最新レコードを一時的に格納しそのデータ容量を取得するワークファイル格納手段と、前記データ容量およびその増加分を推定し前記最新レコードを前記障害復旧先データベースへ格納できるか否かを判定しそれを格納する際の格納アドレスを決定する格納シミュレーション手段と、前記格納アドレスに前記最新レコードを格納する障害復旧先データベース格納手段とを備えることを特徴とする。
【０００９】
また、本発明のプログラム記録媒体は、再編成元となる再編成元データベースと、前記再編成元データベースのレコードの再編成先となる再編成先データベースと、前記再編成元データベースから前記再編成先データベースへの再編成処理が中断したとき前記再編成元データベースの中の削除レコードではなく前記再編成先データベースへの格納が行われていない再編成未済レコードと前記再編成先データベースに格納が行われた再編成済レコードとが抽出され格納される障害復旧先データベースとを備えたシステムにあって、前記再編成元データベースの再編成未済レコードと前記再編成先データベースの再編成済レコードとを検索して抽出しそれを前記障害復旧先データベースに最新のレコードとして格納する最新レコード抽出機能を、コンピュータに実現させるためのプログラムを格納したことを特徴とする。
【００１０】
また、本発明のプログラム記録媒体は、再編成元となる再編成元データベースと、前記再編成元データベースのレコードの再編成先となる再編成先データベースと、前記再編成元データベースから前記再編成先データベースへの再編成処理が中断したとき前記再編成元データベースの中の削除レコードではなく前記再編成先データベースへの格納が行われていない再編成未済レコードと前記再編成先データベースに格納が行われた再編成済レコードとが抽出され最新のレコードとして一時保持される最新レコード抽出ワークファイルと、前記最新のレコードによって構成される障害復旧先データベースとを備えたシステムにあって、前記再編成元データベースおよび前記再編成先データベースを検索して両データベースに存在する最新のレコードを抽出し前記最新レコード抽出ワークファイルに格納するとともに前記最新のレコードについて前記障害復旧先データベースにおける格納アドレスを計算し、前記再編成元データベースと前記再編成先データベースからの前記最新のレコードの抽出を終了すると前記最新レコード抽出ワークファイルの前記最新のレコードを格納アドレスに従って前記障害復旧先データベースに格納する最新レコード抽出機能を、コンピュータに実現させるためのプログラムを格納したことを特徴とする。
【００１１】
さらに、本発明のプログラム記録媒体において、前記最新レコード抽出機能は、前記再編成元データベースおよび前記再編成先データベースについてレコード検索を行い両データベースにレコードが存在しなくなるまで検索を繰り返すデータベース検索機能と、前記データベース検索機能が検索したレコードのうち最新のレコードであるか否かを判定する最新レコード判定機能と、前記最新のレコードを一時的に格納しそのデータ容量を取得するワークファイル格納機能と、前記データ容量およびその増加分を推定し前記最新のレコードを前記障害復旧先データベースへ格納できるか否かを判定しそれを格納する際の格納アドレスを決定する格納シミュレーション機能と、前記格納アドレスに前記最新のレコードを格納する障害復旧先データベース格納機能とを、コンピュータに実現させるためのプログラムを格納したことを特徴とする。
【００１３】
【発明の実施の形態】
以下、本発明について図面を参照しながら説明する。
図１は本発明の実施の一形態を示すブロック図である。同図において、本発明によるデータベース復旧方式は、データベース１の再編成時に発生した障害を復旧させるデータベース復旧方式において、再編成の元となる再編成元データベース１１と、再編成により生成される再編成先データベース１２と、前記データベースの再編成処理が中断したとき前記再編成元データベースおよび前記再編成先データベースの最新レコードを一時保持する最新レコード抽出ワークファイル３と、前記最新レコードによって構成される障害復旧先データベース４とを備え、前記再編成元データベースおよび前記再編成先データベースを検索し両データベースに唯一のレコードを最新レコードとして抽出しそれを前記障害復旧先データベースに格納する最新レコード抽出手段２を有する。
【００１４】
なお、上記の最新レコード抽出手段２は前記再編成元データベースおよび前記再編成先データベースについてレコード検索を行い両データベースにレコードが存在しなくなるまで検索を繰り返すデータベース検索手段２１と、前記データベース検索手段が検索したレコードのうち最新のレコードであるか否かを判定する最新レコード判定手段２２と、前記最新レコードを一時的に格納しそのデータ容量を取得するワークファイル格納手段２３と、前記データ容量およびその増加分を推定し前記最新レコードを前記障害復旧先データベースへ格納できるか否かを判定しそれを格納する際の格納アドレスを決定する格納シミュレーション手段２４と、前記格納アドレスに前記最新レコードを格納する障害復旧先データベース格納手段２５とを備える。
【００１５】
すなわち、上記のデータベース復旧方式は、オンライン業務およびオンライン中データベース再編成中断中となっているデータベース１と、データベース内から最新のレコードを抽出する最新レコード抽出手段２と、抽出されたレコードを一時格納する最新レコード抽出ワークファイル３と、障害復旧後にオンライン業務で使用する障害復旧先データベース４とを備えて構成されている。
【００１６】
データベース１の再編成元データベース１１および再編成先データベース１２は、オンライン中データベース再編成を実行し、オンライン業務プログラムからのレコード更新、追加、削除が行われていたが、オンライン業務プログラムから大量のレコードが追加されたために再編成先データベース１２がオーバーフローし、オンライン中データベース再編成の処理が中断し、オンライン業務も停止している。したがって、それぞれのデータベース内に、新旧レコードが混在している状態になっている。
【００１７】
最新レコード抽出手段２は、再編成元データベース１１および再編成先データベース１２よりレコード検索を行うデータベース検索手段２１と、検索したレコードのうち最新のレコードを判定する最新レコード判定手段２２と、抽出した最新レコードのデータ容量を取得する為に最新レコードを最新レコード抽出ワークファイル３へ一時的に格納するワークファイル格納手段２３と、取得したデータ容量およびデータ容量増加分を考慮して障害復旧先データベース４へ格納できるか否か判定しおよび格納する際の格納アドレスを決定する格納シミュレーション手段２４と、最新レコード抽出ワークファイル３より最新レコードを入力し格納シミュレーション手段２４で決定された障害復旧先データベース４の格納アドレスへ格納する障害復旧先データベース格納手段２５とを有する。
【００１８】
障害復旧先データベース４は、抽出された最新レコードを格納し、オンライン業務を再開するデータベースとなる。
【００１９】
図２は上記の最新レコード抽出手段２の動作を示す流れ図である。同図を参照しながら上記のデータベース復旧方式の動作を説明する。
【００２０】
まず、データベース検索手段２１は、再編成元データベース１１のレコード検索を行い、レコードが存在しなくなるまでレコード検索を繰り返す（ステップＡ１およびＡ２）。
【００２１】
最新レコード判定手段２２では、再編成済みレコード、つまり再編成先データベース１２へ格納された最新のレコードであるかを判定し、再編成済みレコードであった場合は、次にオンラインデータベース再編成中に削除されたレコード、つまり再編成先データベース１２へ格納しなかったレコードであるかを判定する（ステップＡ３→Ａ４）。
【００２２】
削除されたレコードでない場合には、再編成先データベース１２へ格納されたレコードをデータベース検索手段２１で検索し、ワークファイル格納手段２３により最新レコード抽出ワークファイル３へ格納し、さらに格納シミュレーション手段２４により障害復旧先データベース４へ格納する為の格納アドレスの計算を行う（ステップＡ５→Ａ６→Ａ７）。
【００２３】
削除されたレコードである場合には、次のレコード検索する為にデータベース検索手段２１により再編成元データベース１１を検索する（ステップＡ４→Ａ１）。
【００２４】
また、最新レコード判定手段２２で再編成済みレコードでなかった場合には、再編成元データベース１１に格納されている再編成未済みレコードが最新レコードとなるので、ワークファイル格納手段２３により最新レコード抽出ワークファイル３へ格納し、格納シミュレーション手段２４で障害復旧先データベース４へ格納するための格納アドレスの計算を行う（ステップＡ３→Ａ６→Ａ７）。
【００２５】
データベース検索手段２１で検索した結果、再編成元データベース１１の最終レコードまで検索が終了した場合には、最新レコード抽出ワークファイル３から最新レコードを入力し、格納シミュレーション手段２４で計算された格納アドレスに従い、障害復旧先データベース４へ格納する（ステップＡ１→Ａ２→Ａ８）。
【００２６】
図３は上記のデータベース復旧方式の具体的な動作例を示す説明図である。同図において、たとえば、オンライン中データベース再編成が中断している状態の再編成元データベース１１ａと再編成先データベース１２ａとがあったとする。
【００２７】
ここで、データＢ１は、再編成済みのレコードである。処理手順は、まずデータベース検索手段２１で再編成元データベース１１ａを検索する。そして最新レコード判定手段２２により、再編成済みレコードでかつ、削除レコードではないと判定する。したがって再編成先データベース１２ａに最新レコードが存在するので、再度データベース検索手段２１により再編成先データベース１２ａを検索し、最新レコードを取得する。取得した最新レコードをワークファイル格納手段２３で最新レコード抽出ワークファイル３に一時的に出力し、格納シミュレーション手段２４で障害復旧先データベース４へ格納するための格納アドレスを決定する（図２で示すと、ステップＡ１→Ａ２→Ａ３→Ａ４→Ａ５→Ａ６→Ａ７の順に処理される）。
【００２８】
データＢ２は、削除レコードである。処理手順は、データベース検索手段２１で再編成元データベース１１ａを検索する。最新レコード判定手段２２により、再編成済みレコードでかつ、削除レコードであると判定されるので、データベース検索手段２１によりデータＢ２を読み飛ばし、次のレコードを再編成元データベース１１ａから検索する（図２で示すと、ステップＡ１→Ａ２→Ａ３→Ａ４→Ａ１の順に処理される）。
【００２９】
データＢ３は、再編成済みのレコードあるので、データＢ１と同様の手順で処理される。
【００３０】
データＢ４は、再編成未済みレコードである。処理手順は、データベース検索手段２１で再編成元データベース１１ａを検索する。最新レコード判定手段２２により再編成未済みレコードと判定し、ワークファイル格納手段２３で最新レコード抽出ワークファイル３に一時的に出力し、格納シミュレーション手段２４で障害復旧先データベース４へ格納するための格納アドレスを決定する（図２で示すと、ステップＡ１→Ａ２→Ａ３→Ａ６→Ａ７の順で処理される）。
【００３１】
データＢ４の次をデータベース検索手段２１により検索するとデータが存在しないので、最新レコード抽出ワークファイル３に出力した最新レコードと格納シミュレーション手段２４で計算された格納アドレスをもとに、障害復旧先データベース格納手段２５によりデータＢ５，データＢ６，データＢ４の順で障害復旧先データベース４ａへ格納して処理終了となる（ステップＡ１→Ａ２→Ａ８）。
【００３２】
なお、上記のように、本発明によるデータベース復旧方式は主記憶（図示していない。）に保持されたプログラムを実行することによって動作する。このプログラムは、通常、ハードディスクなどに格納されており、データベースの再編成時に障害が発生した場合に、主記憶にロードされ実行される。
【００３３】
【発明の効果】
以上、詳細に説明したように、本発明によれば再編成処理を中断しているデータベースを利用して障害復旧先データベースを早急に生成することができる。したがって、この障害復旧先データベースを使用して業務を再開することができるので、業務の停止時間を大幅に短縮することができる。
【図面の簡単な説明】
【図１】本発明の実施の一形態を示すブロック図。
【図２】最新レコード抽出手段の動作を示す流れ図。
【図３】本発明の動作例を示す説明図。
【符号の説明】
１    データベース
２    最新レコード抽出手段
３    最新レコード抽出ワークファイル
４    障害復旧先データベース
１１    再編成元データベース
１２    再編成先データベース
２１    データベース検索手段
２２    最新レコード判定手段
２３    ワークファイル格納手段
２４    格納シミュレーション手段
２５    障害復旧先データベース格納手段
【図１】
0003613077.tif 000002
【図２】
0003613077.tif 000003
【図３】
0003613077.tif 000004