JP4390618B2 - データベース再編成プログラム、データベース再編成方法、及びデータベース再編成装置 - Google Patents

データベース再編成プログラム、データベース再編成方法、及びデータベース再編成装置 Download PDF

Info

Publication number
JP4390618B2
JP4390618B2 JP2004132350A JP2004132350A JP4390618B2 JP 4390618 B2 JP4390618 B2 JP 4390618B2 JP 2004132350 A JP2004132350 A JP 2004132350A JP 2004132350 A JP2004132350 A JP 2004132350A JP 4390618 B2 JP4390618 B2 JP 4390618B2
Authority
JP
Japan
Prior art keywords
page
database
record
copy
copy source
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
Application number
JP2004132350A
Other languages
English (en)
Other versions
JP2005316624A (ja
Inventor
晃英 西野
久幸 圓佛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004132350A priority Critical patent/JP4390618B2/ja
Priority to US10/990,270 priority patent/US7949632B2/en
Publication of JP2005316624A publication Critical patent/JP2005316624A/ja
Application granted granted Critical
Publication of JP4390618B2 publication Critical patent/JP4390618B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1466Management of the backup or restore process to make the backup process non-disruptive

Description

本発明はデータベースの再編成をするためのデータベース再編成プログラム、データベース再編成方法、及びデータベース再編成装置に関し、特にデータベースに対するトランザクションを継続したままデータベースの再編成を行うデータベース再編成プログラム、データベース再編成方法、及びデータベース再編成装置に関する。
多くのデータベースシステムでは、効率的なデータ入出力環境を維持するためデータベースの再編成が必要となる。たとえば、以下のような目的で再編成が行われる。
・ページ内のレコード間にある空き領域の統合(フラグメンテーション解消)
・オーバフローページにあるレコードをプライムページに格納することによるアクセス性能向上
・データベース内においてレコードが満杯状態になる前の領域の拡張
従来の一般的な再編成処理では、まず、データベース中にある全てのレコードが中間ファイルに退避される。そこで、データベースの容量拡張等を実施した後、退避したデータが復元される。
図10は、従来の一般的なデータベース再構築方法を示す図である。図10には、データベース911のデータを再構築して、データベース921に格納する場合の例が示されている。
データベース911は、複数のプライムページが格納されたプライムページ格納領域911aと複数のオーバフローページが格納されたオーバフローページ格納領域911bとを有している。プライムページは、レコードの基本的な格納領域である。各レコードを格納すべきプライムページは、インデックス912によって予め定義されている。
オーバフローページは、プライムページの空き容量が足りないために格納できなかったレコードを格納するための格納領域である。オーバフローページにレコードが格納された場合、そのレコードが本来格納されるべきプライムページから実際に格納されたオーバフローページに対して、ポインタが設定される。
このデータベース911を再構築する際には、まず、データベース911内のレコードが磁気テープ等の記録媒体930に退避される(ステップS101)。退避の順番は、インデックス情報に従ったプライムページの先頭から昇順で行われる。プライムページからポインタで示されたオーバフローページがある場合は、1つのプライムページのレコードを退避後、対応するオーバフローページのレコードを順に退避していく。この退避処理が最終ページまで繰り返される。
次に、インデックス922が再作成され、容量の拡張されたデータベース921が構築される(ステップS102)。作成されたインデックス922では、全てのレコードがプライムページ格納領域921a内に納めるように、レコードを格納するページが定義される。データベース911はストレージデバイス上で一旦削除され、その後領域拡張したデータベース921が構築される。そして、記録媒体930に退避したレコードをデータベース921に復元する(ステップS103)。
このようにしてデータベースを再構築することができる。新たに生成されたインデックス922の指定に沿ってデータベース921へのレコード格納が行われることにより、たとえば、より多くのプライムページが利用可能となり、アクセス性能が向上する。また、その後、レコード格納があった場合においても、ある程度プライムページに空きができるため、オーバフローページを切り出すことはなく、アクセス性能劣化を防止できる。
ただし、このようなデータベース再構築手法では、レコードを退避させてから復元するまでの間、データベース911に対する更新等の処理を停止する必要がある。これは、データベース再編成時にレコードを格納すると、データ保証ができないためである。そのため、24時間連続して稼働させることが要求されるシステムには適用できない。そこで、データベースへのアクセスを伴う処理機能動作中にデータベース再編成を実行するための方式が必要となる。
図11は、アクセスを停止せずにデータベース再編成を実行する方式を示す図である。この方式では、データベースを使用する処理機能からアクセスしているデータベース941(複写元)とは別に、新規に再編成を実施するためのデータベース951(複写先)を用意する。各データベース941,951には、対応するインデックス942,952が設けられている。また、データベース941は、複数のプライムページを格納するプライムページ格納領域941aと、複数のオーバフローページを格納するオーバフローページ格納領域941bとを有している。同様に、データベース951は、複数のプライムページを格納するプライムページ格納領域951aと、複数のオーバフローページを格納するオーバフローページ格納領域951bとを有している。なお、この例では、データベース951は、データベース941よりも記憶容量が拡張されているものとする。
そして、複写元のデータベース941の先頭ページから順に、格納されているレコードが複写先のデータベース951に複写され、データベースの再編成が実施される(ステップS111)。
このとき、複写元のデータベース941に対するレコードの更新を意図するトランザクション961を受け付けることができる。たとえば、トランザクション961によってプライムページ内のレコード(レコード番号「R1」)が変更され、オーバフローページにレコード(レコード番号「R33」)が追加される(ステップS112)。再編成中にレコードの更新処理が行われると、その処理内容が更新後ログ943に記録される(ステップS113)。
ここで、この複写されたレコードに対して応用プログラムからの更新があった場合、複写のレコードに対する更新後ログ943を複写先のデータベース951のレコードに付け込む(ステップS114)。付け込みとは、更新されたレコードの内容をデータベース951に反映させる処理である。付け込みによりレコードの上書きを行うことで、整合性が保証される。このようなデータベースの再編成方式は、DBsnapperと呼ばれる(たとえば、特許文献1参照)。
なお、図11に示す方式では、更新後ログ943を付け込むまでの間、最新性が保証できない。そのため、再編成後のデータベース951へのアクセスを伴うトランザクション962は、データベース951の参照であってもアクセスが拒否される(ステップS115)。図11の例では、付け込み処理中に、レコード番号「R11」のレコードの参照を伴うトランザクション962が行われている。このとき、複写先のデータベース951に該当レコードに対する複写が完了していないため、即時参照できない(タイムラグあり)。複写先のデータベース951に更新後ログ943の付け込みが完了すると、それ以降、そのレコードの参照が可能となる。
なお、データベース内のデータをブロック単位で複製し、ブロック毎に再編成が完了したか否かを管理することもできる。この場合、再編成が完了したブロックに対するアクセスは、複写先のデータベースに対して行われる。また、再編成が未完了のブロックに対するアクセスは、複写元のデータベースに対して行われる。そして、複写中のブロックに対するアクセスは、複写の完了を待ってから、複写先のデータベースに対して行われる(たとえば、特許文献2参照)。
特開2000−339210号公報 特開平5−151037号公報
しかし、図10に示した方式では、ログの付け込みを行う間、データベースにアクセスできない。すなわち、レコード更新してからログ反映するまでの間、そのレコードに対して最新性を保証できない。そのため、応用プログラムからの即時利用ができない。
なお、特許文献2記載の方式によれば、レコードへのアクセスを停止せずにデータベースの再編成が可能である。ただし、この方式では、システムに障害等が発生し、データベースの内容が壊れたとき、正しく復旧するのが困難である。すなわち、この方式では、複写されたブロックの内容を更新する場合、複写先のデータベースに対してのみレコードが書き込まれる。したがって、複写先のデータベースに対する更新処理のみが更新後ログとして記録される。
ここで、再編成の途中で複写元のデータベースに障害が発生すると、複写元のデータベースの内容が過去のバックアップ時の状態に戻される。その状態のデータベースに複写元のデータベースに対する更新後ログの内容を反映させても、複写先のデータベースに対して行われた更新処理の内容は反映されない。そのため、複写先のデータベースに対して書き込まれたレコードの保証が困難となる。したがって、この方式は、銀行の口座管理のような高度な信頼性を要求されるシステムでは利用することができない。
本発明はこのような点に鑑みてなされたものであり、高度な信頼性を維持しながら、サービスを停止せずにデータベースを再編成可能なデータベース再編成プログラム、データベース再編成方法、及びデータベース再編成装置を提供することを目的とする。
本発明では上記課題を解決するために、図1に示すようなデータベース再編成プログラムが提供される。本発明に係るデータベース再編成プログラムは、コンピュータに、複数のページそれぞれに対して格納すべきレコードが決められている複写元データベース1aを再編成する処理を実行させるためのものである。このデータベース再編成プログラムを実行するコンピュータは、レコード複写手段3とレコード書き込み手段5とを有する。
レコード複写手段3は、複写元データベース1aの再編成要求に応じて、複写元データベース1a内のページを順次選択し、選択したページ内のレコードを複写先データベース2aに複写すると共に、複写元データベース1a内のページ毎の複写の進捗状況をページ状態管理テーブル4に設定すると、レコード書き込み手段5は、更新レコードの書き込み要求に応じてページ状態管理テーブル4を参照し、複写元データベース1a内の書き込み対象ページが未複写の状態であれば複写元データベース1a内の該当ページに対して更新レコードを書き込み、書き込み対象ページが複写済の状態であれば複写元データベース1aと複写先データベース2aとに更新レコードを書き込む。
このようなデータベース再編成プログラムを実行するコンピュータによれば、複写元データベース1aの再編成要求が入力されると、レコード複写手段3により複写元データベース1a内のページを順次選択され、選択されたページ内のレコードが複写先データベース2aに複写される。さらに、レコード複写手段3により、複写元データベース1a内のページ毎の複写の進捗状況がページ状態管理テーブル4に設定される。その後、更新レコードの書き込み要求が入力されると、レコード書き込み手段5により、ページ状態管理テーブル4が参照され、複写元データベース1a内の書き込み対象ページが未複写の状態であれば複写元データベース1a内の該当ページに対して更新レコードが書き込まれる。また、書き込み対象ページが複写済の状態であれば複写元データベース1aと複写先データベース2aとに更新レコードが書き込まれる。
また、上記課題を解決するために、複数のページそれぞれに対して格納すべきレコードが決められているデータベースを再編成するデータベース再編成方法において、レコード複写手段が、前記複写元データベースの再編成要求に応じて、複写元データベース内のページを順次選択し、選択した前記ページ内のレコードを複写先データベースに複写すると共に、前記複写元データベース内のページ毎の複写の進捗状況をページ状態管理テーブルに設定し、レコード書き込み手段が、更新レコードの書き込み要求に応じて前記ページ状態管理テーブルを参照し、前記複写元データベース内の書き込み対象ページが未複写の状態であれば前記複写元データベース内の該当ページに対して前記更新レコードを書き込み、前記書き込み対象ページが複写済の状態であれば前記複写元データベースと前記複写先データベースとに前記更新レコードを書き込む、ことを特徴とするデータベース再編成方法が提供される。
このようなデータベース再編成方法によれば、複写元データベースの再編成要求が入力されると、レコード複写手段により複写元データベース内のページが順次選択され、選択されたページ内のレコードが複写先データベースに複写される。さらに、レコード複写手段により、複写元データベース内のページ毎の複写の進捗状況がページ状態管理テーブルに設定される。その後、更新レコードの書き込み要求が入力されると、レコード書き込み手段により、ページ状態管理テーブルが参照され、複写元データベース内の書き込み対象ページが未複写の状態であれば複写元データベース内の該当ページに対して更新レコードが書き込まれる。また、書き込み対象ページが複写済の状態であれば複写元データベースと複写先データベースとに更新レコードが書き込まれる。
また、上記課題を解決するために、複数のページそれぞれに対して格納すべきレコードが決められているデータベースを再編成するデータベース再編成装置において、前記複写元データベースの再編成要求に応じて、複写元データベース内のページを順次選択し、選択した前記ページ内のレコードを複写先データベースに複写すると共に、前記複写元データベース内のページ毎の複写の進捗状況をページ状態管理テーブルに設定するレコード複写手段と、更新レコードの書き込み要求に応じて前記ページ状態管理テーブルを参照し、前記複写元データベース内の書き込み対象ページが未複写の状態であれば前記複写元データベース内の該当ページに対して前記更新レコードを書き込み、前記書き込み対象ページが複写済の状態であれば前記複写元データベースと前記複写先データベースとに前記更新レコードを書き込むレコード書き込み手段と、を有することを特徴とするデータベース再編成装置が提供される。
このようなデータベース再編成装置によれば、上記データベース編成プログラムを実行するコンピュータと同様の処理が実行される。
以上説明したように本発明では、ページ単位で複写を行い、書き込み対象ページが未複写の状態であれば複写元データベース内の該当ページに対して更新レコードを書き込み、複写済の状態であれば複写元データベースと複写先データベースとに更新レコードを書き込むようにした。そのため、データベースへのアクセスを伴う業務を停止せずに再編成が実現できると共に、システム障害時には複写元データベースに基づいてデータベースを容易に復旧できる。
以下、本発明の実施の形態を図面を参照して説明する。
まず、実施の形態に適用される発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。
図1は、実施の形態に適用される発明の概念図である。図1の例では、第1の記憶手段1に設けられた複写元データベース1aを再構成し、第2の記憶手段2内に再構成された複写先データベース2aを生成するものとする。複写元データベース1a内の記憶領域は、複数のページに分割されている。そして、各ページに格納すべきレコードが、インデックス1bで定義されている。同様に、複写先データベース2a内の記憶領域は、複数のページに分割されている。そして、各ページに格納すべきレコードが、インデックス2bで定義されている。また、複写元データベース1aと複写先データベース2aとに対してレコードの更新処理が行われると、更新処理の内容がログとして保存される。
なお、図1の例では、インデックス1b,2bにおいて、レコード番号(Rm:mは0以上の整数)とページ番号(Rn:nは0以上の整数)との対応関係が示されている。各ページには、インデックス1b,2bで対応付けられたレコード番号以下であり、且つ、ページ番号が1つ小さいページに対応付けられたレコード番号より大きなレコード番号を有するレコードが格納される。
レコード複写手段3は、複写元データベース1aの再編成要求に応じて、複写元データベース1a内のページを順次選択する。そして、レコード複写手段3は、選択したページ内のレコードを複写先データベース2aに複写する。また、レコード複写手段3は、複写元データベース1a内のページ毎の複写の進捗状況をページ状態管理テーブル4に設定する。
ページ状態管理テーブル4には、複写元データベース1a内のページ毎に、複写の状態が設定されている。複写の状態としては、未複写(図中「未」と示す)、複写中(図中「中」と示す)、及び複写済(図中「済」と示す)がある。
レコード書き込み手段5は、更新レコードの書き込み要求に応じてページ状態管理テーブル4を参照し、書き込み対象のページの状態に応じて、更新レコードの書き込み対象を判定する。具体的には、レコード書き込み手段5は、複写元データベース1a内の書き込み対象ページが未複写の状態であれば複写元データベース1a内の該当ページに対して更新レコードを書き込む。また、レコード書き込み手段5は、書き込み対象ページが複写済の状態であれば複写元データベース1aと複写先データベース2aとに更新レコードを書き込む。さらに、レコード書き込み手段5は、書き込み対象ページが複写中の状態であれば複写済に遷移するのを待ち、複写中から複写済の状態に遷移したときに、複写元データベース1aと複写先データベース2aとに更新レコードを書き込む。
このようなデータベース再編成装置によれば、複写元データベース1aの再編成要求が入力されると、レコード複写手段3により複写元データベース1a内のページが順次選択され、選択されたページ内のレコードが複写先データベース2aに複写される。さらに、レコード複写手段3により、複写元データベース1a内のページ毎の複写の進捗状況がページ状態管理テーブル4に設定される。
ここで、ページ番号(「P0」,「P1」,「P2」)が小さい順に、ページが選択されるものとする。図1には、ページ番号「P1」を複写しているときのページ状態管理テーブル4が示されている。この例では、ページ番号「P0」のページが複写済、ページ番号「P1」のページが複写中、ページ番号「P2」のページが未複写である。
データベース再編成処理中に、更新レコードの書き込み要求が入力されると、レコード書き込み手段5により、ページ状態管理テーブル4が参照され、書き込み対象のページの状態が判断される。
たとえば、レコード番号「R3」が更新レコード6aとして入力された場合、複写元データベース1aのページ番号「P0」のページが書き込み対象となる。図1の例では、ページ番号「P0」のページは、複写済の状態である。そのため、更新レコード6aは、複写元データベース1aと複写先データベース2aとに書き込まれる。
レコード番号「R4」が更新レコード6bとして入力された場合、複写元データベース1aのページ番号「P1」のページが書き込み対象となる。図1の例では、ページ番号「P1」のページは、複写中の状態である。そのため、該当ページの状態が複写済になるのを待ち、更新レコード6aが複写元データベース1aと複写先データベース2aとに書き込まれる。
レコード番号「R5」が更新レコード6cとして入力された場合、複写元データベース1aのページ番号「P2」のページが書き込み対象となる。図1の例では、ページ番号「P2」のページは、未複写の状態である。そのため、更新レコード6cは複写元データベース1aに書き込まれる。
このようにして、レコードの書き込みを停止することなく、データベースの再編成が行われる。なお、ページが複写中の場合、書き込みの待機時間が発生するが、1ページの複写処理は短時間で実行できるため、業務を停止させる程の影響はない。しかも、複写済のページに対する更新の場合、複写元データベース1aに対しても書き込みが行われるため、ジョブキャンセル時等のデータベースの復旧が可能となる。
以下、本発明の実施の形態を具体的に説明する。
図2は、本発明の実施の形態のシステム構成例を示す図である。本発明の実施の形態では、複数のホストコンピュータ100,200,300,400と複数の端末装置21,22,・・・とがネットワーク10を介して接続されている。ホストコンピュータ100,200,300,400には、ストレージデバイス500,600が接続されている。また、ホストコンピュータ100と他のホストコンピュータ200,300,400とは、高速の通信回線で互いに接続されている。ホストコンピュータ200,300,400は、その通信回線を介して、ホストコンピュータ100内の共有メモリにアクセスできる。
ホストコンピュータ100,200,300,400は、端末装置21,22,・・・からの要求に応じて、ストレージデバイス500,600内に構築されたデータベースに対するトランザクションを実行する。また、少なくとも1つのホストコンピュータは、データベースを再構成するための処理機能を有している。本実施の形態では、ホストコンピュータ100がデータベースの再構成を行うものとする。ホストコンピュータ100は、データベースの再構成を行うために、以下の様なハードウェア構成を有している。
図3は、データベースの再構成を行うホストコンピュータのハードウェア構成例を示す図である。ホストコンピュータ100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス101aを介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、ストレージデバイスインタフェース107、通信インタフェース108、およびホストコンピュータ間通信インタフェース109が接続されている。
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス101aを介してCPU101に送信する。
共有メモリ106は、他のホストコンピュータ200,300,400との間で共有可能な記録媒体である。共有メモリ106としては、たとえば、バッテリでバックアップされた半導体メモリが使用される。データベースの再編成時には、共有メモリ106内に、データベース内のブロック毎の状態を示すページ状態管理テーブルが格納される。
ストレージデバイスインタフェース107は、ストレージデバイス500,600に接続されている。ストレージデバイスインタフェース107は、CPU101からの指示に従って、ストレージデバイス500,600に対するデータの入出力を行う。
通信インタフェース108は、ネットワーク10に接続されている。通信インタフェース108は、ネットワーク10を介して、端末装置21,22,・・・との間でデータの送受信を行う。
ホストコンピュータ間通信インタフェース109は、他のホストコンピュータ200,300,400に接続されている。ホストコンピュータ間通信インタフェース109は、他のホストコンピュータ200,300,400との間でデータの送受信を行う。たとえば、ホストコンピュータ間通信インタフェース109は、他のホストコンピュータ200,300,400に対して共有メモリ106に格納されている情報を送信する。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図3には、ホストコンピュータ100のハードウェア構成を説明したが、他のホストコンピュータ200,300,400も同様のハードウェア構成で実現することができる。ただし、ホストコンピュータ200,300,400には、共有メモリは搭載されていなくてもよい。
以下、図2,3に示す構成のシステムにおけるデータベース再編成処理について詳細に説明する。
図4は、本実施の形態を実現するための機能を示すブロック図である。図4には、ストレージデバイス500内に構築されているデータベースを、ストレージデバイス600内に再編成する場合の例が示されている。
ストレージデバイス500には、インデックス510、複写元のデータベース520、更新前ログ530、及び更新後ログ540が含まれる。データベース再編成を実行する以前は、ストレージデバイス500内の各要素を用いて端末装置21,22,・・・に対するサービスが提供される。
インデックス510には、データベース520内に設けられた各ページに格納すべきレコードの識別番号(レコード番号)が定義されている。データベース520は、複数のページに分割された記憶領域を有している。各ページには、インデックス510で対応付けられたレコードが格納される。更新前ログ530には、データベース520内のレコードが更新された際の更新前のレコードの内容が記録される。更新後ログ540には、データベース520内のレコードが更新された際の更新後のレコードの内容が記録される。
ストレージデバイス600には、インデックス610、複写先のデータベース620、更新前ログ630、及び更新後ログ640が含まれる。なお、ストレージデバイス600内の各要素は、データベース再編成処理が開始された際に生成される。
インデックス610には、データベース620内に設けられた各ページに格納すべきレコードの識別番号(レコード番号)が定義されている。データベース620は、複数のページに分割された記憶領域を有している。各ページには、インデックス610で対応付けられたレコードが格納される。更新前ログ630には、データベース620内のレコードが更新された際の更新前のレコードの内容が記録される。更新後ログ640には、データベース620内のレコードが更新された際の更新後のレコードの内容が記録される。
ホストコンピュータ100は、複写トランザクション処理部110、ページ状態管理テーブル120、およびオンライントランザクション処理部130を有する。
複写トランザクション処理部110は、データベースの再編成処理を行う。具体的には、複写トランザクション処理部110は、データベース520の再編成要求を受け付けると、ストレージデバイス600内に、前述のインデックス610、複写先のデータベース620、更新前ログ630、及び更新後ログ640を生成する。このとき、複写先のデータベース620の記憶容量が複写元のデータベース520の記憶容量よりも大きくなるように、インデックス610内の情報を設定する。そして、複写トランザクション処理部110は、データベース520内のレコードをページ単位でデータベース620に複写する。その際の各ページの状態は、ページ状態管理テーブル120に設定される。
ページ状態管理テーブル120には、データベース再編成中に、複写元のデータベース520内の各ページの状態が登録される。ページの状態は、「未複写」、「複写中」、「複写済」がある。
オンライントランザクション処理部130は、端末装置21,22,・・・からの要求に応じてデータベース操作のトランザクションを実行する。なお、データベース再構成処理中においては、オンライントランザクション処理部130は、ページ状態管理テーブル120を参照し、アクセス対象とすべきデータベースを判断する。
次に、インデックス510とデータベース520との関係について詳細に説明する。
図5は、インデックスとデータベースとのデータ構造を示す図である。インデックス510には、各ページのページ番号に対応付けて、そのページに格納すべきレコードのレコード番号が定義されている(ページ番号をPm、レコード番号をRnで表している)。
効率的なトランザクション処理を行うために、レコード番号の小さいレコードほど、ページ番号の小さいページに割り当てられる。そこで、インデックス510では、各ページのページ番号に対応付けて、そのページに格納されるレコードに対するレコード番号の最大値が設定されている。
図5の例ではインデックス510において、ページ番号「P0」に対応付けてレコード番号「R3」が設定されている。これは、ページ番号「P0」のページに対して、レコード番号が「R0x」〜「R3x」(xは0以上の整数)のレコードが登録されることを意味する。
また、ページ番号「P1」に対応付けてレコード番号「R4」が設定されている。これは、ページ番号「P1」のページに対して、レコード番号「R4x」のレコードが登録されることを意味する。
ページ番号「P2」に対応付けてレコード番号「R6」が設定されている。これは、ページ番号「P2」のページに対して、レコード番号が「R5x」,「R6x」のレコードが登録されることを意味する。
なお、データベース520がネットワークデータベース(NDB)として利用される場合、各レコードには、木構造で互いに関連付けられた複数のデータが含まれる。この場合、データベース520でのデータ間の関連付けは、複写先のデータベース620で再現される。
データベース520には、複数のプライムページを格納するためのプライムページ格納領域521と複数のオーバフローページを格納するためのオーバフローページ格納領域522とが設けられている。プライムページは、インデックス510に設定されている各ページ番号に対応する記憶領域である。各プライムページには、インデックス510で定義されたレコード番号のレコードのみが格納できる。
オーバフローページは、プライムページの容量不足によって、レコード番号に対応するプライムページに格納できなかったレコードを格納するための記憶領域である。オーバフローページにレコードが格納された場合、そのレコードのレコード番号に対応するプライムページ内に、オーバフローページへのポインタが設定される。そのポインタを参照することで、レコードが格納されたオーバフローページを特定できる。
このように、各プライムページには、格納可能なレコードのレコード番号が予め指定されている。そして、1つのプライムページにレコードが格納しきれなくなると、レコードがオーバフローページに格納される。
しかし、オーバフローページに格納されるレコードの量が増加すると、データベース520へのアクセス効率が悪化する。すなわち、任意のレコードにアクセスする場合、オンライントランザクション処理部130は、まずインデックス510を参照して、レコードが登録されているプライムページを判断する。そして、オンライントランザクション処理部130は、該当するプライムページからアクセス対象のレコードを検索する。
ここで、アクセス対象のレコードが見つからない場合、オンライントランザクション処理部130は、プライムページに登録されているポインタを参照して、関連付けられたオーバフローページを判断する。そして、オンライントランザクション処理部130は、該当するオーバフローページからアクセス対象のレコードを検索する。
このように、オーバフローページに格納されたページにアクセスする場合、オンライントランザクション処理部130において2段階の検索処理が行われる。そのため、アクセスの処理効率が低下する。
そこで、オーバフローページに格納されたレコードの量が増加した場合、プライムページの容量を拡張するように、データベース再編成が行われる。データベースを再編成する際には、データベース520内の各レコードがページ単位でデータベース620に複写される。その際、データベース520内のプライムページの状態が、ページ状態管理テーブル120で管理される。
図6は、ページ状態管理テーブルのデータ構造例を示す図である。ページ状態管理テーブル120には、データベース520内のプライムページのページ番号に対応付けて、そのページの状態が設定されている。状態には、未複写(図中「未」と示す)、複写中(図中「中」と示す)、及び複写済(図中「済」と示す)がある。未複写の状態とは、データベース520からデータベース620へのレコードの複写処理が行われていないことを示す。複写中の状態とは、データベース520からデータベース620へのレコードの複写中であることを示す。複写済みの状態とは、データベース520からデータベース620へのレコードの複写が完了したことを示す。
なお、本実施の形態では、オンライントランザクションを継続して実行しながらデータベース再編成処理を行うことができる。以下、データベース再構成処理と、データベース再構成中のオンライントランザクションについて具体的に説明する。
図7は、データベース再編成処理の手順を示すフローチャートである。以下、図7に示す処理をステップ番号に沿って説明する。
[ステップS11]複写トランザクション処理部110は、ストレージデバイス600にインデックス610を作成する。このインデックス610では、プライムページの数を増加させる。すなわち、データベース520のプライムページよりも多数のプライムページ格納領域621について定義される。プライムページの数が増加することにより、データベースの容量が増加する。
[ステップS12]複写トランザクション処理部110は、移行先ボリュームを決定する。本実施の形態では、ストレージデバイス600を移行先ボリュームとする。
[ステップS13]複写トランザクション処理部110は、ページ状態管理テーブル120の全てのページの状態を「未複写」にする。
[ステップS14]複写トランザクション処理部110は、データベース520のプライムページから、最もページ番号が小さい未複写のページを選択する。
[ステップS15]複写トランザクション処理部110は、ページ状態管理テーブル120におけるステップS14で選択したプライムページの状態を、「複写中」に変更する。
[ステップS16]複写トランザクション処理部110は、複写元のデータベース520内のステップS14で選択したプライムページ内のレコードを、ストレージデバイス600のデータベース620に複写する。この際の複写先のプライムページは、ステップS11で作成したインデックス610に従う。また、複写トランザクション処理部110は、ステップS14で選択したプライムページからポインタで指し示されたオーバフローページに格納されたレコードも、同様にデータベース620に複写する。
[ステップS17]複写トランザクション処理部110は、ステップS14で選択されたプライムページ及びポインタで関連付けられたオーバフローページに格納されていた全てのレコードを複写したか否かを判断する。ページ内の全てのレコード複写が完了したら、処理がステップS18に進められる。複写していないレコードがある場合、処理がステップS16に進められ、該当レコードの複写が行われる。
[ステップS18]複写トランザクション処理部110は、ページ状態管理テーブル120におけるステップS14で選択したプライムページの状態を、「複写済」に変更する。
[ステップS19]複写トランザクション処理部110は、データベース520内の全てのページに対する複写処理が完了したか否かを判断する。全てのページの複写が完了した場合、処理が終了する。複写していないページがある場合、処理がステップS14に進められ、該当ページの複写が行われる。
このように、複写トランザクション処理部110がページ単位で複写を行い、ページ状態管理テーブル120における複写対象のページの状態を適宜更新する。これにより、ページ状態管理テーブル120を参照することで、オンライントランザクション処理部130が各プライムページの状態を認識することができる。オンライントランザクション処理部130が、プライムページの状態を認識することにより、データベース再構成中であっても、データベースに対するレコード更新のトランザクションが可能となる。
図8は、データベース再構成中のレコード更新処理の手順を示すフローチャートである。以下、図8に示す処理をステップ番号に沿って説明する。
[ステップS21]オンライントランザクション処理部130は、インデックス510を参照し、処理対象のレコードが格納されているプライムページを判断する。そして、オンライントランザクション処理部130は、ページ状態管理テーブル120を参照し、該当するプライムページの状態が複写中か否かを判断する。複写中であれば、処理がステップS22に進められる。複写中でなければ、処理がステップS23に進められる。
[ステップS22]アクセス対象のプライムページが複写中の場合、オンライントランザクション処理部130は、所定時間待機後処理をステップS21に進め、再度プライムページの状態を判断する。
[ステップS23]アクセス対象のプライムページが複写中でなければ、オンライントランザクション処理部130は、複写元のデータベース520から更新対象のレコードをリードする。
[ステップS24]オンライントランザクション処理部130は、ステップS23でリードしたレコードの内容を更新し、データベース520にライトする。
[ステップS25]オンライントランザクション処理部130は、ページ状態管理テーブル120を参照し、更新対象のプライムページの状態が複写済か否かを判断する。複写済みであれば、処理がステップS26に進められる。複写済でなければ、処理が終了する。
[ステップS26]オンライントランザクション処理部130は、複写先のデータベース620から更新対象のレコードをリードする。
[ステップS27]オンライントランザクション処理部130は、ステップS26でリードしたレコードの内容を更新し、データベース620にライトする。その後、処理が終了する。
このように、更新対象となるプライムページの状態に応じて、アクセスするデータベースを判断することで、データベース再編成中であってもオンライントランザクションが可能となる。
図9は、データベース更新処理とオンライントランザクションとが同時に実行された場合の処理を示す概念図である。システム管理者からの操作入力等によってデータベース520の再編成要求が出されると、ストレージデバイス600内にインデックス610とデータベース620とが生成される。データベース620は、複数のプライムページを格納するプライムページ格納領域621と複数のオーバフローページを格納するオーバフローページ格納領域622を含んでいる。
その後、複写トランザクション処理部110によって、複写元のデータベース520から複写先のデータベース620へのレコードの複写が開始される。レコードの複写は、1つのプライムページ毎に生成される複写トランザクション111により実行される。
複写トランザクション111がスタートすると、ページ状態管理テーブル120内の複写対象のプライムページ(ページ番号が小さいプライムページから順に、処理対象となる)の状態が複写中に変更され、複写が開始する(ステップS31)。図9の例では、ページ番号が「P0」のプライムページの状態が複写中(図中「中」と示す)に変更されている。
次に、複写トランザクション111では、複写元のデータベース520内の複写対象の
プライムページ、及びそのプライムページからポインタで関連付けられたオーバフローページから、順次レコードが読み出される(ステップS32)。図9の例では、プライムページからレコード番号「R1」,「R2」のレコードが読み出され、オーバフローページからレコード番号「R3」のレコードが読み出される。
次に、読み出されたレコードの内容が、インデックス610に従って複写先のデータベース620に書き込まれる(ステップS33)。図9の例では、複写先のデータベース620に対するインデックス610において、レコード番号「R1」,「R2」,「R3」のレコードは、それぞれページ番号「P0」,「P1」,「P2」に対応付けられている。したがって、レコード番号「R1」のレコードはページ番号「P0」のプライムページに書き込まれ、「R2」のレコードはページ番号「P1」のプライムページに書き込まれ、「R3」のレコードはページ番号「P2」のプライムページに書き込まれる。
複写先のデータベース620に複写元のデータベース520の「P0」のプライムページのレコードが全て格納されると、ページ状態管理テーブル120における該当ページの状態が、複写中から複写済(図中「済」と示す)に変更される。これにより、1つのプライムページに対する複写トランザクションが終了する。
複写トランザクション処理部110は、他のプライムページ(「P1」,「P2」)に対する同様の複写トランザクションを繰り返し実行する。これにより、複写元のデータベース520の先頭ページから最終ページまでのレコード複写が実施される。
ここで、オンライントランザクション処理部130が端末装置21からレコードの更新の処理要求を受け取ると、オンライントランザクション131が開始される。オンライントランザクション131では、複写元のデータベース520にレコードが追加される(ステップS41)。また、ページ状態管理テーブル120が参照され、書き込み対象のプライムページの状態が複写済の場合、複写先のデータベース620にレコードが追加される(ステップS42)。なお、複写先のデータベース620にレコード追加をする際のページ番号は、複写先のデータベース620のインデックス610に基づいて判断される。
ページ状態が複写中の場合は、排他制御によりオンライントランザクション131を待機させる。そして、複写が完了しページ状態が複写済になると、複写先のデータベース620にレコードが追加される。
ページ状態が未複写の場合は、複写先のデータベース620へのレコードの格納処理は行われない。すなわち、複写元のデータベース520だけにレコードが格納される。この場合、複写トランザクション111により複写元のデータベース520から複写先のデータベース620にページの内容が複写され、論理的な等価性が保証される。
このように、再編成単位を最小単位のページ単位にしたことで、オンラインサービスを停止することなくデータベース再編成が可能となる。しかも、複写済のページに対して更新を行う場合、複写元のデータベース520と複写先のデータベース620との双方にレコードが書き込まれる。このとき、オンライントランザクション処理部130により、書き込まれたレコードの内容を含むログが更新後ログ540に記録される。更新後ログ540にレコードが記録されることで、ホストコンピュータ100が異常終了等によりデータベース520の内容が不完全なものとなっても、データベース520の内容を容易に復旧することができる。
さらに、本実施の形態では、レコード更新時において、オンラインで使用している複写元のデータベース520とオンライン再編成対象の複写先のデータベース620とへのレコードの書き込みを、同一トランザクションで処理している。これにより、ジョブキャンセル等があっても、元のデータを保証できる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、ホストコンピュータが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(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 disk)などがある。
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
(付記1) コンピュータに、複数のページそれぞれに対して格納すべきレコードが決められているデータベースを再編成処理を行わせるデータベース再編成プログラムにおいて、
前記コンピュータを、
前記複写元データベースの再編成要求に応じて、複写元データベース内のページを順次選択し、選択した前記ページ内のレコードを複写先データベースに複写すると共に、前記複写元データベース内のページ毎の複写の進捗状況をページ状態管理テーブルに設定するレコード複写手段、
更新レコードの書き込み要求に応じて前記ページ状態管理テーブルを参照し、前記複写元データベース内の書き込み対象ページが未複写の状態であれば前記複写元データベース内の該当ページに対して前記更新レコードを書き込み、前記書き込み対象ページが複写済の状態であれば前記複写元データベースと前記複写先データベースとに前記更新レコードを書き込むレコード書き込み手段、
として機能させることを特徴とするデータベース再編成プログラム。
(付記2) 前記コンピュータを前記レコード書き込み手段として機能させる際、前記書き込み対象ページが複写中の状態であれば複写済に遷移するのを待ち、複写中から複写済の状態に遷移したときに、前記複写元データベースと前記複写先データベースとに前記更新レコードを書き込むことを特徴とする付記1記載のデータベース再編成プログラム。
(付記3) 前記コンピュータを前記レコード複写手段として機能させる際、前記再編成要求を受け取った際に、前記ページ状態管理テーブルにおいて全てのページの状態を未複写とし、複写を開始したページの状態を複写中に変更し、複写が完了したページの状態を複写済にすることを特徴とする付記1記載のデータベース再編成プログラム。
(付記4) 前記複写元データベースは、格納すべきレコードの番号が予め規定されている複数のプライムページと、前記プライムページに格納できなかったレコードが格納される複数のオーバフローページとを有しており、
前記コンピュータを前記レコード複写手段として機能させる際、前記プライムページを順次選択し、選択された前記プライムページと、選択された前記プライムページに格納できなかったレコードが格納された前記オーバフローページとの複写処理を行うことを特徴とする付記1記載のデータベース再編成プログラム。
(付記5) 前記コンピュータを前記レコード複写手段として機能させる際、選択された前記プライムページの複写処理と、選択された前記プライムページに格納できなかったレコードが格納された前記オーバフローページの複写処理とを、同一トランザクションで実行することを特徴とする付記4記載のデータベース再編成プログラム。
(付記6) 前記コンピュータを前記レコード複写手段として機能させる際、前記プライムページを選択したとき、選択された前記プライムページの状態を複写中に変更し、選択された前記プライムページ及び選択された前記プライムページに格納できなかったレコードが格納された前記オーバフローページとの複写処理が共に完了したとき、選択された前記プライムページの状態を複写済に変更することを特徴とする付記4記載のデータベース再編成プログラム。
(付記7) 複数のページそれぞれに対して格納すべきレコードが決められているデータベースを再編成するデータベース再編成方法において、
レコード複写手段が、前記複写元データベースの再編成要求に応じて、複写元データベース内のページを順次選択し、選択した前記ページ内のレコードを複写先データベースに複写すると共に、前記複写元データベース内のページ毎の複写の進捗状況をページ状態管理テーブルに設定し、
レコード書き込み手段が、更新レコードの書き込み要求に応じて前記ページ状態管理テーブルを参照し、前記複写元データベース内の書き込み対象ページが未複写の状態であれば前記複写元データベース内の該当ページに対して前記更新レコードを書き込み、前記書き込み対象ページが複写済の状態であれば前記複写元データベースと前記複写先データベースとに前記更新レコードを書き込む、
ことを特徴とするデータベース再編成方法。
(付記8) 複数のページそれぞれに対して格納すべきレコードが決められているデータベースを再編成するデータベース再編成装置において、
前記複写元データベースの再編成要求に応じて、複写元データベース内のページを順次選択し、選択した前記ページ内のレコードを複写先データベースに複写すると共に、前記複写元データベース内のページ毎の複写の進捗状況をページ状態管理テーブルに設定するレコード複写手段と、
更新レコードの書き込み要求に応じて前記ページ状態管理テーブルを参照し、前記複写元データベース内の書き込み対象ページが未複写の状態であれば前記複写元データベース内の該当ページに対して前記更新レコードを書き込み、前記書き込み対象ページが複写済の状態であれば前記複写元データベースと前記複写先データベースとに前記更新レコードを書き込むレコード書き込み手段と、
を有することを特徴とするデータベース再編成装置。
(付記9) コンピュータに、複数のページそれぞれに対して格納すべきレコードが決められているデータベースを再編成処理を行わせるデータベース再編成プログラムを記録したコンピュータ読み取り可能な記録媒体において、
前記コンピュータを、
前記複写元データベースの再編成要求に応じて、複写元データベース内のページを順次選択し、選択した前記ページ内のレコードを複写先データベースに複写すると共に、前記複写元データベース内のページ毎の複写の進捗状況をページ状態管理テーブルに設定するレコード複写手段、
更新レコードの書き込み要求に応じて前記ページ状態管理テーブルを参照し、前記複写元データベース内の書き込み対象ページが未複写の状態であれば前記複写元データベース内の該当ページに対して前記更新レコードを書き込み、前記書き込み対象ページが複写済の状態であれば前記複写元データベースと前記複写先データベースとに前記更新レコードを書き込むレコード書き込み手段、
として機能させることを特徴とするデータベース再編成プログラムを記録したコンピュータ読み取り可能な記録媒体。
実施の形態に適用される発明の概念図である。 本発明の実施の形態のシステム構成例を示す図である。 データベースの再構成を行うホストコンピュータのハードウェア構成例を示す図である。 本実施の形態を実現するための機能を示すブロック図である。 インデックスとデータベースとのデータ構造を示す図である。 ページ状態管理テーブルのデータ構造例を示す図である。 データベース再編成処理の手順を示すフローチャートである。 データベース再構成中のレコード更新処理の手順を示すフローチャートである。 データベース更新処理とオンライントランザクションとが同時に同時に実行された場合の処理を示す概念図である。 従来の一般的なデータベース再構築方法を示す図である。 アクセスを停止せずにデータベース再編成を実行する方式を示す図である。
符号の説明
1 第1の記憶手段
1a 複写元データベース
1b インデックス
2 第2の記憶手段
2a 複写先データベース
2b インデックス
3 レコード複写手段
4 ページ状態管理テーブル
5 レコード書き込み手段
6a,6b,6c 更新レコード

Claims (5)

  1. コンピュータに、複数のページそれぞれに対して格納すべきレコードが決められているデータベースを再編成処理を行わせるデータベース再編成プログラムにおいて、
    前記コンピュータを、
    前記複写元データベースの再編成要求に応じて、複写元データベース内のページを順次選択し、選択した前記ページ内のレコードを複写先データベースに複写すると共に、前記複写元データベース内のページ毎の複写の進捗状況をページ状態管理テーブルに設定するレコード複写手段、
    更新レコードの書き込み要求に応じて前記ページ状態管理テーブルを参照し、前記複写元データベース内の書き込み対象ページが未複写の状態であれば前記複写元データベース内の該当ページに対して前記更新レコードを書き込み、前記書き込み対象ページが複写済の状態であれば前記複写元データベースと前記複写先データベースとに前記更新レコードを書き込むレコード書き込み手段、
    として機能させることを特徴とするデータベース再編成プログラム。
  2. 前記コンピュータを前記レコード書き込み手段として機能させる際、前記書き込み対象ページが複写中の状態であれば複写済に遷移するのを待ち、複写中から複写済の状態に遷移したときに、前記複写元データベースと前記複写先データベースとに前記更新レコードを書き込むことを特徴とする請求項1記載のデータベース再編成プログラム。
  3. 前記複写元データベースは、格納すべきレコードの番号が予め規定されている複数のプライムページと、前記プライムページに格納できなかったレコードが格納される複数のオーバフローページとを有しており、
    前記コンピュータを前記レコード複写手段として機能させる際、前記プライムページを順次選択し、選択された前記プライムページと、選択された前記プライムページに格納できなかったレコードが格納された前記オーバフローページとの複写処理を行うことを特徴とする請求項1記載のデータベース再編成プログラム。
  4. 複数のページそれぞれに対して格納すべきレコードが決められているデータベースを再編成するデータベース再編成方法において、
    レコード複写手段が、前記複写元データベースの再編成要求に応じて、複写元データベース内のページを順次選択し、選択した前記ページ内のレコードを複写先データベースに複写すると共に、前記複写元データベース内のページ毎の複写の進捗状況をページ状態管理テーブルに設定し、
    レコード書き込み手段が、更新レコードの書き込み要求に応じて前記ページ状態管理テーブルを参照し、前記複写元データベース内の書き込み対象ページが未複写の状態であれば前記複写元データベース内の該当ページに対して前記更新レコードを書き込み、前記書き込み対象ページが複写済の状態であれば前記複写元データベースと前記複写先データベースとに前記更新レコードを書き込む、
    ことを特徴とするデータベース再編成方法。
  5. 複数のページそれぞれに対して格納すべきレコードが決められているデータベースを再編成するデータベース再編成装置において、
    前記複写元データベースの再編成要求に応じて、複写元データベース内のページを順次選択し、選択した前記ページ内のレコードを複写先データベースに複写すると共に、前記複写元データベース内のページ毎の複写の進捗状況をページ状態管理テーブルに設定するレコード複写手段と、
    更新レコードの書き込み要求に応じて前記ページ状態管理テーブルを参照し、前記複写元データベース内の書き込み対象ページが未複写の状態であれば前記複写元データベース内の該当ページに対して前記更新レコードを書き込み、前記書き込み対象ページが複写済の状態であれば前記複写元データベースと前記複写先データベースとに前記更新レコードを書き込むレコード書き込み手段と、
    を有することを特徴とするデータベース再編成装置。
JP2004132350A 2004-04-28 2004-04-28 データベース再編成プログラム、データベース再編成方法、及びデータベース再編成装置 Expired - Fee Related JP4390618B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004132350A JP4390618B2 (ja) 2004-04-28 2004-04-28 データベース再編成プログラム、データベース再編成方法、及びデータベース再編成装置
US10/990,270 US7949632B2 (en) 2004-04-28 2004-11-16 Database-rearranging program, database-rearranging method, and database-rearranging apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004132350A JP4390618B2 (ja) 2004-04-28 2004-04-28 データベース再編成プログラム、データベース再編成方法、及びデータベース再編成装置

Publications (2)

Publication Number Publication Date
JP2005316624A JP2005316624A (ja) 2005-11-10
JP4390618B2 true JP4390618B2 (ja) 2009-12-24

Family

ID=35188350

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004132350A Expired - Fee Related JP4390618B2 (ja) 2004-04-28 2004-04-28 データベース再編成プログラム、データベース再編成方法、及びデータベース再編成装置

Country Status (2)

Country Link
US (1) US7949632B2 (ja)
JP (1) JP4390618B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4854973B2 (ja) 2005-03-09 2012-01-18 富士通株式会社 記憶制御プログラム、記憶制御方法、記憶制御装置および記憶制御システム
JP4693540B2 (ja) 2005-08-04 2011-06-01 富士通株式会社 データベース再構成装置、およびデータベース再構成プログラム
JP4579998B2 (ja) 2008-03-31 2010-11-10 富士通株式会社 リストア管理プログラム、リストア管理方法およびリストア管理装置
IL191169A0 (en) * 2008-04-30 2009-02-11 Privacy Inside Ltd A method and a system for data verification and/or authentication
JP4870190B2 (ja) * 2009-04-27 2012-02-08 株式会社日立製作所 データ処理方法、計算機、及びデータ処理プログラム
CN102004743B (zh) * 2009-09-02 2013-08-14 中国银联股份有限公司 一种用于异构数据库之间数据复制的系统及方法
US10929359B2 (en) * 2018-08-24 2021-02-23 Ca, Inc. Dynamically reorganizing a dataset using online migration while allowing concurrent user access to data in the dataset

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5193162A (en) * 1989-11-06 1993-03-09 Unisys Corporation Cache memory with data compaction for use in the audit trail of a data processing system having record locking capabilities
JPH05151037A (ja) 1991-06-24 1993-06-18 Nec Corp 業務処理中データベース再編成処理方式
CA2285096C (en) * 1991-11-12 2000-05-09 Ibm Canada Limited-Ibm Canada Limitee Logical mapping of data objects using data spaces
JPH0667950A (ja) 1992-08-13 1994-03-11 Hitachi Ltd データベース再編成方式
JP2708386B2 (ja) 1994-03-18 1998-02-04 インターナショナル・ビジネス・マシーンズ・コーポレイション 同時更新及び複写手順を通して重複データベースを回復させる方法及び装置
JP3239924B2 (ja) 1995-07-24 2001-12-17 日本電気株式会社 リレーショナルデータベースアクセス制御方式
JPH10207754A (ja) * 1997-01-16 1998-08-07 Fujitsu Ltd 更新系データベースの複製方式
US6029171A (en) * 1997-02-10 2000-02-22 Actioneer, Inc. Method and apparatus for group action processing between users of a collaboration system
JPH10333948A (ja) * 1997-04-01 1998-12-18 Kokusai Zunou Sangyo Kk 仮想データベース空間システムおよびデータベースプログラムを記録したコンピュータ読み取り可能な記録媒体
JP3598202B2 (ja) 1997-05-30 2004-12-08 株式会社日立製作所 オンラインシステム
JP3667953B2 (ja) 1997-09-26 2005-07-06 富士通株式会社 データベース再編成装置及びコンピュータ読み取り可能な記録媒体
US6161109A (en) * 1998-04-16 2000-12-12 International Business Machines Corporation Accumulating changes in a database management system by copying the data object to the image copy if the data object identifier of the data object is greater than the image identifier of the image copy
US6289357B1 (en) * 1998-04-24 2001-09-11 Platinum Technology Ip, Inc. Method of automatically synchronizing mirrored database objects
US6393415B1 (en) * 1999-03-31 2002-05-21 Verizon Laboratories Inc. Adaptive partitioning techniques in performing query requests and request routing
US6622142B1 (en) * 1999-04-13 2003-09-16 Staktek Group, L.P. Database utilities
JP4046893B2 (ja) 1999-05-28 2008-02-13 富士通株式会社 データベース複写装置及びデータベース複写方法並びにデータベース複写プログラムを記録したコンピュータ読み取り可能な記録媒体
US6782387B1 (en) * 1999-08-06 2004-08-24 Ricoh Company, Ltd. System for document management and information processing
US6671680B1 (en) * 2000-01-28 2003-12-30 Fujitsu Limited Data mining apparatus and storage medium storing therein data mining processing program
US6801921B2 (en) * 2000-09-08 2004-10-05 Hitachi, Ltd. Method and system for managing multiple database storage units
US7765180B2 (en) 2002-09-10 2010-07-27 Annex Systems Incorporated Database re-organizing system and database

Also Published As

Publication number Publication date
US20050246385A1 (en) 2005-11-03
JP2005316624A (ja) 2005-11-10
US7949632B2 (en) 2011-05-24

Similar Documents

Publication Publication Date Title
JP6708929B2 (ja) ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム
US5379412A (en) Method and system for dynamic allocation of buffer storage space during backup copying
EP0786111B1 (en) Snapshot of data stored on a mass storage system
US8074035B1 (en) System and method for using multivolume snapshots for online data backup
US20060047926A1 (en) Managing multiple snapshot copies of data
US6463573B1 (en) Data processor storage systems with dynamic resynchronization of mirrored logical data volumes subsequent to a storage system failure
US7694087B2 (en) Duplicate data storing system, duplicate data storing method, and duplicate data storing program for storage device
US7698319B2 (en) Database system management method, database system, database device, and backup program
JP2005301497A (ja) ストレージ管理装置、リストア方法及びそのプログラム
US7774316B2 (en) Filesystem snapshot enhancement to improve system performance
US20150301758A1 (en) Metadata for data storage array
US20070061540A1 (en) Data storage system using segmentable virtual volumes
US7433902B2 (en) Non-disruptive backup copy in a database online reorganization environment
JP2005529410A (ja) 複数の同時にアクティブなファイルシステム
JP4402103B2 (ja) データ記憶装置、そのデータ再配置方法、プログラム
JP2009116796A (ja) データ読出し方法、データ管理システム及びストレージシステム
JP2006268139A (ja) データ複製装置、方法及びプログラム並びに記憶システム
US8140886B2 (en) Apparatus, system, and method for virtual storage access method volume data set recovery
US7093090B1 (en) Method for creating a virtual data copy of a volume being restored
US20130198473A1 (en) Backup copy enhancements to reduce primary version access
JP2005148854A (ja) ファイルシステム及びプログラム
JP4854973B2 (ja) 記憶制御プログラム、記憶制御方法、記憶制御装置および記憶制御システム
JP4390618B2 (ja) データベース再編成プログラム、データベース再編成方法、及びデータベース再編成装置
US7516133B2 (en) Method and apparatus for file replication with a common format
JP4394467B2 (ja) ストレージシステム、サーバ装置及び先行コピーデータ生成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060925

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090512

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: 20091006

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: 20091006

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121016

Year of fee payment: 3

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: 20121016

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131016

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees