(57)【要約】【課題】オンライン処理システムの処理内容に対して制限や大きな影響を与えること無くデータベースの動的再編成を行うことが可能な技術を提供する。【解決手段】データベースへの更新処理に伴ってデータベースの再編成処理を行うデータベース処理方法において、オンライン処理の行われているオリジナルボリュームと同じ内容のレプリカボリュームにオンライン処理用ボリュームを切り替えるステップと、前記切り替えの行われたオリジナルボリュームを再編成するステップと、前記切り替え後のレプリカボリュームに対して行われた更新内容を更新ログから抽出し、再編成後のオリジナルボリュームにその更新内容を反映させる追いつき反映を行うステップと、追いつき処理の完了したオリジナルボリュームにオンライン処理用ボリュームを切り替えるステップとを有するものである。【選択図】        図２
2004199264.tif 000002
【特許請求の範囲】
【請求項１】
データベースへの更新処理に伴ってデータベースの再編成処理を行うデータベース処理方法において、
オンライン処理の行われているオリジナルボリュームと同じ内容のレプリカボリュームにオンライン処理用ボリュームを切り替えるステップと、前記切り替えの行われたオリジナルボリュームを再編成するステップと、前記切り替え後のレプリカボリュームに対して行われた更新内容を更新ログから抽出し、再編成後のオリジナルボリュームにその更新内容を反映させる追いつき反映を行うステップと、追いつき処理の完了したオリジナルボリュームにオンライン処理用ボリュームを切り替えるステップとを有することを特徴とするデータベース処理方法。
【請求項２】
前記更新ログの内で追いつき反映が実施されていないログ残量が所定の切り替え開始ログ残量しきい値以下となった時点で、オンライン処理用ボリュームに対するデータベース処理を停止するデータベースの静止化を行い、追いつき反映の完了後に前記切り替えを実行することを特徴とする請求項１に記載されたデータベース処理方法。
【請求項３】
前記データベースの静止化を行った後、所定のタイムアウト値の時間が経過しても追いつき反映が完了しない場合には、データベースの静止化状態を解除して前記切り替え処理を再度行うことを特徴とする請求項２に記載されたデータベース処理方法。
【請求項４】
データベースへの更新処理に伴ってデータベースの再編成処理を行うデータベース処理装置において、
オンライン処理の行われているオリジナルボリュームと同じ内容のレプリカボリュームにオンライン処理用ボリュームを切り替える複製ボリューム管理部と、前記切り替えの行われたオリジナルボリュームを再編成する再編成処理部と、前記切り替え後のレプリカボリュームに対して行われた更新内容を更新ログから抽出し、再編成後のオリジナルボリュームにその更新内容を反映させる追いつき反映を行い、追いつき処理の完了したオリジナルボリュームにオンライン処理用ボリュームを切り替える追いつき処理部とを備えることを特徴とするデータベース処理装置。
【請求項５】
データベースへの更新処理に伴ってデータベースの再編成処理を行うデータベース処理装置としてコンピュータを機能させる為のプログラムにおいて、
オンライン処理の行われているオリジナルボリュームと同じ内容のレプリカボリュームにオンライン処理用ボリュームを切り替える複製ボリューム管理部と、前記切り替えの行われたオリジナルボリュームを再編成する再編成処理部と、前記切り替え後のレプリカボリュームに対して行われた更新内容を更新ログから抽出し、再編成後のオリジナルボリュームにその更新内容を反映させる追いつき反映を行い、追いつき処理の完了したオリジナルボリュームにオンライン処理用ボリュームを切り替える追いつき処理部としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータベース処理中にデータベースの再編成処理を行うデータベース処理装置に関し、特に２４時間運転等のオンライン処理の継続性を重視し、かつデータベース再編成に長時間を要するデータベース処理装置に適用して有効な技術に関するものである。
【０００２】
【従来の技術】
従来の一般的なデータベースオンライン処理システムにおけるデータベース再編成の実行は、オンライン処理をデータベース再編成の開始から終了までの間停止し、データベース再編成が完了した後にオンライン処理を再開する運用を行っている。
【０００３】
但し、近年ではストレージ機能の進歩によりストレージが持つレプリカ作成機能を使用し、オンライン処理とデータベース再編成を並列実行することで参照オンライン処理システムに関してはデータベース再編成の動的実行が可能となっている。
【０００４】
また、再編成中のデータベースとは別に障害復旧先データベースを生成し、これを使用して本来の業務を短時間の内に再開させるデータベース復旧方式も知られている（例えば特許文献１参照）。
【０００５】
【特許文献１】
特開２００１−００５７０７号公報（第４−５頁、第２−３図）
【０００６】
【発明が解決しようとする課題】
しかしながら前記従来技術において、ストレージ機能を活用したデータベース再編成の動的実行方法を更新オンライン処理システムに対して適用した場合、オンライン処理用ボリュームとデータベース再編成用ボリュームとのデータ内容に差異が生じることから、データベース再編成の動的実行を行っている間、オンライン処理システムへのアクセスは参照のみに制限されている。
【０００７】
本発明の目的は上記問題を解決し、オンライン処理システムの処理内容に対して制限や大きな影響を与えること無くデータベースの動的再編成を行うことが可能な技術を提供することにある。
【０００８】
【課題を解決するための手段】
本発明は、データベースへの更新処理に伴ってデータベースの再編成処理を行うデータベース処理装置において、オンライン処理用ボリュームをレプリカボリュームに切り替えてオリジナルボリュームを再編成した後、オンライン処理用ボリュームを追いつき処理の完了したオリジナルボリュームに切り替えるものである。
【０００９】
本発明では、データベース再編成の実行に先立ち、ストレージが持つレプリカ作成機能を使用し、オンライン処理の行われているオリジナルボリュームと同じ内容のレプリカボリュームを作成する。レプリカボリューム作成後は、オリジナルボリュームと共にそれぞれをオンライン処理用ボリューム、データベース再編成用ボリュームとして管理し、オンライン処理とデータベース再編成を並列実行する。この際、オンライン処理で行われた更新内容をログ情報として蓄積する。
【００１０】
データベース再編成が完了した後、オンライン処理用ボリュームに対して行われた更新ログ情報の内容をデータベース再編成用ボリュームに反映させる追いつき反映処理を行う。但し、追いつき反映の間もオンライン処理を継続できる様、追いつき反映をオンライン処理のバックグラウンドで非同期に実行する。
【００１１】
追いつき反映が完了した時点でデータベース再編成用ボリュームをオンライン処理用に切り替える操作を行うが、前述の通り、追いつき反映実行中もオンライン処理は行われており、更新ログが出力され続けていることから完全に追いつき反映が終了したタイミングを特定することは難しく、ある程度追いつき反映が完了した時点で新たなトランザクションを待ち状態とし、仕掛かり中のトランザクションの完了を待つデータベースの静止化を行って、追いつき反映が完全に完了することを待つ。
【００１２】
なお、データベースの静止化及び追いつき反映完了までに時間を要する場合には、待ち状態となっているオンライン処理に影響を及ぼす可能性がある為、タイムアウト機構を設けて所定時間以上の待ち状態となった場合にはデータベースの静止化を解除し、再度ボリューム切り替え処理をリトライすることで更新オンライン処理の長時間待ちを防止する。
【００１３】
前記の様に本発明では、オンライン処理用ボリュームをレプリカボリュームに切り替えてレプリカボリュームによりオンライン処理を継続すると共にオリジナルボリュームを再編成し、再編成後のオリジナルボリュームに追いつき反映を行った後にオンライン処理用ボリュームに切り替えるので、オンライン処理システムへのアクセスを参照のみに制限することや、更新オンライン処理システムに対して長時間の待ちが生じる等の大きな影響を与えることを無くし、オンライン処理システムの処理内容に対して制限や大きな影響を与えること無くデータベースの再編成を動的に実行することが可能となる。
【００１４】
以上の様に本発明のデータベース処理装置によれば、オンライン処理用ボリュームをレプリカボリュームに切り替えてオリジナルボリュームを再編成した後、オンライン処理用ボリュームを追いつき処理の完了したオリジナルボリュームに切り替えるので、オンライン処理システムの処理内容に対して制限や大きな影響を与えること無くデータベースの動的再編成を行うことが可能である。
【００１５】
【発明の実施の形態】
以下にデータベース処理中にデータベースの再編成処理を行う一実施形態のデータベース処理装置について説明する。
【００１６】
図１は本実施形態のデータベース管理装置の概略構成を示す図である。図１に示す様に本実施形態のデータベース管理装置１００は、ログ出力処理部１１０と、再編成処理部１２０と、トランザクション制御部１３０と、複製ボリューム管理部１４０と、追いつき処理部１５０とを有している。
【００１７】
ログ出力処理部１１０は、切り替え後のレプリカボリューム３２０に対する更新オンライン処理で実行された更新内容を更新ログ２００へ出力する処理部である。再編成処理部１２０は、オリジナルボリューム３１０をデータベース再編成用ボリュームとして再編成する処理部である。
【００１８】
トランザクション制御部１３０は、ストレージ３００が持つボリューム分割機能を使用する場合や処理対象ボリュームの切り替えを行う際に、新たに発生したトランザクションを待ち状態とし、仕掛かり中のトランザクションの完了を待つデータベースの静止化及び静止化状態の解除を制御する処理部である。
【００１９】
複製ボリューム管理部１４０は、オリジナルボリューム３１０とストレージ３００が持つレプリカ作成機能により作成されたレプリカボリューム３２０とを管理し、オリジナルボリューム３１０とレプリカボリューム３２０とのアクセスを制御する処理部であり、オンライン処理の行われているオリジナルボリューム３１０と同じ内容のレプリカボリューム３２０にオンライン処理用ボリュームを切り替えたり、更新オンライン処理による更新処理、データベース再編成処理、及び追いつき反映処理によるボリュームの更新を、対象とするボリュームに振り分ける処理部である。
【００２０】
追いつき処理部１５０は、前記切り替え後のレプリカボリューム３２０に対する更新オンライン処理で実行された更新内容をログ入力処理部１５１により更新ログ２００から抽出し、再編成後のオリジナルボリューム３１０にその更新内容を反映させる追いつき反映を反映処理部１５２により行い、追いつき処理完了制御部１５３において追いつき処理の完了判定を行った後、追いつき処理の完了したオリジナルボリューム３１０にオンライン処理用ボリュームを切り替える処理部である。
【００２１】
データベース管理装置１００を、ログ出力処理部１１０、再編成処理部１２０、トランザクション制御部１３０、複製ボリューム管理部１４０及び追いつき処理部１５０として機能させる為のプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はＣＤ−ＲＯＭ以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【００２２】
図１に示す様に本実施形態のデータベース管理装置１００は、一般的なデータベース管理システムが持つログ出力処理部１１０や再編成処理部１２０の他に、トランザクション制御部１３０、複製ボリューム管理部１４０及び追いつき処理部１５０を有しており、これらの処理部での処理を組み合わせて運用することにより、更新オンライン処理に対するデータベース再編成の動的実行を実現する。
【００２３】
図２は本実施形態の更新オンライン処理に対してデータベース再編成を動的に実行する運用の処理手順を示すフローチャートである。図２に示す様に複製ボリューム管理部１４０は、データベース再編成の動的実行を行う準備として、ストレージ機能を用いてレプリカボリュームを作成する（ステップ１０１０）。作成されたレプリカボリューム３００１についてはストレージ機能により分割操作を行うまでは随時オリジナルボリューム３０００の更新内容がレプリカボリュームに反映され、両者の内容は一致しているものとする。また更新オンライン処理対象はオリジナルボリューム３０００に対して行っているものとする。
【００２４】
その後、実際にデータベース再編成を行う際にトランザクション制御部１３０は、ステップ１０２０のデータベース静止化を行い、新規トランザクションを実行待ち状態とすると共に仕掛かり中のトランザクションの完了を待つ。
【００２５】
ステップ１０２０で仕掛かり中トランザクションが不在となった状態で複製ボリューム管理部１４０は、ストレージ機能によりオリジナルボリューム３１００とレプリカボリューム３１０１の分割を行い（ステップ１０３０）、オンライン処理用ボリュームをレプリカボリューム３１０１に切り替え（ステップ１０４０）、トランザクション制御部１３０は、データベースの静止化状態を解除する（ステップ１０５０）。
【００２６】
ステップ１０２０のデータベース静止化からステップ１０５０のデータベース静止化解除までの間は、更新オンライン処理は待ち状態となる。
【００２７】
ステップ１０５０までの実行により、データベースはそれぞれのボリュームに対して独立した操作が可能な状態となる。オンライン処理は、レプリカボリューム３１０１に対して継続して行われており、ログ出力処理部１１０は、切り替え後のレプリカボリューム３２０に対する更新オンライン処理で実行された更新内容を更新ログ２００へ出力する処理を行う。再編成処理部１２０は、オリジナルボリューム３２００をデータベース再編成用ボリュームとして再編成を実行する（ステップ１０６０）。
【００２８】
ステップ１０６０のデータベース再編成が完了した後、追いつき処理部１５０は、更新オンライン処理による更新内容をログ入力処理部１５１により更新ログ２００から抽出し、データベース再編成用ボリューム３３００に反映させる追いつき反映を反映処理部１５２により開始する（ステップ１０７０）。
【００２９】
またステップ１０７０の処理と並列に追いつき処理完了制御部１５３において追いつき処理の完了判定を行ってステップ１０８０のオンライン処理用ボリュームの切り替え処理を行い、オンライン処理用ボリュームをレプリカボリューム３４０１からオリジナルボリューム３４００に切り替える。
【００３０】
図３は本実施形態のオンライン処理用ボリュームの切り替え処理の処理手順を示すフローチャートである。図３を用いて図２のステップ１０８０のオンライン処理用ボリュームの切り替え処理の詳細を説明する。
【００３１】
オンライン処理用ボリュームの切り替えを行う為には、追いつき反映が完了し、オリジナルボリュームのデータ内容がレプリカボリュームのデータ内容と論理的に一致していることが前提となる。本実施形態の処理では、追いつき反映を更新オンライン処理と非同期で実行しており、追いつき反映実行中も更新オンライン処理により更新ログが出力され続けている為、トラフィックの高い更新オンライン処理では追いつき処理が完全に完了するタイミングを捉えるのは難しく、ある程度追いつき反映が完了した時点で新規更新トランザクション処理を待ち状態とし、更新ログの出力を抑止した後に追いつき反映が全て完了するのを待つ必要がある。
【００３２】
オンライン処理用ボリュームの切り替え契機は、更新オンライン処理により出力された更新ログ２００の内で追いつき反映が実施されていないログ残量を算出し（ステップ１０８１）、その算出したログ残量が所定の切り替え開始ログ残量しきい値以下となった時点で切り替えを開始する（ステップ１０８２）。この切り替え開始ログ残量しきい値については更新オンライン処理の特性に合わせて外部からの調整が可能であるものとする。
【００３３】
ステップ１０８２でログ残量が所定の切り替え開始ログ残量しきい値以下となり、切り替え可能と判定した場合、トランザクション制御部１３０は、ステップ１０８３のデータベース静止化を行い、本処理と並行に処理されている追いつき処理の完了を待つ（ステップ１０８４）。追いつき処理が完了した場合にはオンライン対象ボリュームの切り替えを行い（ステップ１０８７）、トランザクション制御部１３０は、データベースの静止化状態を解除する（ステップ１０８８）。
【００３４】
また、前記しきい値の設定が大きい場合や長大トランザクションが仕掛かり中であった場合等、データベース静止化から追いつき反映完了までに長時間を要する場合には、待ち状態となっているオンライン処理に影響を及ぼすこととなる。この為、タイムアウト制御を設け（ステップ１０８５）、前記データベースの静止化を行った後、所定のタイムアウト値の時間が経過しても追いつき反映が完了しない場合には、トランザクション制御部１３０は、データベースの静止化状態を解除し（ステップ１０８６）、所定時間の待ちを行った後、再度ステップ１０８１から切り替え処理をリトライする制御を行う。このタイムアウト値についても切り替え開始ログ残量しきい値と同様に外部からの調整が可能であるものとする。
【００３５】
以上説明した様に本実施形態のデータベース処理装置によれば、オンライン処理用ボリュームをレプリカボリュームに切り替えてオリジナルボリュームを再編成した後、オンライン処理用ボリュームを追いつき処理の完了したオリジナルボリュームに切り替えるので、オンライン処理システムの処理内容に対して制限や大きな影響を与えること無くデータベースの動的再編成を行うことが可能である。
【００３６】
【発明の効果】
本発明によればオンライン処理用ボリュームをレプリカボリュームに切り替えてオリジナルボリュームを再編成した後、オンライン処理用ボリュームを追いつき処理の完了したオリジナルボリュームに切り替えるので、オンライン処理システムの処理内容に対して制限や大きな影響を与えること無くデータベースの動的再編成を行うことが可能である。
【図面の簡単な説明】
【図１】本実施形態のデータベース管理装置の概略構成を示す図である。
【図２】本実施形態の更新オンライン処理に対してデータベース再編成を動的に実行する運用の処理手順を示すフローチャートである。
【図３】本実施形態のオンライン処理用ボリュームの切り替え処理の処理手順を示すフローチャートである。
【符号の説明】
１００…データベース管理装置、１５１…ログ入力処理部、１５２…反映処理部、１５３…追いつき処理完了制御部、２００…更新ログ、３００…ストレージ、３１０…オリジナルボリューム、３２０…レプリカボリューム、１１０…ログ出力処理部、１２０…再編成処理部、１３０…トランザクション制御部、１４０…複製ボリューム管理部、１５０…追いつき処理部、３０００…オリジナルボリューム、３００１…レプリカボリューム、３１００…オリジナルボリューム、３１０１…レプリカボリューム、３２００…オリジナルボリューム、３３００…データベース再編成用ボリューム、３３０１…レプリカボリューム、３４００…オリジナルボリューム、３４０１…レプリカボリューム。
【図１】
2004199264.tif 000003
【図２】
2004199264.tif 000004
【図３】
2004199264.tif 000005