(57)【要約】所与のデータベースシステムが別のデータベースシステムからのデータブロックにアクセスできる機構がここに提供され、上記所与のデータベースシステムからのデータブロックと、上記別のデータベースシステムからのデータブロックとは異なるサイズを有する。この発明の一局面に従うと、上記別のデータベースシステム内のテーブルスペースにデータブロックが入っている。テーブルスペースは上記別のデータベースシステムから切離されて上記所与のデータベース内に統合され、この所与のデータベースは異なるサイズのデータブロックに記憶されたデータを処理することができる。
2004530216.tif 000002
【特許請求の範囲】
【請求項１】
データベースシステムが他のデータベースシステムからのデータにアクセスする方法であって、
第１のデータベースシステムが、第１のデータブロックサイズを有する第１のデータブロック内に第１のデータを直接記憶するステップと、
前記第１のデータベースシステムが、第２のデータベースシステムが第２のデータを直接記憶した第２のデータブロックのコピーに、直接アクセスするステップと、
前記第２のデータブロックが、前記第１のデータブロックサイズとは異なる第２のデータブロックサイズでの少なくとも１つのデータブロックを有するステップとを含む、方法。
【請求項２】
さらに、前記第２のデータブロックの前記コピーを、前記第２のデータブロックの前記コピーを含むテーブルスペースとして、前記第１のデータベースシステム内に統合するステップを含む、請求項１に記載の方法。
【請求項３】
第２のデータブロックのコピーにアクセスするステップは、前記第２のデータブロックの前記コピー内のユーザデータを記憶するステップを含む、請求項１に記載の方法。
【請求項４】
前記方法はさらに、前記第２のデータベースシステムから１つ以上のテーブルスペースを切離すステップを含み、前記１つ以上のテーブルスペースは前記第２のデータブロックを含む、請求項１に記載の方法。
【請求項５】
前記第２のデータブロックの前記コピーの各データブロックは前記第２のデータブロックサイズを有する、請求項１に記載の方法。
【請求項６】
前記第１のデータベースシステムにとって直接アクセス可能なデータブロックについて複数のブロックサイズを指定するメタデータを生成するステップをさらに含む、請求項１に記載の方法。
【請求項７】
前記メタデータはテーブルスペースを定義し、かつ、前記テーブルスペースの各テーブルスペースにつき、前記テーブルスペース内のすべてのデータブロックについて特定のデータブロックサイズを指定し、
前記方法はさらに、前記第２のデータブロックの前記コピーを、前記第２のデータブロックの前記コピーを含む少なくとも１つのテーブルスペースとして、前記第１のデータベースシステム内に統合するステップを含み、
前記統合するステップは、前記少なくとも１つのテーブルスペースの前記第２のデータブロックサイズを反映するように前記メタデータを変更するステップを含む、請求項６に記載の方法。
【請求項８】
前記第１のデータベースシステムはデータウェアハウスであり、前記第２のデータベースシステムは、前記データウェアハウスのためのソースデータベースシステムである、請求項１に記載の方法。
【請求項９】
前記第２のデータブロックの前記コピーを、前記第２のデータブロックの前記コピーを含むテーブルスペースとして、前記データウェアハウス内に統合するステップをさらに含む、請求項８に記載の方法。
【請求項１０】
前記第１のデータブロックが第１のデータファイルに入っており、前記第２のデータブロックが第２のデータファイルに入っており、
前記方法はさらに、
前記第１のデータファイルと前記第１のデータブロックサイズとの間、および
前記第２のデータファイルと前記第２のデータブロックサイズとの間における対応付けを生成するステップを含む、請求項１に記載の方法。
【請求項１１】
前記第１のデータブロックが第１のテーブルスペースに入っており、前記第２のデータブロックが第２のテーブルスペースに入っており、
前記方法はさらに、
前記第１のテーブルスペースと前記第１のデータブロックサイズとの間、および
前記第２のテーブルスペースと前記第２のデータブロックサイズとの間における対応付けを生成するステップを含む、請求項１に記載の方法。
【請求項１２】
前記第１のデータベースシステムはバッファキャッシュを含み、前記第１のデータベースシステムは前記バッファキャッシュ内で多数のサイズのデータブロックを記憶し、
前記方法はさらに、前記第１のデータブロックおよび前記第２のデータブロックを前記バッファキャッシュ内で記憶するステップを含む、請求項１に記載の方法。
【請求項１３】
データベースシステムが他のデータベースシステムからのデータにアクセスするための、１つ以上の命令シーケンスを担うコンピュータ可読媒体であって、１つ以上のプロセッサによる前記１つ以上の命令シーケンスの実行は、前記１つ以上のプロセッサに、
第１のデータベースシステムが、第１のデータブロックサイズを有する第１のデータブロック内に第１のデータを直接記憶するステップと、
前記第１のデータベースシステムが、第２のデータベースシステムが第２のデータを直接記憶した第２のデータブロックのコピーに、直接アクセスするステップと、
前記第２のデータブロックが、前記第１のデータブロックサイズとは異なる第２のデータブロックサイズでの少なくとも１つのデータブロックを有するステップとを実行させる、コンピュータ可読媒体。
【請求項１４】
さらに、前記第２のデータブロックの前記コピーを、前記第２のデータブロックの前記コピーを含むテーブルスペースとして、前記第１のデータベースシステム内に統合するステップを実行するための命令を含む、請求項１３に記載のコンピュータ可読媒体。
【請求項１５】
第２のデータブロックのコピーにアクセスするステップは、前記第２のデータブロックの前記コピー内のユーザデータを記憶するステップを含む、請求項１３に記載のコンピュータ可読媒体。
【請求項１６】
前記コンピュータ可読媒体はさらに、前記第２のデータベースシステムから１つ以上のテーブルスペースを切離すステップを実行するための命令を含み、前記１つ以上のテーブルスペースは前記第２のデータブロックを含む、請求項１３に記載のコンピュータ可読媒体。
【請求項１７】
前記第２のデータブロックの前記コピーの各データブロックは前記第２のデータブロックサイズを有する、請求項１３に記載のコンピュータ可読媒体。
【請求項１８】
前記第１のデータベースシステムにとって直接アクセス可能なデータブロックについて複数のブロックサイズを指定するメタデータを生成するステップを実行するための命令をさらに含む、請求項１３に記載のコンピュータ可読媒体。
【請求項１９】
前記メタデータはテーブルスペースを定義し、かつ、前記テーブルスペースの各テーブルスペースにつき、前記テーブルスペース内のすべてのデータブロックについて特定のデータブロックサイズを指定し、
コンピュータ可読媒体はさらに、前記第２のデータブロックの前記コピーを、前記第２のデータブロックの前記コピーを含む少なくとも１つのテーブルスペースとして、前記第１のデータベースシステム内に統合するステップを実行するための命令を含み、
前記統合するステップは、前記少なくとも１つのテーブルスペースの前記第２のデータブロックサイズを反映するように前記メタデータを変更するステップを含む、請求項１８に記載のコンピュータ可読媒体。
【請求項２０】
前記第１のデータベースシステムはデータウェアハウスであり、前記第２のデータベースシステムは、前記データウェアハウスのためのソースデータベースシステムである、請求項１３に記載のコンピュータ可読媒体。
【請求項２１】
前記第２のデータブロックの前記コピーを、前記第２のデータブロックの前記コピーを含むテーブルスペースとして、前記データウェアハウス内に統合するステップを実行するための命令をさらに含む、請求項２０に記載のコンピュータ可読媒体。
【請求項２２】
前記第１のデータブロックが第１のデータファイルに入っており、前記第２のデータブロックが第２のデータファイルに入っており、
前記コンピュータ可読媒体はさらに、
前記第１のデータファイルと前記第１のデータブロックサイズとの間、および
前記第２のデータファイルと前記第２のデータブロックサイズとの間における対応付けを生成するステップを実行するための命令を含む、請求項１３に記載のコンピュータ可読媒体。
【請求項２３】
前記第１のデータブロックが第１のテーブルスペースに入っており、前記第２のデータブロックが第２のテーブルスペースに入っており、
前記コンピュータ可読媒体はさらに、
前記第１のテーブルスペースと前記第１のデータブロックサイズとの間、および
前記第２のテーブルスペースと前記第２のデータブロックサイズとの間における対応付けを生成するステップを実行するための命令を含む、請求項１３に記載のコンピュータ可読媒体。
【請求項２４】
前記第１のデータベースシステムはバッファキャッシュを含み、前記第１のデータベースシステムは前記バッファキャッシュ内で多数のサイズのデータブロックを記憶し、
前記コンピュータ可読媒体はさらに、前記第１のデータブロックおよび前記第２のデータブロックを前記バッファキャッシュ内で記憶するステップを含む、請求項１３に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
この発明はデータベースシステムに関し、特にデータベースシステム間でデータを効率的に移動させる技術に関する。
【背景技術】
【０００２】
発明の背景
現在の社会において、大量のデータを記憶および検索できることはコンピュータの最も重要な機能に属する。これらの機能を実行するには、一般にデータベースを用いてデータベース内でデータを検索および記憶する。データベースシステムはこれらの機能の実行に極めて大きな成果を挙げており、以前は想像もされなかった速度および量でデータを検索する能力を社会にもたらし、情報に対し空前のレベルのアクセスを社会に与えてきた。データベースシステムの成功により、もっと大量のデータを処理するさらに高速で効率的なデータベースシステムに対する飽くなき要求が生じている。
【０００３】
大量のデータに対する効率的なアクセスを提供する機構の１つがデータウェアハウスである。データウェアハウスは未処理データの変換を表わす。ウェアハウスにより使用される未処理データは、典型的に「ソース」データベースシステム、たとえばオンライントランザクション処理（“ＯＬＴＰ”）データベースなどに由来する。ＯＬＴＰデータベースシステムは「リアルタイムな」業務活動を志向したものであるのに対し、データウェアハウスは、より長期的で経営に関する業務問題に答えることを志向したものである。データウェアハウスは、ＯＬＴＰデータベースシステムからの情報によって定期的に更新されて最新の状態を保つ。これら更新は大量のデータ転送を伴う。
【０００４】
データ転送の従来技術としてコマンド生成技術がある。コマンド生成技術では、「移出」データベースシステムが挿入コマンドのファイルを生成する。これら挿入コマンドはデータベース言語、たとえば構造化問合せ言語（“ＳＱＬ”）などに適合している。各々のレコードを移出するには、挿入コマンドは、移出されるレコードのコピーを生成するのに必要な値によってレコードの作成を指定する。データを移入するには、データベース言語で書かれたコマンドを実行できる「移入」データベースシステムがファイルを走査し、各々の挿入コマンドを実行する。
【０００５】
典型的に、移出すべき各レコードにつき挿入コマンドを実行することは遅いプロセスであり、大規模なデータベースの場合には数日にわたることもある。データが移出されている間、データに対するアクセスは制約を受ける。したがって、データへのアクセスを求めているデータベースのユーザは大きな影響を受けることになる。このため、従来のデータ移出技術は相当煩わしいことがある。
【０００６】
データをデータウェアハウスに移動させる従来技術としては、データウェアハウスの管理に用いられるアプリケーションで利用可能なツールを使用することに関するものもある。これらツールはソースデータベースとデータウェアハウスとの間でデータを転送し、ここで用いられるプロセスは、ソースデータベースシステムからデータを抽出する段階と、抽出したデータを変換する段階と、変換したデータをデータウェアハウス内にロードする段階との３段階を有する。これら段階は、抽出（extraction）、変換（transformation）およびロード（loading）の頭文字をとってＥＴＬと総称される。一般にＥＴＬツールは、ソースデータベースシステムからデータを抽出するために、データ検索の問合せをソースデータベースシステムに発行する。データをデータウェアハウスにロードするためには、ＥＴＬツールは挿入コマンドをデータウェアハウスに対して発行し、ソースデータベースシステムから検索したデータをロードする。ＥＴＬツールの使用はコマンド生成技術よりも効率的であるかもしれないが、データ転送のプロセスにはやはり不所望に長い時間が必要となることがある。
【０００７】
従来のデータ転送技術よりもはるかに効率的な新規の技術として、トランスポータブル・テーブルスペースと呼ばれるものがある。テーブルスペースとは、データベースオブジェクトのためのデータを記憶するのに用いられる記憶コンテナ（たとえばデータファイル）の集合体である。データベースオブジェクトとは、データベースシステムにより管理されるオブジェクトである。トランスポータブル・テーブルスペースとは、テーブルスペースをコピーして別のデータベースシステムに統合、または換言すると別のデータベースシステムに「プラグイン」することを可能にする技術である。この能力により、ファイルをコピーするためのオペレーティングシステムユーティリティを用いてデータをコピーすることができるが、これは、問合せおよび挿入ステートメントを実行することでデータを抽出およびロードするプロセスよりもはるかに高速で実行される。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし残念ながら、テーブルスペースを１つのデータベースシステムから別のデータベースシステムにプラグインすることは常に可能ではなく、なぜならデータベースシステムは、同じデータブロックサイズに対処するようには構成されていないことがあるからである。データベースブロックとは、１つ以上のデータベースレコード（たとえば行）を記憶するために割当てられる記憶スペースのアトミックな単位である。典型的にデータベースシステムは、或る特定のサイズのデータブロックからなるデータベースに対して演算するように構成されている。システムによっては、この特定のサイズはデータベース作成の際にユーザによって構成される。しかし、データベースが一旦作成されるとデータブロックサイズは変更不可能である。したがって、所与のサイズのデータブロックからなるテーブルスペースは、異なるブロックサイズのデータブロックを予想したデータベースシステムにはプラグインされ得ない。
【０００９】
この制約を克服するために、データウェアハウスおよびそのソースデータベースシステムの両方についてデータブロックサイズを管理することが可能である。ソースデータベースシステムとデータウェアハウスとは同じサイズのデータブロックで構成され得る。しかし通常は効率のため、データウェアハウスにはより大きなブロックサイズを、ＯＬＴＰシステムにはより小さなブロックサイズを与えることが望ましい。この理由から、データウェアハウスは典型的にＯＬＴＰシステムよりも大きなブロックサイズを有する。
【００１０】
以上のことに鑑み、所与のサイズのテーブルスペースまたは任意のデータブロック集合体を、異なるサイズのデータブロックに対して演算するデータベースシステムへとプラグインできる機構を提供することが明らかに望ましい。
【課題を解決するための手段】
【００１１】
発明の概要
所与のデータベースシステムが別のデータベースシステムからのデータブロックにアクセスできる機構がここに記載され、ここで上記所与のデータベースシステムからのデータブロックと、上記別のデータベースシステムからのデータブロックとは異なるサイズを有する。この発明の一局面に従うと、上記別のデータベースシステム内のデータブロックは或るテーブルスペース内に入っている。このテーブルスペースが上記別のデータベースシステムから切離され、上記所与のデータベースに統合されるが、この所与のデータベースは、異なったサイズのデータブロックに記憶されたデータを処理することが可能である。
【発明を実施するための最良の形態】
【００１２】
この発明を、添付の図面の図において限定でなく例として示す。図中において同様の参照番号は同様の要素を指す。
【００１３】
好ましい実施例の詳細な説明
データベース間でデータを転送するための方法および装置が記載される。以下の記載では、この発明の完全な理解をもたらすため多くの特定の詳細を説明上記載する。しかし当業者であれば、これら特定の詳細なしにこの発明が実施可能であることが明らかであろう。他の場合には、この発明を不必要に不明瞭にすることを避けるため周知の構造および装置をブロック図の形で示す。
【００１４】
所与のデータベースシステムが別のデータベースシステムからのデータブロックにアクセスできる機構がここに記載され、ここで上記所与のデータベースシステムからのデータブロックと、上記別のデータベースシステムからのデータブロックとは異なるサイズを有する。この発明の一実施例に従うと、これらの技術は、異なったサイズのデータブロックによるデータベースに対処するデータベースシステムの使用に関する。データベースシステムの一例を用いてこれらの技術を説明する。
【００１５】
データベースシステム例
図１は、この発明の一実施例を例示するために用いるデータベースシステム例の概観を与えるブロック図である。データベースシステム１０１はデータベースオブジェクト内のデータを処理および記憶する。データベースオブジェクトは、データの記憶、検索および処理を目的としてデータベースシステムにより管理されるオブジェクトである。データベースオブジェクトの例には、データベースシステムによって実行され得るテーブル、インデックスおよびコードモジュールが含まれる。典型的にデータベースオブジェクトは、静的記憶装置において、データファイル内の１つ以上のデータブロックに記憶される。
【００１６】
データベースシステム１０１は、データを保持するデータブロックに対して演算を実行することでデータベースオブジェクト内のデータに対して演算を実行する。データブロックに対する演算は、静的記憶装置からバッファキャッシュ１９０内に読込まれたデータブロックのコピーに対して実行される。データブロックのコピーはバッファキャッシュ１９０内のバッファに記憶される。バッファは、データベースシステム１０１に同時に接続されているすべてのユーザプロセスにより共用される。データブロック内に記憶されるデータ項目、たとえばテーブル内の行に関わる演算をデータベースシステム１０１が実行するたびに、データブロックのコピーがバッファキャッシュ１９０にロードされる。演算がデータ項目を変更する場合、この変更はバッファキャッシュ１９０に記憶されたデータブロックのコピーに対して行なわれる。この後、変更を加えられたデータブロックを、データベースライタがバッファキャッシュ１９０からディスク上のデータファイルに書込む。
【００１７】
特定の組のデータベースオブジェクトについてのデータは、１つ以上のテーブルスペース、たとえばテーブルスペース１３０，１４０，１５０から割当てられた空間に記憶され得る。テーブルスペースとは、データベースオブジェクトのためのデータを記憶するのに用いられる記憶コンテナ（たとえばデータファイル）の集合体である。たとえばテーブルスペース１３０には、データファイル１３０−１〜１３０−４が入っている。特定のテーブルスペースがデータベースオブジェクトのためのデータを保持しているとき、データベースオブジェクトはこのテーブルスペースにあると言うことができる。
【００１８】
データベースメタデータ１１０は、データベースシステムの構成を記述するメタデータである。データベースメタデータ１１０はたとえば、データベースオブジェクト（たとえばテーブルおよびテーブルについてのインデックス）およびテーブルスペースを定義し、さらにたとえばテーブルまたはインデックスのためのデータを記憶するのにどのテーブルスペースを用いるべきかを定義する。データベースメタデータは、ユーザからのデータ定義コマンドを受取ることへの応答として生成される。ユーザはデータベースコマンドをデータベースシステムに対して発行し、データベースシステムの構成に変更を加えることによって、たとえばデータベースシステム内のデータベースオブジェクト、データベースオブジェクトの属性、および、データベースオブジェクトのためのデータを保持するテーブルスペースなどを定義する。データ定義コマンドは、ＳＱＬなどのデータベースシステムにより認識されるデータ定義言語に適合している必要がある。
【００１９】
データベースシステム１０１は、データベースの演算を停止させたり、またはデータベース情報のディスクへの書込に影響を与えかねない問題に遭遇することがある。一般的な障害の種類には、ユーザ、サーバもしくは、データベースインスタンスのバックグラウンドプロセスにおける障害に関する、プロセス障害や、または、通常のデータベース演算に必要な物理ファイルの読み書きにかかわる物理的問題に関する、媒体障害が含まれる。データベース演算および管理の重要な局面としては、遭遇したさまざまな種類の障害からのデータベースの回復に関するものがある。
【００２０】
データベースシステム１０１が障害からの回復を管理するために用いる機構としてログ機構がある。ログ機構は、データベースシステムについてログを維持することにより、データベースシステムに対して行なわれた変更すべてを記録することを伴う。いくつかの異なる演算ログを維持することでさまざまなデータベース維持機能を実行する。具体的には、やり直しログを用いてデータベース演算を記憶し、これら演算を再び実行することで、障害後にデータベースをその障害前の状態へと復元できる。たとえば、或るトランザクションがバッファキャッシュ１９０内のデータに変更を加えると、この変更を特定するやり直しエントリがディスク上のやり直しログに記憶される。バッファキャッシュ内の更新されたデータがディスクに記憶される前に障害が起これば、バッファキャッシュ１９０内にある変更を加えられたデータは失われるおそれがある。このような状況下で、回復プロセス中にデータベースは、失われた変更を含むようにやり直しエントリに基づいて変更がなされ得る。
【００２１】
ログシステムの基本的なコンポーネントは、やり直しエントリおよび取消しエントリを記憶するのに用いる１つ以上のログファイルからなる群である。ログファイル群１８０はテーブルスペース１５０内にデータファイル１５０−１〜１５０−４を含む。やり直しエントリおよび取消しエントリは、データベース変更を低いレベルで表したものを記憶する。やり直しエントリの中には、データ演算、たとえばＩＮＳＥＲＴ，ＵＰＤＡＴＥ，ＤＥＬＥＴＥ，ＣＲＥＡＴＥ，ＡＬＴＥＲ，ＤＲＯＰなどにより行なわれた変更をやり直すのに必要な情報が入っている。逆に取消しエントリには、データ演算により行なわれた変更を取消すのに必要な情報が入っている。静的記憶装置の中にあるやり直しログファイル群内のやり直しエントリまたは取消しエントリをやり直しログと呼ぶ。
【００２２】
トランスポータブル・テーブルスペースの使用
トランスポータブル・テーブルスペースとは、データベースシステム間でデータを転送するための技術であって、「ソースデータベースシステム」からのテーブルスペースのコピーを「ターゲットデータベースシステム」に統合することに基づく技術を指す。テーブルスペースのコピーの統合はターゲットデータベースのデータベースメタデータの変更を伴い、ここでデータを変更または追加することでこのテーブルスペースを、データベースシステムの用いる任意の他のテーブルスペースとして定義するが、これについては後でより詳細に説明する。テーブルスペース統合技術の例としては、「プラグ可能テーブルスペース(Pluggable Tablespace）」および「テーブルスペース相対データベースポインタ（Tablespace-Relative Database Pointers）」に記載されたものがある。
【００２３】
データベースメタデータを変更するには多種多様な技術が使用可能である。ソースデータベースシステムにおいて利用可能なユーティリティを実行することで、メタデータを「移出制御ファイル」に移出することが可能であり、ターゲットデータベースシステムにおけるユーティリティを実行することで、移出制御ファイルからメタデータを復元することが可能である。これに代えてテーブルスペース内に転送されるデータとともに移出メタデータを含ませることもでき、ターゲットデータベースはテーブルスペースに含まれたデータからメタデータを復元することになる。ユーザが手動でターゲットデータベースシステム上においてメタデータを復元することもできる。最後に、ソースデータベースシステム上のユーティリティがテーブルスペース内のデータを調べてメタデータを導出することもできる。
【００２４】
ここで用いる「コピー」という用語は、ソースデータとソースデータの複製との両方を指す。たとえばソースデータファイルのコピーがソースデータファイルそのものであることもあり、または別のデータファイルであって、容易に利用可能なコピーユーティリティ、たとえばデータファイルコピー作成用のオペレーティングシステムユーティリティを用いて生成された複製であることもある。
【００２５】
テーブルスペースをデータベースに統合するためには、テーブルスペースを元のソースデータベースから切離すことも、または別個の統合用コピーを作成することもある。コピーを作っている間、テーブルスペースに対する演算は読出専用演算に制限される必要がある。
【００２６】
統合すべきテーブルスペースのコピーが、切離されたソーステーブルスペースである場合、ソースデータベースシステムがデータの記憶にこのテーブルスペースをもはや使用しないようにソースデータベースを構成する必要があるだろう。ソースデータベースを構成することには、ソースデータベースシステム内のデータベースメタデータの変更が伴うことがあり、これを行なうには、たとえばこのテーブルスペースをソースデータベースシステムの一部として定義するデータを削除したり、またはテーブルスペースがもはや使用されないことを示すフラグを立てたりする。
【００２７】
統合されるのが切離されたテーブルスペースまたはその別個のコピーである理由としては、多くのデータベースシステムが、他のデータベースシステムと同時にデータファイルに直接アクセスするようには構成されていないことがある。「直接アクセス」という用語は、或るデータコンテナ内のデータ、たとえばデータファイル内のデータに対して、このデータを別のデータベースシステムが提供するよう要求せずにアクセスすることを指す。データベースシステムがデータコンテナに直接アクセスする例として、コンピュータ上で走行するデータベースシステムがオペレーティングシステム機能を呼出して、このコンピュータのバスに接続されたディスクドライブか、ネットワーク経由でこのコンピュータに結合されたサーバに接続されたディスクドライブかに常駐するデータファイルにアクセスすることがある。データファイルへのアクセスが直接的でない例としては、テーブルからデータを要求する問合せを別のデータベースに発行することがある。
【００２８】
トランスポータブル・データベース用の参照方式
参照（reference）とは、データベース内に記憶された特定のデータ項目の場所を示すデータである。参照はデータベースシステムにより多くの場面で使用される。たとえばデータベースシステムは、テーブルの或る列の或るインデックス内の参照を使用できる。このインデックスは、この列についての値を、この値が入っているテーブル内の行に対応付ける。インデックス内の各エントリは特定の値を或る行に対応付け、この行の場所についての参照を記憶する。
【００２９】
或るデータ項目についての参照には、このデータ項目が入っている特定のデータコンテナを識別する情報が入っていることがあり得る。このような情報はデータベース相対ファイル番号を含み得る。データベース相対ファイル番号とは、データベースシステムがデータファイルを、このデータベースシステムの用いる他のあらゆるデータファイルに対して一意に識別するために使用する番号である。たとえば、行またはオブジェクトなど特定のデータ項目に対する参照は、このデータ項目を保持するデータブロックが入ったデータファイルのデータファイル番号を含み得る。さらにこの参照は、ファイル内のデータブロックの場所を識別するための、ファイル内のオフセットを含み得る。
【００３０】
残念ながら、データベース相対ファイル番号に基づいた参照を用いてデータベースシステム間でデータファイルを転送すると、いくつかの問題が生じる。これらの問題は、データベース相対ファイル番号がデータベースシステム間で一意でない可能性があることに由来する。１つのデータベースシステム上のデータベース相対ファイル番号が、別のデータベースシステム上の異なるデータファイルを識別するのに用いられることがある。この問題を克服するためにいくつかの措置を取ることがある。第１に、別のデータベースシステムに転送されるデータファイルには新たなデータベース相対ファイル番号を割当てることができる。第２に、この転送されるデータファイルの中には、データベース相対ファイル番号を保持する参照を有するデータオブジェクトが入っていることがあるので、新たに割当てられたデータベース相対ファイル番号を反映するためにこれら参照に変更を加える必要があるだろう。たとえば、１組のデータファイルが１つのデータベースシステムから別のデータベースシステムに転送される。これらデータファイルには新たなデータベース相対ファイル番号が割当てられる。これらデータファイルは、テーブルの或る部分と、このテーブル内の行を指し示すインデックスとを保持し得る。インデックス内の参照の中には、新たに割当てられたデータベース相対ファイル番号を反映するために変更される必要があるデータベース相対ファイル番号が入っていることがあり得る。
【００３１】
テーブルスペース相対アドレス指定方式
データベース相対ファイル番号に付随する問題および措置を回避するには、データファイルを、このデータファイルが入っているテーブルスペースに対してアドレス指定する、相対アドレス指定方式が使用できる。さらに相対アドレス指定方式を使用することでトランスポータブル・テーブルスペース処理が容易となるが、これは上述のように、テーブルスペースの移動またはコピーを含むプロセスを使用してデータベースシステム間でデータを転送するための技術である。このような技術の例が「プラグ可能テーブルスペース」および「テーブルスペース相対データベースポインタ」に記載されている。図２は、この発明についての一実施例を例示するのに用いる相対アドレス指定方式を示すブロック図である。図２は、テーブルスペースおよびデータファイルならびにこれらの間の関係を識別するのに用いる識別子と、相対アドレス指定方式の依存するその他の要素とを例示する。
【００３２】
図２を参照して、データベースシステム１０１（図示せず）はテーブルスペース番号（ＴＳＮ）９およびテーブルスペース番号８を、それぞれテーブルスペース１３０およびテーブルスペース１４０と関連付ける。データベースシステム１０１は、或るテーブルスペースを定義する際、このテーブルスペースと或るテーブルスペース番号とを関連付ける。テーブルスペース番号は所与のデータベースシステム内でテーブルスペースを一意に識別する。
【００３３】
テーブルスペース内においてデータベースシステム１０１は、テーブルスペース相対ファイル番号（ＴＲＦＮ）を、テーブルスペース内の各データファイルと関連付ける。或るテーブルスペース内の所与のデータファイルについて、テーブルスペース相対ファイル番号はこのテーブルスペース内の他のデータファイルに対して一意であるが、他のテーブルスペース内の他のデータファイルに対しては一意ではない。テーブルスペース１３０について、データファイル１３０−１，１３０−２，１３０−３，１３０−４に割当てられたテーブルスペース相対ファイル番号はそれぞれ１，２，３，４である。テーブルスペース１４０については、データファイル１４０−１，１４０−２，１４０−３，１４０−４に割当てられたテーブルスペース相対ファイル番号はそれぞれ１，２，３，４である。
【００３４】
データベースシステム１０１は各テーブルスペースに制御ファイルを関連付ける。各々のテーブルスペースについて、制御ファイルはテーブルスペース相対ファイル番号をデータベース相対ファイル番号に対応付けし、こうしてテーブルスペース内のデータファイルをデータベース相対ファイル番号に対応付けする。制御ファイル２１０はテーブルスペース１３０と関連付けられ、一方で制御ファイル２２０はテーブルスペース１４０と関連付けられる。制御ファイル２１０は２つのフィールドを含む。すなわち（１）テーブルスペース相対ファイル番号２１２（“ＴＲＦＮ２１２”）およびデータベース相対ファイル番号（ＤＲＦＮ２１４）、ならびに（２）エントリ２１０−１〜２１０−４であり、その各々にはＴＲＦＮ２１２およびＤＲＦＮ２１４についての値が入っている。エントリ２１０−１はテーブルスペース相対ファイル番号「１」をデータベース相対ファイル番号「１２」に対応付ける。制御ファイル２２０も同様にテーブルスペース１４０に対して構成される。
【００３５】
テーブルスペース内のデータファイルはいずれもテーブルスペース番号およびテーブルスペース相対ファイル番号により識別され得る。たとえば、インデックスエントリ内の「データブロックポインタ」は、特定の行が入っているデータブロックを指す。このデータブロックはデータファイル１３０−１内に常駐する。データブロックポインタには、テーブルスペース参照番号として値「９」が、およびテーブルスペース相対ファイル番号として値「１」が入っており、こうしてテーブルスペース１３０およびデータファイル１３０−１を識別する。データファイルは以下の手順を用いて識別され得る。テーブルスペース番号およびテーブルスペース相対ファイル番号が与えられると、このテーブルスペース相対ファイル番号と関連付けられた制御リストへアクセスされ、このテーブルスペース相対ファイル番号に対応付けられたデータベース相対ファイル番号を探し出す。制御ファイル２１０において、エントリ２１０−４はテーブルスペース相対ファイル番号「４」をデータベース相対ファイル番号４２に対応付けており、これによりデータファイル１３０−４が識別される。
【００３６】
データベースシステム間のデータファイルの転送は、相対アドレス指定方式の使用の他に、自己充足テーブルスペースの使用によっても容易にされる。１組のテーブルスペース内の任意のデータ項目に対する参照であって、この組の外側の任意のデータ項目を指している参照が存在しなければ、このテーブルスペース組は自己充足している。たとえばテーブルスペースが別のテーブルスペース内のテーブルのインデックスについてのデータを保持する場合、このテーブルスペースは自己充足していない。１組のテーブルスペースが自己充足していなければ、いくつかの措置を用いてテーブルを自己充足にすることができる。テーブルスペース内のデータに変更を加えてこのテーブルスペース組を自己充足にすることが可能である。加えて、このテーブルスペース組の構成に変更を加えるために、たとえばこの組からいくつかのテーブルスペースを削除したり、または追加のテーブルスペースを加えたりできる。
【００３７】
データベースメタデータ１１０は、テーブルスペース番号をテーブルスペースに対応付けるデータと、データファイルをデータベース相対ファイル番号に対応付けるデータと、或る特定のテーブルスペースについては、テーブルスペース相対ファイル番号をデータファイルのデータベース相対ファイル番号に対応付けるデータとを記憶する。データベースシステム１０１が或るデータファイルへアクセスするように構成されれば、データベースシステム１０１はこのファイルについての新たなデータベース相対ファイル番号を生成し、これに従ってデータベースメタデータ１１０を更新する。データベースシステム１０１が或るテーブルスペースの一部としてデータファイルにアクセスするように構成されれば、データベースシステム１０１はこのデータファイルについて、このテーブルスペース内の他のデータファイルに対して一意である新たなテーブルスペース相対ファイル番号を生成し、これに従ってデータベースメタデータ１１０を更新する。
【００３８】
なおこの発明は、トランスポータブル・テーブルスペースに関するどの特定の技術にも限定されず、または或るデータベースシステムからのデータファイルを別のデータベースシステムに統合するどの技術にも限定されない。
【００３９】
多サイズデータブロックのデータベースシステム
或るテーブルスペースを、このテーブルスペースのデータブロックとは異なるサイズのデータブロックにデータを記憶するデータベースシステムへと統合するためには、このデータベースシステムはサイズの異なるデータブロックに対応している必要がある。多サイズデータブロックに対応しているデータベースシステムはいくつかの機能を有し得る。これには、異なるサイズのデータブロックのコピーを記憶できるバッファキャッシュを管理する機能、および異なるサイズのデータブロックに記憶されたデータについての取消しレコードを生成する機能が含まれる。
【００４０】
図３は、バッファキャッシュ１９０内の異なるサイズのデータブロックのキャッシュ格納を管理するのに用いられるデータベースシステム１０１の構成要素を示す。図３を参照して、バッファキャッシュ１９０は、異なるサイズのデータブロックを記憶するための異なるサイズのバッファを有する。すなわち、バッファ３９２はブロックサイズＡを有し、バッファ３９４はブロックサイズＢを有し、バッファ３９６はブロックサイズＣを有し、バッファ３９８はブロックサイズＤを有する。バッファキャッシュ１９０内のバッファは、データベースメタデータ１１０により定義されるいくつかの別々のデータブロックサイズのうちいずれであってもよい。データベースシステム１０１はさらにデフォルトデータブロックサイズも定義し得るが、その使用については後に記載する。
【００４１】
この発明の一実施例に従うと、テーブルスペース内のデータブロックはすべて同じサイズを有する。ユーザがテーブルスペースを定義するＤＤＬコマンドを提出する場合、このコマンドは、テーブルスペース内のデータブロックのデータブロックサイズを指定するパラメータを含み得る。テーブルスペースについてのサイズが指定されていなければ、デフォルトデータブロックサイズがテーブルスペースのデータブロックサイズである。
【００４２】
ブロックサイズ対応付け３３０を用いてデータファイルをデータブロックサイズに対応付けする。具体的に、ブロックサイズ対応付け３３０は、或るデータファイルの「データベース相対」ファイル番号を、このデータファイルに入っているデータブロックのブロックサイズに対応付けする。ブロックサイズ対応付け３３０は、ブロックサイズ対応付けエントリ３３２、ならびにデータベース相対ファイル番号３３６およびブロックサイズ３３４の列を含む。ブロックサイズ対応付けエントリ３３２にあるエントリは、データベース相対ファイル番号３３６の列にあるデータベース相対ファイル番号値を、ブロックサイズ３３４にあるブロックサイズ値に対応付けする。
【００４３】
データベース相対番号対応付け３２０は、或るデータファイルのテーブルスペース番号およびテーブルスペース相対ファイル番号を、データファイルのデータベース相対番号に対応付けする。データベース相対番号対応付け３２０は、データベース相対番号対応付けエントリ３２２、ならびにテーブルスペース番号３２５、テーブルスペース相対ファイル番号３２６およびデータベース相対番号３２４の列を含む。データベース相対番号対応付けエントリ３２２中のエントリは、テーブルスペース番号３２５およびテーブルスペース相対ファイル番号３２６の列にある１対の値を、テーブルスペース相対番号３２４内のデータベース相対番号に対応付けする。
【００４４】
データベースシステム１０１は、データブロックを静的記憶装置から読出す前に、データブロックを記憶するにはどのサイズのバッファが必要かを求めるために、データベース相対番号対応付け３２０およびブロックサイズ対応付け３３０の両方を使用することがあり得る。或るデータファイルのテーブルスペース番号およびテーブルスペース相対番号が与えられると、ブロックサイズを知るためには、まずデータベース相対番号対応付け３２０を調べてデータベース相対番号を知ることができる。このデータベース相対番号から、ブロックサイズ対応付け３３０を調べてブロックサイズを求めることができる。
【００４５】
たとえば、データベースシステム１０１が、データブロックポインタＲの指すデータブロックＤＢＲを読出す要求を受取る。データブロックポインタＲは、このデータブロックが入ったテーブルスペースおよびデータファイルのテーブルスペース番号およびテーブルスペース相対ファイル番号と、このデータブロックがデータファイル内で始まるところを示すオフセットとを指定する。データベースシステム１０１はデータベース相対番号対応付け３２０およびブロックサイズ対応付け３３０を調べて、ブロックサイズＣがデータブロックＤＢＲのデータブロックサイズであることを判断する。次にデータベースシステム１０１は、このデータブロックを静的記憶装置からバッファキャッシュ１９０内のブロックサイズＣのバッファにロードする。
【００４６】
これと類似して、データブロックポインタにはデータベース相対ファイル番号が入っていることもある。データベースシステム１０１は、ブロックサイズ対応付け３３０のみを用いて、データブロックポインタの指すデータブロックを記憶するのに必要なバッファのブロックサイズを求める。
【００４７】
多サイズデータブロックのデータベースシステム用取消しレコード
上述のように、取消しエントリの中には、データベース演算によって行なわれる変更を取消すのに必要なデータ（「取消しデータ」）が入っている。取消しデータを記憶するのに必要なデータブロックは、変更されたデータを記憶するのに必要なデータブロックよりも多いことがあり得る。これには少なくともいくつかの原因がある。第１に、データの記憶に必要な記憶空間に関すると、本来的に取消しデータの量は変更されたデータの量よりも大きいことがあり得る。換言すると、サイズＸの１データブロック内のユーザデータすべてに対する変更は、同じサイズＸの１データブロックに記憶され得るよりも多くの取消しデータを必要とし得る。
【００４８】
第２に、変更されたデータが記憶されるデータブロックのサイズは、取消しログを記憶するのに用いるデータブロックよりも大きい。具体的にデータベースシステム１０１において、テーブルスペース１５０はログファイル１５０を保持する。テーブルスペース１５０はテーブルスペース１３０よりも小さいデータブロックサイズで構成され得る。データブロックサイズの相違のため、テーブルスペース１３０にあるデータブロックについての取消しデータが必要とするテーブルスペース１５０内のデータブロックは、これらテーブルスペースのデータブロックサイズが等しかった場合に必要なデータブロックよりも多いことがあり得る。
【００４９】
或るトランザクションについての特定のデータブロックに対して行なわれた変更について、データベースシステム１０１は２つ以上のデータブロックで取消しデータを記憶するように構成される。この特徴によってデータベースシステム１０１は、取消しデータと、対応する変更されたデータとのサイズの相違に対処することができ、このことは、取消しデータのサイズが変更されたデータよりも本来的に大きくても、または変更されたデータを記憶するデータブロックよりも小さなサイズのデータブロックに記憶されていても可能である。
【００５０】
別のデータベースシステムからのテーブルスペースの統合
図４は、或るテーブルスペースをソースデータベースシステムからターゲットデータベースシステムに統合するためのプロセスステップを示すフローチャートであり、ここでこのテーブルスペースの含むデータブロックは、ターゲットデータベースシステムがデータを記憶するために用いるデータブロックのうちの少なくとも一部と異なるデータブロックサイズを有する。データベースシステム１０１を用いてこのプロセスを示す。
【００５１】
図４を参照して、ステップ４１０で、データベースシステム１０１は、データベースシステム１０１に統合すべきテーブルスペースのブロックサイズを判定する。この判定はさまざまなやり方のうちいずれで行なってもよい。たとえばデータベースシステム１０１は、データブロックサイズを判定するために、このテーブルスペースのために生成された移出制御ファイルを調べることができる。これに代えてデータベースシステム１０１はテーブルスペースを調べ、データブロックの境界を印付けるデータ構造について走査し、この境界内にあるデータの量を判定する。最後に、データベースシステム１０１はユーザにデータブロックサイズを入力するよう指示することができる。
【００５２】
ステップ４２０で、データベースシステム１０１は、ステップ４１０で判定されたデータブロックサイズのテーブルスペースを統合できるかどうかを判断する。データベースシステム１０１がこのデータブロックサイズのテーブルスペースを統合できないと判断すれば、ステップの実行はステップ４９０に進み、データベースシステム１０１はテーブルスペースの統合プロセスを中止する。それ以外ならば実行はステップ４３０に進む。
【００５３】
データベースシステム１０１が該データブロックサイズのテーブルスペースを統合できるかどうかの判断はさまざまな技術を用いて行なわれ得る。データベースシステム１０１が、データベースメタデータ１１０により定義される別々のデータブロックサイズに対応していれば、データベースシステム１０１はデータベースメタデータを調べて、当該のデータブロックサイズが、対応されている別々のブロックサイズの１つであるかどうかを判断する。データベースシステム１０１がハードコーディングされて別々のブロックサイズに対応していれば、データベースシステム１０１は単にハードコーディングされ、当該のデータブロックサイズを、対応されている別々のブロックサイズの１つと比較できる。
【００５４】
ステップ４３０で、データベースシステム１０１はテーブルスペースをデータベースシステム１０１に統合する。テーブルスペースの統合では、既に述べたテーブルスペースをデータベースシステムに統合する技術のいずれを用いてもよい。
【００５５】
所与のサイズのデータブロックを、異なるサイズのデータブロックを有するデータベースシステムに転送するこれらの技術は、データベースシステム間でデータを転送する従来の技術に対していくつかの利点を提供する。トランスポータブル・テーブルスペースの使用により、従来のデータ移入技術よりもはるかに高速でデータをデータベース間で移動させることができる。さらに、テーブルスペース内のデータブロックはターゲットデータベースのデータブロックと同じサイズである必要がないため、ターゲットデータベースは、ソースデータベースと同じデータブロックサイズを用いるように制約を受けることがなく、ターゲットデータベースに最適なデータブロックサイズを用いるように構成することが可能となる。たとえばデータウェアハウスは、ＯＬＴＰソースデータベースよりも大きなデータブロック内にデータを保持するように構成され得る。
【００５６】
当然のことながら、転送されるデータがデータの転送に用いられるテーブルスペースに留まれば、ここに入っているデータは、ターゲットデータベースには最適でないサイズのデータブロック内に記憶されることもある。しかしながら、転送されるデータがデータの転送に用いられるテーブルスペース内に留まる必要はない。
【００５７】
テーブルスペースが一旦統合されると、このテーブルスペースからのデータは抽出されて、最適なデータブロックサイズを有するテーブルスペース内にロードされ得る。たとえば転送されるテーブルスペース内に入っているテーブルは、一旦データウェアハウスに統合されるとステージングテーブルとして働くことができる。ステージングテーブルからのデータは抽出され、変換されて、データウェアハウス用の一次的オンラインリポジトリとして働くテーブル内にロードされる。典型的に、データベースシステムに内在するテーブルからのデータの抽出は、別のデータベースのテーブルからのデータの抽出よりもはるかに効率的に実行される。
【００５８】
ハードウェアの概観
図５は、この発明の一実施例が実現され得るコンピュータシステム５００を例示するブロック図である。コンピュータシステム５００は、バス５０２またはその他の通信情報用通信機構と、バス５０２と結合され情報を処理するためのプロセッサ５０４とを含む。コンピュータシステム５００はさらに主メモリ５０６、たとえばランダムアクセスメモリ（ＲＡＭ）またはその他の動的記憶装置を含み、これはバス５０２に結合されて、プロセッサ５０４の実行する命令および情報を記憶する。主メモリ５０６はさらに、プロセッサ５０４の実行する命令の実行中に一時変数またはその他の中間情報を記憶するのにも用いられ得る。コンピュータシステム５００はさらに、バス５０２と結合され、プロセッサ５０４のための静的情報および命令を記憶するための、読出専用メモリ（ＲＯＭ）５０８またはその他の静的記憶装置を含む。情報および命令を記憶するための記憶装置５１０、たとえば磁気ディスクまたは光ディスクが設けられ、バス５０２に結合される。
【００５９】
コンピュータシステム５００はバス５０２を介し、情報をコンピュータユーザに対して表示するための表示装置５１２、たとえば陰極線管（ＣＲＴ）などに結合され得る。英数字式キーまたはその他のキーを含む入力装置５１４がバス５０２に結合され、情報およびコマンド選択をプロセッサ５０４へ通信する。もう１つの種類のユーザ入力装置がカーソル操作装置５１６であり、これにはたとえばマウス、トラックボールまたはカーソルキーなどがあり、方向情報およびコマンド選択をプロセッサ５０４に通信し、表示装置５１２上のカーソルの動きを操作する。この入力装置は典型的に、第１の軸（たとえばｘ）および第２の軸（たとえばｙ）の２本の軸上における２自由度を有し、これにより入力装置は或る平面上の位置を指定することができる。
【００６０】
この発明は、コンピュータシステム５００を使用してここに記載された技術を実現することに関する。この発明の一実施例に従いこれらの技術は、主メモリ５０６に入っている１つ以上の命令からなる１つ以上のシーケンスをプロセッサ５０４が実行するのに応答して、コンピュータシステム５００により実行される。このような命令は別のコンピュータ可読媒体、たとえば記憶装置５１０から主メモリ５０６に読込まれ得る。主メモリ５０６に入っている命令シーケンスの実行は、プロセッサ５０４がここに記載されたプロセスステップを実行することを引起す。これに代わる実施例では、ソフトウェア命令の代わりに、またはこれと組合せて、ハードウェア回路を用いてこの発明を実現することもある。したがってこの発明の実施例は、ハードウェア回路およびソフトウェアのいかなる特定の組合せにも限定されない。
【００６１】
ここで用いる「コンピュータ可読媒体」という用語は、命令をプロセッサ５０４が実行するようここに供給することに関与するあらゆる媒体を指す。このような媒体は多くの形態をとることができ、これには不揮発性媒体、揮発性媒体および伝送媒体が含まれるが、これに限定されない。不揮発性媒体にはたとえば、記憶装置５１０などの光ディスクまたは磁気ディスクが含まれる。揮発性媒体には主メモリ５０６などの動的記憶装置が含まれる。伝送媒体には同軸ケーブル、銅線および光ファイバが含まれ、これにはバス５０２を構成するワイヤが含まれる。伝送媒体はまた音波または光波の形態をとることもでき、これにはたとえば電波通信および赤外線データ通信の際に生成されるものなどがある。
【００６２】
コンピュータ可読媒体の一般的な形態にはたとえば、フロッピー（Ｒ）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、またはその他任意の磁気媒体、ＣＤ−ＲＯＭ、その他任意の光媒体、パンチカード、紙テープ、その他任意の孔パターンを有する物理的媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、その他任意のメモリチップまたはカートリッジ、後に記載される搬送波、またはその他コンピュータが読出可能な任意の媒体が含まれる。
【００６３】
１つ以上の命令からなる１つ以上のシーケンスを、プロセッサ５０４が実行するようここへ伝達することには、さまざまな形態のコンピュータ可読媒体が関与し得る。たとえば、命令はまず遠隔コンピュータの磁気ディスク上に収められ得る。この遠隔コンピュータは命令をその動的メモリにロードして、モデムを用いて電話回線経由でこれら命令を送信し得る。コンピュータシステム５００に対してローカルなモデムが電話回線上のデータを受信し、赤外線送信機を用いてこのデータを赤外線信号に変換し得る。赤外線信号で搬送されたデータは赤外線検出器で受信されて、適当な回路がこのデータをバス５０２に出力することになる。バス５０２はデータを主メモリ５０６へと伝達し、ここからプロセッサ５０４は命令を検索および実行する。任意に、主メモリ５０６が受取った命令は、プロセッサ５０４による実行前または実行後に記憶装置５１０で記憶され得る。
【００６４】
コンピュータシステム５００はさらに、バス５０２に結合された通信インターフェイス５１８を含む。通信インターフェイス５１８は、ローカルネットワーク５２２に接続されたネットワークリンク５２０に対する双方向データ通信結合を提供する。たとえば通信インターフェイス５１８は統合デジタル通信サービス網（ＩＳＤＮ）カードまたはモデムであることがあり、これにより対応する種類の電話回線に対するデータ通信接続をもたらす。別の例として、通信インターフェイス５１８はローカルエリアネットワーク（ＬＡＮ）カードであってもよく、これにより対応するＬＡＮに対するデータ通信接続をもたらす。無線リンクもまた実現可能である。このような実現例のいずれにおいても、通信インターフェイス５１８は、さまざまな種類の情報を表わすデジタルデータの流れを搬送する電気信号、電磁信号または光信号を送受信する。
【００６５】
ネットワークリンク５２０は典型的に、１つ以上のネットワーク経由で他のデータ装置に対するデータ通信を可能にする。たとえばネットワークリンク５２０はローカルネットワーク５２２経由で、ホストコンピュータ５２４、または、インターネットサービスプロバイダ（ＩＳＰ）５２６により動作させられるデータ装置に対する接続をもたらし得る。このＩＳＰ５２６は、現在一般的に「インターネット」５２８と称される全世界規模パケットデータ通信網を通じてデータ通信サービスを提供する。ローカルネットワーク５２２およびインターネット５２８はともに、デジタルデータの流れを搬送する電気信号、電磁信号または光信号を使用する。さまざまなネットワークを経由する信号や、デジタルデータをコンピュータシステム５００に出し入れするネットワークリンク５２０上および通信インターフェイス５１８経由の信号は、情報を運ぶ搬送波の形態の例である。
【００６６】
コンピュータシステム５００は、ネットワーク、ネットワークリンク５２０および通信インターフェイス５１８を通じてメッセージを送信し、プログラムコードを含むデータを受信することができる。インターネットの例では、サーバ５３０は或るアプリケーションプログラムについての要求されたコードを、インターネット５２８、ＩＳＰ５２６、ローカルネットワーク５２２、そして通信インターフェイス５１８経由で送信し得る。
【００６７】
受信されたコードは、受信されるとプロセッサ５０４により実行され、かつ／または記憶装置５１０もしくはその他の不揮発性記憶装置内で後の実行のために記憶され得る。このようにコンピュータシステム５００は搬送波の形でアプリケーションコードを入手し得る。
【００６８】
以上の明細書においては、この発明をその特定の実施例を参照して記載した。しかし、この発明のより広い意味および範囲から逸脱することなく、さまざまな変形および変更がこの発明で可能であることが明らかであろう。したがってこの明細書および図面は、限定としてでなく例示的な意味で考えられるべきである。
【図面の簡単な説明】
【００６９】
【図１】この発明の一実施例を例示するために用いられるデータベースシステムを示すブロック図である。
【図２】この発明の実施例に従う相対アドレス指定方式に対応するために使用されるテーブルスペースおよびデータ構造を示すブロック図である。
【図３】この発明の実施例に従う多サイズデータブロックに対処するバッファキャッシュシステムに対応するために使用される構造を示すブロック図である。
【図４】テーブルスペースをデータベースシステムに統合するためのプロセスであって、この発明の一実施例に従いテーブルスペース内のデータブロックのブロックサイズとデータベースシステム内のデータブロックのブロックサイズとが異なっているプロセスを示すフローチャートである。
【図５】この発明の一実施例を実現するために用いられ得るコンピュータシステムを示すブロック図である。
【図１】
2004530216.tif 000003
【図２】
2004530216.tif 000004
【図３】
2004530216.tif 000005
【図４】
2004530216.tif 000006
【図５】
2004530216.tif 000007
【国際公開パンフレット】
2004530216.tif 000008
2004530216.tif 000009
2004530216.tif 000010
2004530216.tif 000011
2004530216.tif 000012
2004530216.tif 000013
2004530216.tif 000014
2004530216.tif 000015
2004530216.tif 000016
2004530216.tif 000017
2004530216.tif 000018
2004530216.tif 000019
2004530216.tif 000020
2004530216.tif 000021
2004530216.tif 000022
2004530216.tif 000023
2004530216.tif 000024
2004530216.tif 000025
2004530216.tif 000026
2004530216.tif 000027
2004530216.tif 000028
2004530216.tif 000029
2004530216.tif 000030
2004530216.tif 000031
2004530216.tif 000032
2004530216.tif 000033
2004530216.tif 000034
2004530216.tif 000035
【国際公開パンフレット（コレクトバージョン）】
2004530216.tif 000036
2004530216.tif 000037
【手続補正書】
【提出日】平成15年9月18日(2003.9.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データベースシステムが他のデータベースシステムからのデータにアクセスする方法であって、
第１のデータベースシステムが、第１のデータブロックサイズを有する第１のデータブロック内に第１のデータを直接記憶するステップと、
前記第１のデータベースシステムが、第２のデータベースシステムが第２のデータを直接記憶した第２のデータブロックのコピーに、直接アクセスするステップと、
前記第２のデータブロックが、前記第１のデータブロックサイズとは異なる第２のデータブロックサイズでの少なくとも１つのデータブロックを有するステップとを含み、
前記第１のデータブロックの各ブロックおよび前記第２のデータブロックの各ブロックは、データベースにおける１つ以上のレコードを記憶するようにファイル内で割当てられた記憶空間のアトミックな単位である、方法。
【請求項２】
さらに、前記第２のデータブロックの前記コピーを、前記第２のデータブロックの前記コピーを含むテーブルスペースとして、前記第１のデータベースシステム内に統合するステップを含む、請求項１に記載の方法。
【請求項３】
第２のデータブロックのコピーにアクセスするステップは、前記第２のデータブロックの前記コピー内のユーザデータを記憶するステップを含む、請求項１に記載の方法。
【請求項４】
前記方法はさらに、前記第２のデータベースシステムから１つ以上のテーブルスペースを切離すステップを含み、前記１つ以上のテーブルスペースは前記第２のデータブロックを含む、請求項１に記載の方法。
【請求項５】
前記第２のデータブロックの前記コピーの各データブロックは前記第２のデータブロックサイズを有する、請求項１に記載の方法。
【請求項６】
前記第１のデータベースシステムにとって直接アクセス可能なデータブロックについて複数のブロックサイズを指定するメタデータを生成するステップをさらに含む、請求項１に記載の方法。
【請求項７】
前記メタデータはテーブルスペースを定義し、かつ、前記テーブルスペースの各テーブルスペースにつき、前記テーブルスペース内のすべてのデータブロックについて特定のデータブロックサイズを指定し、
前記方法はさらに、前記第２のデータブロックの前記コピーを、前記第２のデータブロックの前記コピーを含む少なくとも１つのテーブルスペースとして、前記第１のデータベースシステム内に統合するステップを含み、
前記統合するステップは、前記少なくとも１つのテーブルスペースの前記第２のデータブロックサイズを反映するように前記メタデータを変更するステップを含む、請求項６に記載の方法。
【請求項８】
前記第１のデータベースシステムはデータウェアハウスであり、前記第２のデータベースシステムは、前記データウェアハウスのためのソースデータベースシステムである、請求項１に記載の方法。
【請求項９】
前記第２のデータブロックの前記コピーを、前記第２のデータブロックの前記コピーを含むテーブルスペースとして、前記データウェアハウス内に統合するステップをさらに含む、請求項８に記載の方法。
【請求項１０】
前記第１のデータブロックが第１のデータファイルに入っており、前記第２のデータブロックが第２のデータファイルに入っており、
前記方法はさらに、
前記第１のデータファイルと前記第１のデータブロックサイズとの間、および
前記第２のデータファイルと前記第２のデータブロックサイズとの間における対応付けを生成するステップを含む、請求項１に記載の方法。
【請求項１１】
前記第１のデータブロックが第１のテーブルスペースに入っており、前記第２のデータブロックが第２のテーブルスペースに入っており、
前記方法はさらに、
前記第１のテーブルスペースと前記第１のデータブロックサイズとの間、および
前記第２のテーブルスペースと前記第２のデータブロックサイズとの間における対応付けを生成するステップを含む、請求項１に記載の方法。
【請求項１２】
前記第１のデータベースシステムはバッファキャッシュを含み、前記第１のデータベースシステムは前記バッファキャッシュ内で多数のサイズのデータブロックを記憶し、
前記方法はさらに、前記第１のデータブロックおよび前記第２のデータブロックを前記バッファキャッシュ内で記憶するステップを含む、請求項１に記載の方法。
【請求項１３】
データベースシステムが他のデータベースシステムからのデータにアクセスするための、１つ以上の命令シーケンスを担うコンピュータ可読媒体であって、１つ以上のプロセッサによる前記１つ以上の命令シーケンスの実行は、前記１つ以上のプロセッサに、
第１のデータベースシステムが、第１のデータブロックサイズを有する第１のデータブロック内に第１のデータを直接記憶するステップと、
前記第１のデータベースシステムが、第２のデータベースシステムが第２のデータを直接記憶した第２のデータブロックのコピーに、直接アクセスするステップと、
前記第２のデータブロックが、前記第１のデータブロックサイズとは異なる第２のデータブロックサイズでの少なくとも１つのデータブロックを有するステップとを実行させ、
前記第１のデータブロックの各ブロックおよび前記第２のデータブロックの各ブロックは、データベースにおける１つ以上のレコードを記憶するようにファイル内で割当てられた記憶空間のアトミックな単位である、コンピュータ記憶媒体。
【請求項１４】
さらに、前記第２のデータブロックの前記コピーを、前記第２のデータブロックの前記コピーを含むテーブルスペースとして、前記第１のデータベースシステム内に統合するステップを実行するための命令を含む、請求項１３に記載のコンピュータ可読媒体。
【請求項１５】
第２のデータブロックのコピーにアクセスするステップは、前記第２のデータブロックの前記コピー内のユーザデータを記憶するステップを含む、請求項１３に記載のコンピュータ可読媒体。
【請求項１６】
前記コンピュータ可読媒体はさらに、前記第２のデータベースシステムから１つ以上のテーブルスペースを切離すステップを実行するための命令を含み、前記１つ以上のテーブルスペースは前記第２のデータブロックを含む、請求項１３に記載のコンピュータ可読媒体。
【請求項１７】
前記第２のデータブロックの前記コピーの各データブロックは前記第２のデータブロックサイズを有する、請求項１３に記載のコンピュータ可読媒体。
【請求項１８】
前記第１のデータベースシステムにとって直接アクセス可能なデータブロックについて複数のブロックサイズを指定するメタデータを生成するステップを実行するための命令をさらに含む、請求項１３に記載のコンピュータ可読媒体。
【請求項１９】
前記メタデータはテーブルスペースを定義し、かつ、前記テーブルスペースの各テーブルスペースにつき、前記テーブルスペース内のすべてのデータブロックについて特定のデータブロックサイズを指定し、
コンピュータ可読媒体はさらに、前記第２のデータブロックの前記コピーを、前記第２のデータブロックの前記コピーを含む少なくとも１つのテーブルスペースとして、前記第１のデータベースシステム内に統合するステップを実行するための命令を含み、
前記統合するステップは、前記少なくとも１つのテーブルスペースの前記第２のデータブロックサイズを反映するように前記メタデータを変更するステップを含む、請求項１８に記載のコンピュータ可読媒体。
【請求項２０】
前記第１のデータベースシステムはデータウェアハウスであり、前記第２のデータベースシステムは、前記データウェアハウスのためのソースデータベースシステムである、請求項１３に記載のコンピュータ可読媒体。
【請求項２１】
前記第２のデータブロックの前記コピーを、前記第２のデータブロックの前記コピーを含むテーブルスペースとして、前記データウェアハウス内に統合するステップを実行するための命令をさらに含む、請求項２０に記載のコンピュータ可読媒体。
【請求項２２】
前記第１のデータブロックが第１のデータファイルに入っており、前記第２のデータブロックが第２のデータファイルに入っており、
前記コンピュータ可読媒体はさらに、
前記第１のデータファイルと前記第１のデータブロックサイズとの間、および
前記第２のデータファイルと前記第２のデータブロックサイズとの間における対応付けを生成するステップを実行するための命令を含む、請求項１３に記載のコンピュータ可読媒体。
【請求項２３】
前記第１のデータブロックが第１のテーブルスペースに入っており、前記第２のデータブロックが第２のテーブルスペースに入っており、
前記コンピュータ可読媒体はさらに、
前記第１のテーブルスペースと前記第１のデータブロックサイズとの間、および
前記第２のテーブルスペースと前記第２のデータブロックサイズとの間における対応付けを生成するステップを実行するための命令を含む、請求項１３に記載のコンピュータ可読媒体。
【請求項２４】
前記第１のデータベースシステムはバッファキャッシュを含み、前記第１のデータベースシステムは前記バッファキャッシュ内で多数のサイズのデータブロックを記憶し、
前記コンピュータ可読媒体はさらに、前記第１のデータブロックおよび前記第２のデータブロックを前記バッファキャッシュ内で記憶するステップを含む、請求項１３に記載のコンピュータ可読媒体。
【国際調査報告】
2004530216.tif 000038
2004530216.tif 000039
2004530216.tif 000040