(57)【要約】【課題】データベースの整合性を維持するために必要な部分を適切に選択して、その部分のバックアップを効率的に生成する。【解決手段】記憶装置に分散して記憶されたデータベースのバックアップを生成するバックアップ生成装置は、バックアップの対象データベースを指定する対象指定情報を入力し、対象データベースの少なくとも一部を記憶している全ての記憶装置を選択し、対象データベースに対する静止点確保処理を行い、静止点確保処理が行われたことを条件として、選択された各々の記憶装置について、記憶装置全体を一括してコピーすることによりバックアップを生成し、生成されたバックアップに対応付けて、各々の記憶装置の中でバックアップの生成時に静止点確保処理が行われたデータを示す静止点確保データ指示情報を記録する。【選択図】図４
2006215868.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置に分散して記憶されたデータベースのバックアップを生成するバックアップ生成装置であって、
バックアップの対象となる対象データベースを指定する対象指定情報を入力する対象指定情報入力部と、
前記対象データベースの少なくとも一部を記憶している全ての記憶装置を選択する記憶装置選択部と、
前記対象指定情報入力部が前記対象指定情報を入力したことに応答して、前記対象データベースに対する処理中のトランザクションを完了させると共に更なるトランザクションを禁止する静止点確保処理を行う静止点確保処理部と、
前記静止点確保処理が行われたことを条件として、前記記憶装置選択部により選択された各々の前記記憶装置について、記憶装置全体を一括してコピーする一括コピー処理によりバックアップを生成するバックアップ生成部と、
前記バックアップ生成部により生成されたバックアップに対応付けて、各々の前記記憶装置の中で静止点確保処理が行われた状態でバックアップが生成されたデータを示す静止点確保データ指示情報を記録するバックアップ情報記録部と
を備えるバックアップ生成装置。
【請求項２】
前記記憶装置選択部により選択された記憶装置の各々について、当該記憶装置に他のデータベースの少なくとも一部が更に記憶されているか否かを判断する並存判断部と、
前記記憶装置選択部により選択された記憶装置の何れかに、他のデータベースの少なくとも一部が更に記憶されている場合に、利用者の指示に基づいて、当該他のデータベースをバックアップの対象として更に選択する追加バックアップ対象選択部と
を更に備え、
前記記憶装置選択部は、前記追加バックアップ対象選択部により選択された当該他のデータベースを記憶している全ての記憶装置を更に選択し、
前記静止点確保処理部は、前記対象データベースに更に当該他のデータベースを含めた部分に対して前記静止点確保処理を行う
請求項１記載のバックアップ生成装置。
【請求項３】
各々のデータベースに対応付けて、当該データベースを構成する複数の構成データの識別情報を取得する構成データ識別情報取得部を更に備え、
前記記憶装置選択部は、前記対象指定情報により前記対象データベース全体が指定されたことに応答して、前記対象データベースに対応する複数の構成データの各々について、当該構成データを記憶している全ての記憶装置を選択する
請求項１記載のバックアップ生成装置。
【請求項４】
前記バックアップ生成部は、前記対象指定情報により前記対象データベースが指定されたことを条件として、更に、前記対象データベースを管理する管理情報についてバックアップを生成する
請求項３記載のバックアップ生成装置。
【請求項５】
記憶装置の機種を示す情報に対応付けて、当該機種の記憶装置において前記一括コピー処理を行うコマンドを記録するコマンド記録部を更に備え、
前記バックアップ生成部は、各々の前記記憶装置について、当該記憶装置の機種に対応するコマンドを前記コマンド記録部から取得して実行することにより、前記一括コピー処理を行う
請求項１記載のバックアップ生成装置。
【請求項６】
記憶装置に分散して記憶されたデータベースの記憶内容を、前記記憶装置毎に生成された当該記憶装置のバックアップに基づいて復帰するリカバリ処理装置であって、
前記バックアップを記憶装置毎に取得するバックアップ取得部と、
各々の前記記憶装置についてのバックアップに対応付けて、当該記憶装置の中で静止点確保処理が行われた状態でバックアップが生成されたデータを示す静止点確保データ指示情報を取得する静止点確保データ指示情報取得部と、
各々の前記記憶装置について、記憶装置全体を一括してコピーする一括コピー処理による当該記憶装置の記憶内容の復帰、又は、前記静止点確保データ指示情報により識別されるデータ毎の復帰を選択する復帰方法選択部と、
各々の前記記憶装置について、前記一括コピー処理による復帰が選択されたことを条件として、当該記憶装置の記憶内容を前記一括コピー処理により復帰し、前記静止点確保データ指示情報により示されるデータ毎の復帰が選択されたことを条件として、当該記憶装置の記憶内容を前記静止点確保データ指示情報により示されるデータ毎に復帰するリカバリ処理部と
を備えるリカバリ処理装置。
【請求項７】
記憶装置の機種を示す情報に対応付けて、当該機種の記憶装置において前記一括コピー処理を行うコマンドを記録するコマンド記録部を更に備え、
前記リカバリ処理部は、各々の前記記憶装置について、前記一括コピー処理による復帰が選択されたことを条件として、当該記憶装置の機種に対応するコマンドを前記コマンド記録部から取得して実行することにより、前記一括コピー処理を行う
請求項６記載のリカバリ処理装置。
【請求項８】
各々の前記記憶装置について、前記静止点確保データ指示情報により示されるデータ以外のデータが更に記憶されているか否かを判断する並存判断部を更に備え、
前記復帰方法選択部は、各々の前記記憶装置について、前記静止点確保データ指示情報により示されるデータ以外のデータが更に記憶されていることを条件として、前記静止点確保データ指示情報により示されるデータ毎の復帰を選択し、前記静止点確保データ指示情報により示されるデータ以外のデータが記憶されていないことを条件として、前記一括コピー処理による復帰を選択する
請求項６記載のリカバリ処理装置。
【請求項９】
データベースのバックアップを生成するバックアップ生成装置であって、
前記データベースにおいてバックアップを生成する対象となる対象データを指定する対象指定情報を入力する対象指定情報入力部と、
前記データベースのうち、前記データベースの整合性を維持するためには前記対象データと共に更新する必要のある関連データを選択する関連データ選択部と、
前記対象データに、前記関連データ選択部により選択された前記関連データを追加したデータについてバックアップを生成するバックアップ生成部と
を備えるバックアップ生成装置。
【請求項１０】
前記関連データ選択部により前記関連データが選択されたことに応答して、前記対象データ及び前記関連データに対する処理中のトランザクションを完了させると共に更なるトランザクションを禁止する静止点確保処理を行う静止点確保処理部を更に備え、
前記バックアップ生成部は、前記静止点確保処理が行われたことを条件として、前記対象データ及び前記関連データについてバックアップを生成する
請求項９記載のバックアップ生成装置。
【請求項１１】
前記対象指定情報入力部は、各々が前記データベースの一部ずつを構成する複数のテーブルスペースの何れかを前記対象データとして指定する前記対象指定情報を入力し、
前記関連データ選択部により選択された関連データを含むテーブルスペースを選択するテーブルスペース選択部を更に備え、
前記関連データ選択部は、前記テーブルスペース選択部により選択された複数のテーブルスペースの各々について、当該テーブルスペースに含まれる全てのデータの関連データを更に選択し、
前記テーブルスペース選択部は、前記関連データ選択部により更に選択された関連データを含むテーブルスペースを更に選択し、
前記バックアップ生成部は、前記対象データに、前記テーブルスペース選択部により選択された全てのテーブルスペースを加えたデータについてバックアップを生成する
請求項９記載のバックアップ生成装置。
【請求項１２】
記憶装置に分散して記憶されたデータベースのバックアップを生成するバックアップ生成方法であって、
バックアップの対象となる対象データベースを指定する対象指定情報を入力する対象指定情報入力段階と、
前記対象データベースの少なくとも一部を記憶している全ての記憶装置を選択する記憶装置選択段階と、
前記対象指定情報入力段階において前記対象指定情報を入力したことに応答して、前記対象データベースに対する処理中のトランザクションを完了させると共に更なるトランザクションを禁止する静止点確保処理を行う静止点確保処理段階と、
前記静止点確保処理が行われたことを条件として、前記記憶装置選択段階において選択された各々の前記記憶装置について、記憶装置全体を一括してコピーする一括コピー処理によりバックアップを生成するバックアップ生成段階と、
前記バックアップ生成段階において生成されたバックアップに対応付けて、各々の前記記憶装置の中で静止点確保処理が行われた状態でバックアップが生成されたデータを示す静止点確保データ指示情報を記録するバックアップ情報記録段階と
を備えるバックアップ生成方法。
【請求項１３】
記憶装置に分散して記憶されたデータベースの記憶内容を、前記記憶装置毎に生成された当該記憶装置のバックアップに基づいて復帰するリカバリ処理方法であって、
前記バックアップを記憶装置毎に取得するバックアップ取得段階と、
各々の前記記憶装置についてのバックアップに対応付けて、当該記憶装置の中で静止点確保処理が行われた状態でバックアップが生成されたデータを示す静止点確保データ指示情報を取得する静止点確保データ指示情報取得段階と、
各々の前記記憶装置について、記憶装置全体を一括してコピーする一括コピー処理による当該記憶装置の記憶内容の復帰、又は、前記静止点確保データ指示情報により識別されるデータ毎の復帰を選択する復帰方法選択段階と、
各々の前記記憶装置について、前記一括コピー処理による復帰が選択されたことを条件として、当該記憶装置の記憶内容を前記一括コピー処理により復帰し、前記静止点確保データ指示情報により示されるデータ毎の復帰が選択されたことを条件として、当該記憶装置の記憶内容を前記静止点確保データ指示情報により示されるデータ毎に復帰するリカバリ処理段階と
を備えるリカバリ処理方法。
【請求項１４】
データベースのバックアップを生成するバックアップ生成方法であって、
前記データベースにおいてバックアップを生成する対象となる対象データを指定する対象指定情報を入力する対象指定情報入力段階と、
前記データベースのうち、前記データベースの整合性を維持するためには前記対象データと共に更新する必要のある関連データを選択する関連データ選択段階と、
前記対象データに、前記関連データ選択段階において選択された前記関連データを追加したデータについてバックアップを生成するバックアップ生成段階と
を備えるバックアップ生成方法。
【請求項１５】
記憶装置に分散して記憶されたデータベースのバックアップを生成するバックアップ生成装置として、情報処理装置を機能させるプログラムであって、
前記情報処理装置を、
バックアップの対象となる対象データベースを指定する対象指定情報を入力する対象指定情報入力部と、
前記対象データベースの少なくとも一部を記憶している全ての記憶装置を選択する記憶装置選択部と、
前記対象指定情報入力部が前記対象指定情報を入力したことに応答して、前記対象データベースに対する処理中のトランザクションを完了させると共に更なるトランザクションを禁止する静止点確保処理を行う静止点確保処理部と、
前記静止点確保処理が行われたことを条件として、前記記憶装置選択部により選択された各々の前記記憶装置について、記憶装置全体を一括してコピーする一括コピー処理によりバックアップを生成するバックアップ生成部と、
前記バックアップ生成部により生成されたバックアップに対応付けて、各々の前記記憶装置の中で静止点確保処理が行われた状態でバックアップが生成されたデータを示す静止点確保データ指示情報を記録するバックアップ情報記録部と
して機能させるプログラム。
【請求項１６】
記憶装置に分散して記憶されたデータベースの記憶内容を、前記記憶装置毎に生成された当該記憶装置のバックアップに基づいて復帰するリカバリ処理装置として、情報処理装置を機能させるプログラムであって、
前記情報処理装置を、
前記バックアップを記憶装置毎に取得するバックアップ取得部と、
各々の前記記憶装置についてのバックアップに対応付けて、当該記憶装置の中で静止点確保処理が行われた状態でバックアップが生成されたデータを示す静止点確保データ指示情報を取得する静止点確保データ指示情報取得部と、
各々の前記記憶装置について、記憶装置全体を一括してコピーする一括コピー処理による当該記憶装置の記憶内容の復帰、又は、前記静止点確保データ指示情報により識別されるデータ毎の復帰を選択する復帰方法選択部と、
各々の前記記憶装置について、前記一括コピー処理による復帰が選択されたことを条件として、当該記憶装置の記憶内容を前記一括コピー処理により復帰し、前記静止点確保データ指示情報により示されるデータ毎の復帰が選択されたことを条件として、当該記憶装置の記憶内容を前記静止点確保データ指示情報により示されるデータ毎に復帰するリカバリ処理部と
して機能させるプログラム。
【請求項１７】
データベースのバックアップを生成するバックアップ生成装置として、情報処理装置を機能させるプログラムであって、
前記情報処理装置を、
前記データベースにおいてバックアップを生成する対象となる対象データを指定する対象指定情報を入力する対象指定情報入力部と、
前記データベースのうち、前記データベースの整合性を維持するためには前記対象データと共に更新する必要のある関連データを選択する関連データ選択部と、
前記対象データに、前記関連データ選択部により選択された前記関連データを追加したデータについてバックアップを生成するバックアップ生成部と
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バックアップ生成装置、リカバリ処理装置、バックアップ生成方法、リカバリ処理方法、及びプログラムに関する。特に、本発明は、データベースのバックアップを生成するバックアップ生成装置、リカバリ処理装置、バックアップ生成方法、リカバリ処理方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、コンピュータシステム及びデータベースが、企業等における基幹業務に用いられるようになってきており、その重要性が更に増してきている。このため、障害や災害の発生に備えてデータベースのバックアップを生成することが好ましく、一方、バックアップの生成により通常の運用が妨害されるのは好ましくない。このような要求を満たすためには、バックアップをできるだけ高速に生成することが必要である。
【０００３】
一方で、SAN(Storage Area Network)又はNAS(Network Attached Storage)等の近年のストレージシステムにおいて、記憶装置は、その記憶内容を高速にコピーするボリュームコピー機能を有している。一例として、データを更新する毎にそのデータを複数の記憶装置に記憶させるミラーリングを行い、所望のタイミングでそれらの１つをバックアップとして利用する技術が提案されている（特許文献１参照。）。
【０００４】
【特許文献１】特開２００２−８２８２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記のボリュームコピー機能をバックアップの生成処理に応用することにより、バックアップを高速に生成できるとも考えられる。しかしながら、近年のデータベースは、その処理の高速化や処理負荷の分散等を目的として、複数の記憶装置に一部ずつ記憶される場合がある。また、記憶領域を有効利用することを目的として、１つの記憶装置が、複数のデータベースの一部ずつを記憶する場合もある。
【０００６】
このため、上記のボリュームコピー機能をそのまま適用したのでは、バックアップの作成に不要なデータがコピーされてしまう場合や、バックアップの生成に必要なデータが不足する場合がある。更に、データベースのバックアップを生成するには、そのデータベースに対するトランザクションが完了して整合性が保持されている必要がある。記憶装置毎に単にボリュームコピーを実行してしまうと、データベース全体としての整合性が保持されていない状態でバックアップを生成してしまう場合がある。
【０００７】
そこで本発明は、上記の課題を解決することのできるバックアップ生成装置、リカバリ処理装置、バックアップ生成方法、リカバリ処理方法、及びプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明においては、記憶装置に分散して記憶されたデータベースのバックアップを生成するバックアップ生成装置であって、バックアップの対象となる対象データベースを指定する対象指定情報を入力する対象指定情報入力部と、対象データベースの少なくとも一部を記憶している全ての記憶装置を選択する記憶装置選択部と、対象指定情報入力部が対象指定情報を入力したことに応答して、対象データベースに対する処理中のトランザクションを完了させると共に更なるトランザクションを禁止する静止点確保処理を行う静止点確保処理部と、静止点確保処理が行われたことを条件として、記憶装置選択部により選択された各々の記憶装置について、記憶装置全体を一括してコピーする一括コピー処理によりバックアップを生成するバックアップ生成部と、バックアップ生成部により生成されたバックアップに対応付けて、各々の記憶装置の中で静止点確保処理が行われた状態でバックアップが生成されたデータを示す静止点確保データ指示情報を記録するバックアップ情報記録部とを備えるバックアップ生成装置を提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明の効果】
【０００９】
本発明によれば、データベースの整合性を維持するために必要な部分を適切に選択して、その部分のバックアップを効率的に生成することができる。
【発明を実施するための最良の形態】
【００１０】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１１】
図１は、情報処理システム１０の全体構成を示す。情報処理システム１０は、データベースシステム１５と、記憶装置２５−１〜７とを備える。データベースシステム１５は、外部からの指示等に基づいて記憶装置２５−１〜７をアクセスすると共に、記憶装置２５−１〜７のバックアップを生成し、又は、そのバックアップに基づいてリカバリ処理を行う。記憶装置２５−１〜７の各々は、データベース２０−１〜４の少なくとも一部を記憶しており、記憶装置２５−１〜７全体としてデータベース２０−１〜４として機能する。
【００１２】
また、記憶装置２５−１〜７は、互いに異なる機種であってもよい。一例として、記憶装置２５−１〜３は、LAN(Local Area Network)によりデータベースシステム１５に接続され、NAS(Network Attached Storage)として機能してもよい。一方で、記憶装置２５−４〜７は、Fibre Channel等のリング型ネットワークによりSAN(Storage Area Network)を構成し、スイッチを経由してデータベースシステム１５に接続されてもよい。更に、記憶装置２５−１〜３の各々は互いに機種が異なってもよいし、記憶装置２５−４〜７の各々は互いに機種が異なってもよい。また、本実施例における記憶装置とは、ハードディスクドライブ全体のように物理的に単一の装置であってもよいし、ハードディスクドライブの中に設けられたボリューム又はパーティションの中の一つであってもよい。
【００１３】
データベースシステム１５は、バックアップ生成装置４０と、リカバリ処理装置５０と、データベース用制御部６０と、ストレージ用制御部７０とを有する。バックアップ生成装置４０は、記憶装置２５−１〜７の少なくとも１つに分散して記憶されたデータベースのバックアップを生成する。一方で、リカバリ処理装置５０は、記憶装置２５−１〜７の少なくとも１つに分散して記憶されたデータベースの記憶内容を、記憶装置毎に生成されたその記憶装置のバックアップに基づいて復帰するリカバリ処理を行う。データベース用制御部６０は、例えばデータベース２０−１〜４の各々に対するトランザクション等を実行することにより、データベース２０−１〜４の各々を制御する。ストレージ用制御部７０は、例えば記憶装置２５−１〜７の各々に設けられた制御部に対してコマンド等を発行することにより、記憶装置２５−１〜７の各々を制御する。
【００１４】
本実施例におけるデータベースシステム１５は、このように機種が異なる複数の記憶装置に、データベースが分散して記憶されており、かつ、１つの記憶装置に複数のデータベースが並存している場合であっても、高速かつ効率的にバックアップを生成することを第１の目的とする。
【００１５】
図２は、データベース２０の構造の具体例を示す。データベース２０は、テーブル１から４までの４つのテーブルと、その構造を規定した管理情報を記録した管理情報記憶領域３０とを有する。テーブルとは、互いに関連ある複数のデータを行列状に配置した、データベースにおいて一般的なデータの集合である。実際には、データベース２０は、各々がデータベース２０の一部ずつを構成する複数のテーブルスペースと呼ばれるデータを有する。そして、テーブルスペース１から４の各々は、テーブル１から４の少なくとも一部を格納し、テーブルスペース１から４は全体として、テーブル１から４として機能する。より詳細には、テーブルスペース及びテーブルの関係は、管理情報記憶領域３０に記録された管理情報により規定される。
【００１６】
図３は、管理情報記憶領域３０のデータ構造の一例を示す。管理情報記憶領域３０に記録された管理情報によると、テーブル１の中のデータを格納するデータ部は、テーブルスペース１に含まれる。また、テーブル１の中のインデックスを格納するインデックス部は、テーブルスペース２に含まれる。一方で、テーブル２の中のデータを格納するデータ部は、テーブルスペース１に格納され、テーブル２にはその他の部分が存在しない。
【００１７】
テーブル３のデータ部は、テーブルスペース２に含まれ、テーブル３のうち基準サイズ以上のデータを格納するロングサイズデータ部は、テーブルスペース４に含まれる。また、テーブル４のデータ部は、テーブルスペース３に含まれ、テーブル４のロングサイズデータ部は、テーブルスペース４に含まれる。なお、本図においては説明の便宜上、全てのテーブル及びテーブルスペースについての構造をまとめて説明したが、実際には、管理情報は、テーブル又はテーブルスペース毎に分散して記録されてもよい。
【００１８】
このように、近年のデータベースにおいては、１つのテーブルを複数のテーブルスペースに分散して記憶することによって、アクセス速度の向上やデータの追加・削除処理の効率化を図っている。
【００１９】
図２に戻る。テーブルスペース１から４の各々は、記憶装置２５−１〜３に分散して記憶されている。例えば、テーブルスペース１は、記憶装置２５−３に記憶されたコンテナファイル１と、記憶装置２５−２に記憶されたコンテナファイル４と、記憶装置２５−１に記憶されたコンテナファイル６とから構成される。また、テーブルスペース２は、記憶装置２５−３に記憶されたコンテナファイル２のみから構成される。また、テーブルスペース３は、記憶装置２５−２に記憶されたコンテナファイル５のみから構成され、テーブルスペース４は、記憶装置２５−４に記憶されたコンテナファイル７のみから構成される。
【００２０】
なお、このような構成を示す情報は、管理情報として管理情報記憶領域３０に更に記録されていてもよい。具体的には、管理情報記憶領域３０は、管理情報として、各々のデータベースを構成するテーブルスペースを示す情報を記録してもよい。更に、管理情報記憶領域３０は、管理情報として、各々のテーブルスペースを構成するコンテナファイルの所在を示す情報を記録してもよい。コンテナファイルの所在を示す情報とは、例えば、記憶装置のファイルシステムにおいてそのファイルのパスを示す情報である。
【００２１】
以上、図２及び図３に示したように、テーブルは複数のテーブルスペースに分散して記憶されており、更に、そのテーブルスペースは複数の記憶装置にファイルとして分散して記憶されている。このため、利用者が１つのテーブルスペースのみをバックアップの対象と指定した場合であっても、テーブルとして整合性を保持した状態でバックアップを生成するには、他のテーブルスペースを含めてバックアップを生成する必要がある。また、高速化を目的として記憶装置の一括コピー処理を行う場合には、所望のテーブルスペースと共に記憶装置に記憶されている他のテーブルスペースの取り扱いが問題となる。
本実施例に係るバックアップ生成装置４０は、データベースの一部分を構成するテーブルスペースをバックアップする場合において、整合性を保持するために必要な最小限のデータ群を共に選択してバックアップの対象とすることを第２の目的とする。
【００２２】
図４は、バックアップ生成装置４０の機能を機能ブロックに分類して示す。バックアップ生成装置４０は、対象指定情報入力部４００と、関連データ選択部４１０と、テーブルスペース選択部４２０と、構成データ識別情報取得部４３０と、記憶装置選択部４４０と、並存判断部４５０と、静止点確保処理部４６０と、バックアップ生成部４７０と、バックアップ情報記録部４８０と、コマンド記録部４９０とを有する。対象指定情報入力部４００は、バックアップを生成する対象を指定する対象指定情報を入力する。例えば、対象指定情報入力部４００は、情報処理システム１０内に存在するデータベース等の一覧情報をデータベース用制御部６０から取得して利用者に表示すると共に、その何れかを指定する情報を利用者から入力してもよい。
【００２３】
ここで、対象指定情報は、例えば、バックアップの対象となる対象データベースを指定する情報であってもよいし、何れかのデータベースにおいてバックアップを生成する対象となる対象データを指定する情報であってもよい。対象データとは、データベースを構成する一部分であり、一例としては、図２において説明したテーブルスペースの何れかである。以降、対象指定情報により、対象データベース又はテーブルスペースが指定された場合について説明する。
【００２４】
関連データ選択部４１０は、対象指定情報によりテーブルスペースが指定された場合において、データベースの整合性を維持するためにはそのテーブルスペースと共に更新する必要のある関連データを選択する。この処理は、例えば、管理情報記憶領域３０に記録された管理情報をデータベース用制御部６０から取得し、その管理情報に基づいて行われる。具体的には図２及び図３に示したように、テーブルスペース１が指定された場合においては、テーブル１の整合性を維持するためにはテーブル１のデータ部と共にテーブル１のインデックス部を更新しなければならない。このため、関連データ選択部４１０は、テーブル１のインデックス部を関連データとして選択する。そして、テーブルスペース選択部４２０は、関連データ選択部４１０により選択されたテーブル１のインデックス部を含むテーブルスペース２を選択する。
【００２５】
関連データ選択部４１０は、テーブルスペース選択部４２０により選択された複数のテーブルスペースの各々について、そのテーブルスペースに含まれる全てのデータの関連データを更に選択する。即ち、テーブルスペース２には、テーブル３のデータ部が含まれているので、関連データ選択部４１０は、テーブル３のロングサイズデータ部を関連データとして更に選択する。テーブルスペース選択部４２０は、関連データ選択部４１０により選択された関連データを含むテーブルスペースを更に選択する。即ち、テーブル３のロングサイズデータ部がテーブルスペース４に含まれるので、テーブルスペース選択部４２０は、テーブルスペース４を選択する。以上の処理を、新たな関連データが関連データ選択部４１０によって選択されなくなるまで繰り返す。この結果、テーブルスペース選択部４２０は、テーブルスペース１、２、４、及び３を順次この順に選択する。
【００２６】
構成データ識別情報取得部４３０は、各々のデータベースに対応付けて、当該データベースを構成する複数の構成データの識別情報を取得する。即ち具体的には、構成データ識別情報取得部４３０は、各々のデータベースを構成するテーブルスペースの情報、及びそのテーブルスペースに含まれるコンテナファイルのパス等の情報を取得する。また、コンテナファイルのパスを取得することにより、各々のデータベースを記憶している記憶装置を識別することができる。
【００２７】
記憶装置選択部４４０は、対象指定情報により対象データベースが指定されたことに応答して、対象データベースの少なくとも一部を記憶している全ての記憶装置を選択する。具体的には、記憶装置選択部４４０は、その対象データベースに対応する複数の構成データの各々について、その構成データを記憶している全ての記憶装置を選択する。また、対象指定情報によりテーブルスペースが指定された場合には、記憶装置選択部４４０は、そのテーブルスペースに、テーブルスペース選択部４２０により選択された全てのテーブルスペースを加えたデータについて、そのデータの少なくとも一部を記憶している全ての記憶装置を選択する。
【００２８】
並存判断部４５０は、記憶装置選択部４４０により選択された記憶装置の各々について、その記憶装置に他のデータベースの少なくとも一部が更に記憶されているか否かを判断する。追加バックアップ対象選択部４５５は、記憶装置選択部４４０により選択された記憶装置の何れかに、他のデータベースの少なくとも一部が更に記憶されている場合に、その旨及び当該他のデータベースを示す情報を利用者に表示する。そして、追加バックアップ対象選択部４５５は、利用者の指示に基づいて、当該他のデータベースをバックアップの対象として更に選択する。
【００２９】
この場合、記憶装置選択部４４０は、追加バックアップ対象選択部４５５により選択された当該他のデータベースを記憶している全ての記憶装置を更に選択する。以上の処理を、追加バックアップ対象選択部４５５により他のデータベースが選択されなくなるまで繰り返す。例えば、対象指定情報として図１のデータベース２０−２が指定された場合において、追加バックアップ対象選択部４５５は、データベース２０−３及びデータベース２０−４をこの順に選択し、利用者の指示に基づきデータベース２０−５を選択しなかったとすればその時点で処理を終了する。
【００３０】
以上の処理に代えて、追加バックアップ対象選択部４５５は、記憶装置選択部４４０により選択された記憶装置の何れかに、他のデータベースの一部であるテーブルスペースが更に記憶されている場合に、そのテーブルスペースのみを更に選択してもよい。この場合には、関連データ選択部４１０は、そのテーブルスペースの関連データを更に選択し、テーブルスペース選択部４２０は、その関連データを含むテーブルスペースを選択する。以降、関連データ選択部４１０及びテーブルスペース選択部４２０は、上述の処理を繰り返す。
以降、対象指定情報により指定された対象データベース又はテーブルスペースに、追加バックアップ対象選択部４５５により選択された当該他のデータベース、及び、それらの関連データを含むテーブルスペースを含めた部分を、バックアップ対象部分と呼ぶ。
【００３１】
続いて、対象指定情報入力部４００が対象指定情報を入力し、関連データ選択部４１０により全ての関連データが選択され、かつ、追加バックアップ対象選択部４５５によりバックアップの対象とすべき全てのデータベースが選択されたことに応答して、バックアップ生成装置４０は、以下の処理を行う。静止点確保処理部４６０は、バックアップ対象部分に対して、その部分に対する処理中のトランザクションを完了させると共に更なるトランザクションを禁止する静止点確保処理を行う。静止点確保処理は、例えば、データベース用制御部６０に指示することによりデータベース用制御部６０の機能により実現される。
【００３２】
バックアップ生成部４７０は、静止点確保処理が行われたことを条件として、バックアップ対象部分のバックアップを生成する。具体的には、バックアップ生成部４７０は、記憶装置選択部４４０により選択された各々の記憶装置について、記憶装置全体を一括してコピーする一括コピー処理によりバックアップを生成する。ここで、一括コピー処理を行うためのコマンドは、記憶装置の機種によって異なる。このため、コマンド記録部４９０は、記憶装置の機種を示す情報に対応付けて、当該機種の記憶装置において一括コピー処理を行うコマンドを予め記録している。そして、バックアップ生成部４７０は、各々の記憶装置について、当該記憶装置の機種に対応するコマンドをコマンド記録部４９０から取得して実行することにより一括コピー処理を行う。更に、バックアップ生成部４７０は、対象指定情報により対象データベース全体が指定されたことを条件として、その対象データベースを管理する管理情報についてバックアップを生成してもよい。
【００３３】
バックアップ情報記録部４８０は、バックアップ生成部４７０により生成されたバックアップに対応付けて、各々の記憶装置の中で静止点確保処理が行われた状態でバックアップが生成されたデータを示す静止点確保データ指示情報を記録する。例えば、静止点確保データ指示情報とは、静止点確保処理が行われた状態でバックアップが生成されたコンテナファイル群のパスを示す情報である。
【００３４】
図５は、リカバリ処理装置５０の機能を機能ブロックに分類して示す。リカバリ処理装置５０は、バックアップ取得部５００と、静止点確保データ指示情報取得部５１０と、並存判断部５２０と、復帰方法選択部５３０と、コマンド記録部５４０と、リカバリ処理部５５０とを有する。バックアップ取得部５００は、バックアップ生成装置４０等により生成されたバックアップを記憶装置毎に取得する。静止点確保データ指示情報取得部５１０は、各々の記憶装置についてのバックアップに対応付けて、その記憶装置の中で静止点確保処理が行われた状態でバックアップが生成されたデータを示す静止点確保データ指示情報を取得する。並存判断部５２０は、各々の記憶装置について、静止点確保データ指示情報により示されるデータ以外のデータが更に記憶されているか否かを判断する。
【００３５】
復帰方法選択部５３０は、各々の記憶装置についてその記憶内容を復帰させる復帰方法を、利用者の指示等に基づいて選択する。具体的には、復帰方法選択部５３０、記憶装置全体を一括してコピーする一括コピー処理による当該記憶装置の記憶内容の復帰、及び、静止点確保データ指示情報により識別されるデータ毎の復帰の何れかを選択する。
【００３６】
また、復帰方法選択部５３０は、利用者の指示に関わらず復帰方法を自動的に選択してもよい。例えば、復帰方法選択部５３０は、各々の記憶装置について、静止点確保データ指示情報によって示されるデータ以外のデータが更に記憶されていることを条件として、静止点確保データ指示情報により示されるデータ毎の復帰を自動的に選択する。一方で、復帰方法選択部５３０は、各々の記憶装置について、静止点確保データ指示情報によって示されるデータ以外のデータが記憶されていないことを条件として、一括コピー処理による復帰を選択する。
【００３７】
コマンド記録部５４０は、記憶装置の機種を示す情報に対応付けて、その機種の記憶装置において一括コピー処理を行うコマンドを記録する。そして、リカバリ処理部５５０は、各々の記憶装置について、一括コピー処理による復帰が選択されたことを条件として、その記憶装置の機種に対応するコマンドをコマンド記録部５４０から取得して実行することにより、その記憶装置の記憶内容を復帰する。一方で、リカバリ処理部５５０は、各々の記憶装置について、静止点確保データ指示情報により示されるデータ毎の復帰が選択されたことを条件として、その記憶装置の記憶内容をそのデータ毎に復帰する。
【００３８】
図６は、バックアップ生成装置４０がバックアップを生成する処理のフローチャートを示す。対象指定情報入力部４００は、バックアップを生成する対象を指定する対象指定情報を入力する（Ｓ６００）。例えば、対象指定情報入力部４００は、情報処理システム１０内に存在するデータベース等の一覧情報をデータベース用制御部６０から取得して利用者に表示すると共に、その何れかを指定する情報を利用者から入力してもよい。構成データ識別情報取得部４３０は、各々のデータベースに対応付けて、当該データベースを構成する複数の構成データの識別情報を取得する（Ｓ６１０）。
【００３９】
関連データ選択部４１０は、対象指定情報によりテーブルスペースが指定されている場合において（Ｓ６２０：ＹＥＳ）、データベースの整合性を維持するためにはそのテーブルスペースと共に更新する必要のある関連データを選択する（Ｓ６３０）。
【００４０】
記憶装置選択部４４０は、対象指定情報により対象データベースが指定されたことに応答して、対象データベースの少なくとも一部を記憶している全ての記憶装置を選択する（Ｓ６４０）。また、記憶装置選択部４４０は、対象指定情報によりテーブルスペースが指定された場合には、記憶装置選択部４４０は、そのテーブルスペースに、テーブルスペース選択部４２０により選択された全てのテーブルスペースを加えたデータについて、そのデータの少なくとも一部を記憶している全ての記憶装置を選択する。
【００４１】
並存判断部４５０は、記憶装置選択部４４０により選択された記憶装置の各々について、その記憶装置に、バックアップの対象として指定されていない他のデータベース又はテーブルスペースが更に記憶されているか否かを判断する（Ｓ６５０）。記憶装置選択部４４０により選択された記憶装置の何れかに、当該他のデータベース又はテーブルスペースが更に記憶されている場合に（Ｓ６５０：ＹＥＳ）、追加バックアップ対象選択部４５５は、当該他のデータベース又はテーブルスペースをバックアップの対象に追加するか否かを利用者に問い合わせる（Ｓ６６０）。
【００４２】
バックアップの対象に追加する指示を受けた場合に（Ｓ６６０：ＹＥＳ）、追加バックアップ対象選択部４５５は、当該他のデータベース又はテーブルスペースをバックアップの対象として更に選択する（Ｓ６６５）。そして、バックアップ生成装置４０は、Ｓ６２０に処理を戻す。
【００４３】
一方、記憶装置選択部４４０により選択された記憶装置の何れもが、バックアップの対象として指定されていない他のデータベース又はテーブルスペースを記憶していない場合には（Ｓ６５０：ＮＯ）、バックアップ生成部４７０は、バックアップを生成する処理を行う（Ｓ６７０）。また、当該他のデータベース又はテーブルスペースをバックアップの対象に追加しない旨の指示を受けた場合においても（Ｓ６６０：ＮＯ）、バックアップ生成部４７０は、バックアップを生成する処理を行う（Ｓ６７０）。
【００４４】
図７は、図６のＳ６３０における処理の詳細を示す。バックアップ生成装置４０は、対象指定情報により指定されたテーブルスペース、又は、追加バックアップ対象選択部４５５によりバックアップの対象として選択されたテーブルスペースの各々について、以下の処理を行う。まず、関連データ選択部４１０は、当該テーブルスペースの関連データが他のテーブルスペースに存在するか否かを判断する（Ｓ７００）。関連データが存在しない場合には（Ｓ７００：ＮＯ）、本図の処理を終了する。
【００４５】
関連データが存在する場合には（Ｓ７００：ＹＥＳ）、関連データ選択部４１０は、その関連データの各々を選択する（Ｓ７１０）。次に、テーブルスペース選択部４２０は、選択された関連データを含むテーブルスペースを選択する（Ｓ７２０）。そして、テーブルスペース選択部４２０により選択されたテーブルスペースについて、その関連データを検出すべくＳ７００からの処理を繰り返す。
【００４６】
図８は、図６のＳ６７０における処理の詳細を示す。静止点確保処理部４６０は、バックアップ対象部分に対して、その部分に対する処理中のトランザクションを完了させると共に更なるトランザクションを禁止する静止点確保処理を行う（Ｓ８００）。バックアップ生成部４７０は、各々の記憶装置について、当該記憶装置の機種に対応するコマンドをコマンド記録部４９０から取得する（Ｓ８１０）。そして、バックアップ生成部４７０は、そのコマンドを実行することにより一括コピー処理を行う（Ｓ８２０）。バックアップ情報記録部４８０は、バックアップ生成部４７０により生成されたバックアップに対応付けて、各々の記憶装置の中で静止点確保処理が行われた状態でバックアップが生成されたデータを示す静止点確保データ指示情報を記録する（Ｓ８３０）。
【００４７】
図９は、リカバリ処理装置５０が記憶装置の内容をバックアップに基づいて復帰する処理のフローチャートを示す。バックアップ取得部５００は、バックアップ生成装置４０等により生成されたバックアップを記憶装置毎に取得する（Ｓ９００）。静止点確保データ指示情報取得部５１０は、各々の記憶装置についてのバックアップに対応付けて、その記憶装置の中で静止点確保処理が行われた状態でバックアップが生成されたデータを示す静止点確保データ指示情報を取得する（Ｓ９１０）。並存判断部５２０は、各々の記憶装置について、静止点確保データ指示情報により示されるデータ以外のデータが更に記憶されているか否かを判断する（Ｓ９２０）。
【００４８】
復帰方法選択部５３０は、各々の記憶装置について、静止点確保データ指示情報によって示されるデータ以外のデータが更に記憶されていることを条件として（Ｓ９２０：ＹＥＳ）、静止点確保データ指示情報により示されるデータ毎の復帰を選択する（Ｓ９４０）。この場合、リカバリ処理部５５０は、その記憶装置の記憶内容を、静止点確保データ指示情報により示されるデータ毎に復帰する（Ｓ９４０）。具体的な処理としては、例えば、リカバリ処理部５５０は、予め確保した一時記憶領域に記憶装置の記憶内容を一旦復帰した後に、その一時記憶領域から指定されたファイルのみをファイル毎に復帰してもよい。
【００４９】
一方で、復帰方法選択部５３０は、各々の記憶装置について、静止点確保データ指示情報によって示されるデータ以外のデータが記憶されていないことを条件として（Ｓ９２０：ＮＯ）、一括コピー処理による復帰を選択する（Ｓ９６０）。この場合、リカバリ処理部５５０は、その記憶装置の機種に対応する一括コピー処理のコマンドをコマンド記録部５４０から取得する（Ｓ９７０）。そして、リカバリ処理部５５０は、そのコマンドを実行することによりその記憶装置の記憶内容を復帰する（Ｓ９８０）。
【００５０】
一括コピー処理の方法は、機種によって様々であり、その機種において高速な実行を可能とするための最適な方法が備わっている。例えば、通常の運用時においてミラーリングを行っている記憶装置においては、一括コピー処理を行う場合に、ミラーリングの対象となっている一方の記憶装置をミラーリングの対象から除外する処理を行うことにより、極めて高速に一括コピー処理が実現できる。この場合、リカバリ処理部５５０は、ミラーリングの対象から除外する処理等を指示するコマンドを、一括コピー処理のコマンドとして実行する必要がある。
【００５１】
一方で、一括コピー処理の指示を受けた時点では実際には一括コピーを処理せず、その後の処理により順次一括コピーを作成することにより、処理の待ち時間を短くする記憶装置も用いられている。この場合、リカバリ処理部５５０は、一括コピーの開始を指示するコマンドを、一括コピー処理のコマンドとして実行する必要がある。このように、機種の違いによって適切なコマンドを実行することにより、その機種に適した高速な処理を可能とすることができる。
【００５２】
図１０は、データベースシステム１５として機能する情報処理装置６００のハードウェア構成の一例を示す。情報処理装置６００は、ホストコントローラ１０８２により相互に接続されるＣＰＵ１０００、ＲＡＭ１０２０、及びグラフィックコントローラ１０７５を有するＣＰＵ周辺部と、入出力コントローラ１０８４によりホストコントローラ１０８２に接続される通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を有する入出力部と、入出力コントローラ１０８４に接続されるＲＯＭ１０１０、フレキシブルディスクドライブ１０５０、及び入出力チップ１０７０を有するレガシー入出力部とを備える。
【００５３】
ホストコントローラ１０８２は、ＲＡＭ１０２０と、高い転送レートでＲＡＭ１０２０をアクセスするＣＰＵ１０００及びグラフィックコントローラ１０７５とを接続する。ＣＰＵ１０００は、ＲＯＭ１０１０及びＲＡＭ１０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ１０７５は、ＣＰＵ１０００等がＲＡＭ１０２０内に設けたフレームバッファ上に生成する画像データを取得し、表示装置１０８０上に表示させる。これに代えて、グラフィックコントローラ１０７５は、ＣＰＵ１０００等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
【００５４】
入出力コントローラ１０８４は、ホストコントローラ１０８２と、比較的高速な入出力装置である通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を接続する。通信インターフェイス１０３０は、ネットワークを介して外部の装置、例えば記憶装置２５−１〜７と通信する。ハードディスクドライブ１０４０は、情報処理装置６００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ１０６０は、ＣＤ−ＲＯＭ１０９５からプログラム又はデータを読み取り、ＲＡＭ１０２０又はハードディスクドライブ１０４０に提供する。
【００５５】
また、入出力コントローラ１０８４には、ＲＯＭ１０１０と、フレキシブルディスクドライブ１０５０や入出力チップ１０７０等の比較的低速な入出力装置とが接続される。ＲＯＭ１０１０は、情報処理装置６００の起動時にＣＰＵ１０００が実行するブートプログラムや、情報処理装置６００のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ１０５０は、フレキシブルディスク１０９０からプログラム又はデータを読み取り、入出力チップ１０７０を介してＲＡＭ１０２０またはハードディスクドライブ１０４０に提供する。入出力チップ１０７０は、フレキシブルディスク１０９０や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
【００５６】
情報処理装置６００に提供されるプログラムは、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ１０７０及び/又は入出力コントローラ１０８４を介して、記録媒体から読み出され情報処理装置６００にインストールされて実行される。プログラムが情報処理装置６００等に働きかけて行わせる動作は、図１から図９において説明したデータベースシステム１５における動作と同一であるから、説明を省略する。
【００５７】
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５の他に、ＤＶＤやＰＤ等の光学記録媒体、ＭＤ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置６００に提供してもよい。
【００５８】
以上、本実施例に係るデータベースシステム１５によれば、機種が互いに異なる複数の記憶装置に、データベースが分散して記憶されている場合であっても、そのデータベースの整合性を維持した状態でバックアップを生成することができる。１つの記憶装置に複数のデータベースが並存する場合であっても、記憶装置全体を一括してコピーする一括コピー処理を利用した高速な処理により、指定されたデータベースのバックアップを適切に生成することができる。更に、データベース全体のみならず、データベースの一部分を構成するテーブルスペースのみについてバックアップを生成する場合であっても、整合性を保持した状態で高速な処理を実現できる。
【００５９】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【００６０】
【図１】図１は、情報処理システム１０の全体構成を示す。
【図２】図２は、データベース２０の構造の具体例を示す。
【図３】図３は、管理情報記憶領域３０のデータ構造の一例を示す。
【図４】図４は、バックアップ生成装置４０の機能を機能ブロックに分類して示す。
【図５】図５は、リカバリ処理装置５０の機能を機能ブロックに分類して示す。
【図６】図６は、バックアップ生成装置４０がバックアップを生成する処理のフローチャートを示す。
【図７】図７は、図６のＳ６３０における処理の詳細を示す。
【図８】図８は、図６のＳ６７０における処理の詳細を示す。
【図９】図９は、リカバリ処理装置５０が記憶装置の内容をバックアップに基づいて復帰する処理のフローチャートを示す。
【図１０】図１０は、データベースシステム１５として機能する情報処理装置６００のハードウェア構成の一例を示す。
【符号の説明】
【００６１】
１０  情報処理システム
１５  データベースシステム
２０  データベース
２５  記憶装置
３０  管理情報記憶領域
４０  バックアップ生成装置
５０  リカバリ処理装置
６０  データベース用制御部
７０  ストレージ用制御部
４００  対象指定情報入力部
４１０  関連データ選択部
４２０  テーブルスペース選択部
４３０  構成データ識別情報取得部
４４０  記憶装置選択部
４５０  並存判断部
４５５  追加バックアップ対象選択部
４６０  静止点確保処理部
４７０  バックアップ生成部
４８０  バックアップ情報記録部
４９０  コマンド記録部
５００  バックアップ取得部
５１０  静止点確保データ指示情報取得部
５２０  並存判断部
５３０  復帰方法選択部
５４０  コマンド記録部
５５０  リカバリ処理部
６００  情報処理装置
【図１】
2006215868.tif 000003
【図２】
2006215868.tif 000004
【図３】
2006215868.tif 000005
【図４】
2006215868.tif 000006
【図５】
2006215868.tif 000007
【図６】
2006215868.tif 000008
【図７】
2006215868.tif 000009
【図８】
2006215868.tif 000010
【図９】
2006215868.tif 000011
【図１０】
2006215868.tif 000012