(57)【特許請求の範囲】
【請求項１】
データベース管理部と、前記データベース管理部によって管理されるデータファイルを異なるデータベース管理システムで利用可能な形式のダンプファイルに変換するエクスポート部とを備えるデータベース管理装置であって、
前記エクスポート部が、
前記データファイルからエクスポート処理の対象となるデータオブジェクトを抽出してこれを前記ダンプファイルの形式に変換する対象データ変換機能と、
前記変換されたデータオブジェクトに変換前の前記データオブジェクトの配置に基づいて当該配置を再現するためのデータであるＲＯＷＩＤデータセットおよびオフセット値を付与するＲＯＷＩＤデータセット付与機能とを備えることを特徴とするデータベース管理装置。
【請求項２】
前記エクスポート部が、
前記変換されたデータオブジェクトに変換前の前記データオブジェクトの配置に従って前記ダンプファイルを前記データファイルに変換する対象であることを示すフラグを付与するフラグ付与機能を備えることを特徴とする、請求項１に記載のデータベース管理装置。
【請求項３】
データベース管理部と、異なるデータベース管理システムによって出力されたＲＯＷＩＤデータセットおよびオフセット値を含むダンプファイルを前記データベース管理部で利用可能なデータファイルに変換するインポート部とを備えるデータベース管理装置であって、
前記インポート部が、
前記ＲＯＷＩＤデータセットおよびオフセット値に基づいて変換後の前記データファイルのデータを書き込むディスク上の開始位置を決定するＲＯＷＩＤデータセット反映機能と、
前記ダンプファイルのデータを前記データファイルに変換してこのデータファイルを前記決定されたディスク上の位置に書き込むデータ変換機能を備えることを特徴とするデータベース管理装置。
【請求項４】
前記ＲＯＷＩＤデータセット反映機能が、変換された前記データファイルが前記ディスク上に書き込み可能か否かを調べ、書き込み不可能であればこれが可能になるまで前記開始位置を移動することを特徴とする、請求項３に記載のデータベース管理装置。
【請求項５】
前記ダンプファイルに前記ＲＯＷＩＤデータセット反映機能による処理の対象であることを示すフラグが含まれていなければ前記ＲＯＷＩＤデータセット反映機能を使用せずに前記データ変換機能に前記ダンプファイルを前記データファイルに変換させるフラグ検出機能を備えることを特徴とする、請求項３に記載のデータベース管理装置。
【請求項６】
データベース管理部と、前記データベース管理部によって管理されるデータファイルを異なるデータベース管理システムで利用可能な形式のダンプファイルに変換するエクスポート部とを備えるデータベース管理装置にあって、
前記データファイルからエクスポート処理の対象となるデータオブジェクトを対象データ変換機能が抽出し、
抽出された前記データオブジェクトを前記対象データ変換機能が前記ダンプファイルの形式に変換し、
前記変換されたデータオブジェクトに変換前の前記データオブジェクトの配置に基づいて当該配置を再現するためのデータであるＲＯＷＩＤデータセットおよびオフセット値をＲＯＷＩＤデータセット付与機能が付与する
ことを備えることを特徴とするエクスポート方法。
【請求項７】
データベース管理部と、前記データベース管理部によって管理されるデータファイルを異なるデータベース管理システムで利用可能な形式のダンプファイルに変換するエクスポート部とを備えるデータベース管理装置にあって、
コンピュータに、
前記データファイルからエクスポート処理の対象となるデータオブジェクトを抽出する手順と、
抽出された前記データオブジェクトを前記ダンプファイルの形式に変換する手順と、
前記変換されたデータオブジェクトに変換前の前記データオブジェクトの配置に基づいて当該配置を再現するためのデータであるＲＯＷＩＤデータセットおよびオフセット値を付与する手順と
を実行させることを特徴とするエクスポートプログラム。
【請求項８】
データベース管理部と、異なるデータベース管理システムによって出力されたＲＯＷＩＤデータセットおよびオフセット値を含むダンプファイルを前記データベース管理部で利用可能なデータファイルに変換するインポート部とを備えるデータベース管理装置にあって、
前記ＲＯＷＩＤデータセットおよびオフセット値に基づいて変換後の前記データファイルのデータを書き込むディスク上の開始位置をＲＯＷＩＤデータセット反映機能が決定し、
前記ダンプファイルのデータをデータ変換機能が前記データファイルに変換し、
このデータファイルを前記データ変換機能が前記決定されたディスク上の位置に書き込む
ことを特徴とするインポート方法。
【請求項９】
データベース管理部と、異なるデータベース管理システムによって出力されたＲＯＷＩＤデータセットおよびオフセット値を含むダンプファイルを前記データベース管理部で利用可能なデータファイルに変換するインポート部とを備えるデータベース管理装置にあって、
コンピュータに、
前記ＲＯＷＩＤデータセットおよびオフセット値に基づいて変換後の前記データファイルのデータを書き込むディスク上の開始位置を決定する手順と、
前記ダンプファイルのデータを前記データファイルに変換する手順と、
このデータファイルを前記決定されたディスク上の位置に書き込む手順と
を実行させることを特徴とするインポートプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータベース管理装置、エクスポート方法とプログラム、インポート方法とプログラムに関し、特にユーザのデータオブジェクトの配置と全く同じ動作環境を再現するデータベース管理装置、エクスポート方法とプログラム、インポート方法とプログラムに関する。
【背景技術】
【０００２】
ある程度以上の規模のコンピュータを利用したシステム、たとえばウェブサービスや業務システム等では、大量のデータを扱うために、たとえばＯｒａｃｌｅ（登録商標）などのようなデータベース管理システム（ＤＢＭＳ: DataBase Management System）の利用が不可欠である。
【０００３】
特定のＤＢＭＳで扱っているデータを異なるＤＢＭＳで利用可能な形式に変換することをエクスポート、その逆の変換をインポートという。インポートおよびエクスポートは、多くの場合ＤＢＭＳの周辺機能として利便性を向上させるユーティリティソフトの機能の一部として提供されている。
【０００４】
ＤＢＭＳのエクスポートおよびインポートは、障害が発生した時にその発生原因の調査や再現試験を行う際に、ユーザ環境と同一の環境を作成する必要がある場合に有用である。また、ＤＢＭＳのエクスポートおよびインポートは、ディスク装置上でブロック内の空き領域を連続したブロックとして使用するため、ディスクの断片化を解消し、ディスク容量の削減およびディスク装置のデータ入出力にかかる負荷の低減という目的にも使用される。
【０００５】
これに関連して、次のような技術文献がある。その中でも特許文献１には、メモリ内にロードしたプログラムにアクセスしてその動作などについて解明する方法について記載されている。特許文献２には、データをカプセル化されたメタデータとしてエクスポートおよびインポートするというシステムと方法について記載されている。特許文献３には、グリッドコンピューティングなどのようにデータのバルク転送を必要とする環境で、データを自動的に同期させるという技術が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−３２２２５１号公報
【特許文献２】特開平０７−１７５７３０号公報
【特許文献３】特表２００７−５０２４６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
前述したようなエクスポートおよびインポートを利用することによって、ディスクの断片化によるパフォーマンスの低下を解消することはできる。しかしながら、エクスポートおよびインポートの処理を通じてデータの配置やブロックの空き具合に変化が生じることにより、あるユーザの環境で発生していた障害やパフォーマンス低下などの問題が、そのユーザのデータをインポートした他の環境では発生しないということが多くある。この場合、その問題の発生原因の特定は難しくなり、その原因の特定には膨大な工数をかける必要が出てくる。
【０００８】
ディスク上のデータの配置などが全く同じ環境を作成しようとした場合、そのユーザの扱う全てのデータファイルをＯＳのコマンドでコピーして別環境に移す手段も考えられる。しかしながら、ＤＢＭＳでユーザが扱うデータ量は近年とみに増大しており、データファイルのサイズが数百ギガバイト〜数テラバイトになることも珍しくない。それに加えて、ＤＢＭＳの種類によっては、インポートしたデータファイルを使用可能とするためにデータファイル以外の構成ファイルをいくつも使用して、煩雑な環境設定の処理を必要とする場合がある。
【０００９】
即ち、ディスク上のデータの配置などが全く同じ環境を構成するためには、膨大なデータ量のユーザデータを、ＤＢＭＳとは特に関係のないデータまで含めて全てコピーする必要がある。さらに、それらのファイルをデータベースとして使用可能な状態とするために、複雑な手順を実行する必要もある。
【００１０】
前述の特許文献１〜３に記載の技術は、ディスク上のデータの配置などが全く同じ環境を再現するということは記載されていないので、上記の問題を解決することはできない。
【００１１】
本発明の目的は、必要十分なデータのみのコピーで、ユーザのデータオブジェクトの配置と全く同じ動作環境を再現することを可能とするデータベース管理装置、エクスポート方法とプログラム、インポート方法とプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、本発明に係るデータベース管理装置は、データベース管理部と、データベース管理部によって管理されるデータファイルを異なるデータベース管理システムで利用可能な形式のダンプファイルに変換するエクスポート部とを備えるデータベース管理装置であって、エクスポート部が、データファイルからエクスポート処理の対象となるデータオブジェクトを抽出してこれをダンプファイルの形式に変換する対象データ変換機能と、変換されたデータオブジェクトに変換前のデータオブジェクトの配置に基づいて当該配置を再現するためのデータであるＲＯＷＩＤデータセットおよびオフセット値を付与するＲＯＷＩＤデータセット付与機能とを備えることを特徴とする。
【００１３】
上記目的を達成するため、本発明に係る別のデータベース管理装置は、データベース管理部と、異なるデータベース管理システムによって出力されたＲＯＷＩＤデータセットおよびオフセット値を含むダンプファイルをデータベース管理部で利用可能なデータファイルに変換するインポート部とを備えるデータベース管理装置であって、インポート部が、ＲＯＷＩＤデータセットおよびオフセット値に基づいて変換後のデータファイルのデータを書き込むディスク上の開始位置を決定するＲＯＷＩＤデータセット反映機能と、ダンプファイルのデータをデータファイルに変換してこのデータファイルを決定されたディスク上の位置に書き込むデータ変換機能を備えることを特徴とする。
【００１４】
上記目的を達成するため、本発明に係るエクスポート方法は、データベース管理部と、データベース管理部によって管理されるデータファイルを異なるデータベース管理システムで利用可能な形式のダンプファイルに変換するエクスポート部とを備えるデータベース管理装置にあって、データファイルからエクスポート処理の対象となるデータオブジェクトを対象データ変換機能が抽出し、抽出されたデータオブジェクトを対象データ変換機能がダンプファイルの形式に変換し、変換されたデータオブジェクトに変換前のデータオブジェクトの配置に基づいて当該配置を再現するためのデータであるＲＯＷＩＤデータセットおよびオフセット値をＲＯＷＩＤデータセット付与機能が付与することを備えることを特徴とする。
【００１５】
上記目的を達成するため、本発明に係るエクスポートプログラムは、データベース管理部と、データベース管理部によって管理されるデータファイルを異なるデータベース管理システムで利用可能な形式のダンプファイルに変換するエクスポート部とを備えるデータベース管理装置にあって、コンピュータに、データファイルからエクスポート処理の対象となるデータオブジェクトを抽出する手順と、抽出されたデータオブジェクトをダンプファイルの形式に変換する手順と、変換されたデータオブジェクトに変換前のデータオブジェクトの配置に基づいて当該配置を再現するためのデータであるＲＯＷＩＤデータセットおよびオフセット値を付与する手順とを実行させることを特徴とする。
【００１６】
上記目的を達成するため、本発明に係るインポート方法は、データベース管理部と、異なるデータベース管理システムによって出力されたＲＯＷＩＤデータセットおよびオフセット値を含むダンプファイルをデータベース管理部で利用可能なデータファイルに変換するインポート部とを備えるデータベース管理装置にあって、ＲＯＷＩＤデータセットおよびオフセット値に基づいてダンプファイルのデータを読み込むディスク上の開始位置をＲＯＷＩＤデータセット反映機能が決定し、ダンプファイルのデータをデータ変換機能がデータファイルに変換し、このデータファイルをデータ変換機能が決定されたディスク上の位置に書き込むことを特徴とする。
【００１７】
上記目的を達成するため、本発明に係るインポートプログラムは、データベース管理部と、異なるデータベース管理システムによって出力されたＲＯＷＩＤデータセットおよびオフセット値を含むダンプファイルをデータベース管理部で利用可能なデータファイルに変換するインポート部とを備えるデータベース管理装置にあって、コンピュータに、ＲＯＷＩＤデータセットおよびオフセット値に基づいてダンプファイルのデータを読み込むディスク上の開始位置を決定する手順と、ダンプファイルのデータをデータファイルに変換する手順と、このデータファイルを決定されたディスク上の位置に書き込む手順とを実行させることを特徴とする。
【発明の効果】
【００１８】
本発明は、上述したように変換前のデータオブジェクトの配置に基づいてＲＯＷＩＤデータセットおよびオフセット値を付与してデータをエクスポートし、このＲＯＷＩＤデータセットおよびオフセット値に基づいて元のデータオブジェクトと同一の配置でデータをインポートするように構成したので、インポートした側で変換前のデータオブジェクトの配置をダンプファイルに基づいて容易に再現することができる。これによって、必要十分なデータのみのコピーで、ユーザのデータオブジェクトの配置と全く同じ動作環境を再現することが可能であるという優れた特徴を持つデータベース管理装置、エクスポート方法とプログラム、インポート方法とプログラムを提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１の実施形態に係るデータベース管理装置の構成を示す説明図である。
【図２】図１に示したダンプファイルの詳細な構成を示す説明図である。
【図３】図２に示したダンプファイルからインポートされるデータファイルのより詳しい構成を示す説明図である。
【図４】図３に示したデータブロックの内容を拡大して示す説明図である。
【図５】図３に示したデータファイルをエクスポートして図２に示したダンプファイルを出力する際のエクスポート部の動作を示すフローチャートである。
【図６】図２に示したダンプファイルをインポートする際のインポート部の動作を示すフローチャートである。
【図７】図６の続きである。
【発明を実施するための形態】
【００２０】
（第１の実施形態）
以下、本発明の第１の実施形態の構成について添付図１に基づいて説明する。
最初に、本実施形態の基本的な内容について説明し、その後でより具体的な内容について説明する。
本実施形態に係るデータベース管理装置１０は、データベース管理部２１と、データベース管理部によって管理されるデータファイルを異なるデータベース管理システムで利用可能な形式のダンプファイルに変換するエクスポート部２３と、異なるデータベース管理システムによって出力されたＲＯＷＩＤデータセットおよびオフセット値を含むダンプファイルをデータベース管理部で利用可能なデータファイルに変換するインポート部２２とを備えるデータベース管理装置である。ちなみに、ここでいうＲＯＷＩＤ（ロウＩＤ）とは、後述の図２に示す行データ３２ａを識別するものという意味である。
【００２１】
このエクスポート部２３は、データファイルからエクスポート処理の対象となるデータオブジェクトを抽出してこれをダンプファイルの形式に変換する対象データ変換機能２３ａと、変換されたデータオブジェクトに変換前のデータオブジェクトの配置に基づいてＲＯＷＩＤデータセットおよびオフセット値を付与するＲＯＷＩＤデータセット付与機能２３ｃとを備える。
【００２２】
このエクスポート部はさらに、変換されたデータオブジェクトに変換前のデータオブジェクトの配置に従ってダンプファイルをデータファイルに変換する対象であることを示すフラグを付与するフラグ付与機能２３ｂを備える。
【００２３】
一方のインポート部２２は、ＲＯＷＩＤデータセットおよびオフセット値に基づいて変換後のデータファイルのデータを書き込むディスク上の開始位置を決定するＲＯＷＩＤデータセット反映機能２２ｂと、ダンプファイルのデータをデータファイルに変換してこのデータファイルを決定されたディスク上の位置に書き込むデータ変換機能２２ｃを備える。
【００２４】
ここでこのＲＯＷＩＤデータセット反映機能は、変換されたデータファイルがディスク上に書き込み可能か否かを調べ、書き込み不可能であればこれが可能になるまで開始位置を移動する。
【００２５】
そしてインポート部は、ダンプファイルにＲＯＷＩＤデータセット反映機能による処理の対象であることを示すフラグが含まれていなければＲＯＷＩＤデータセット反映機能を使用せずにデータ変換機能にダンプファイルをデータファイルに変換させるフラグ検出機能２２ａを備える。
【００２６】
この構成を備えることにより、このデータベース管理装置はユーザのデータオブジェクトの配置と全く同じ動作環境を再現することが可能となる。
以下、これをより詳細に説明する。
【００２７】
図１は、本発明の第１の実施形態に係るデータベース管理装置１０Ａおよび１０Ｂの構成を示す説明図である。データベース管理装置１０Ａおよび１０Ｂは、一般的なコンピュータ装置としての構成を備えている。即ち、コンピュータプログラムを実行する主体である主演算制御手段（ＣＰＵ: Central Processing Unit）１１と、データを記憶する記憶手段１２と、ユーザからの入力操作を受け付け、また処理結果をユーザに対して提示する入出力手段１３とを備える。
【００２８】
データベース管理装置１０Ａおよび１０Ｂは同一の構成を備えるので、各々の要素は全て同一の名称でいうが、参照番号については、たとえばデータベース管理装置１０Ａの主演算制御手段は主演算制御手段１１Ａ、データベース管理装置１０Ｂの主演算制御手段は主演算制御手段１１ＢなどのようにＡもしくはＢを付けていう（ダンプファイル３２を除く）。ＡもしくはＢを付けない場合は、その両方を総称していう。データベース管理装置１０Ａについてはエクスポート部２３Ａの機能を、データベース管理装置１０Ｂについてはインポート部２２Ｂの機能をより詳細に示している。その意味で、データベース管理装置１０Ｂ側のことを再現環境と呼ぶことがある。
【００２９】
主演算制御手段１１では、ＤＢＭＳであるデータベース管理部２１と、インポート部２２と、エクスポート部２３とがコンピュータプログラムとして実行される。ここでは、ＤＢＭＳとしてＯｒａｃｌｅを使用するものとする。
【００３０】
そして記憶手段１２には、データベース管理部２１によって管理および運用されるデータファイル３１と、このデータファイル３１Ａをエクスポート部２３Ａによって異なるＤＢＭＳで利用可能な形式に変換したデータであるダンプファイル３２とが記憶されている。このデータファイル３１Ａからダンプファイル３２への変換をエクスポートという。これと逆方向の、ダンプファイル３２からデータファイル３１Ｂへの変換をインポートという。
【００３１】
データベース管理装置１０Ａのエクスポート部２３Ａによってエクスポートされたダンプファイル３２は、たとえばＦＴＰ（File Transfer Protocol）、ネットワークドライブ、リムーバブルディスク、光学ディスクなどを利用してデータベース管理装置１０Ｂの記憶手段１２にコピーされ、そこでインポート部２２Ｂによってインポートされ、データベース管理装置１０Ａにあったものと同一のデータの配置を持つデータファイル３１として再現される。
【００３２】
エクスポート部２３Ａは、エクスポートの対象となるデータオブジェクトを抽出してダンプファイル３２の形式に変換する対象データ変換機能２３ａと、これに後述のフラグを付与するフラグ付与機能２３ｂと、これにさらに後述のＲＯＷＩＤデータセットおよびオフセット値を付与するＲＯＷＩＤデータセット付与機能２３ｃを含む。
【００３３】
インポート部２２Ｂは、異なるデータベース管理システムでエクスポートされたダンプファイル３２を、データベース管理部２１によって管理および運用可能なデータファイル３１に変換する。
【００３４】
インポート部２２Ｂは、ダンプファイル３２から後述のフラグを検出するフラグ検出機能２２ａと、ダンプファイル３２中のＲＯＷＩＤデータセットおよびオフセット値を抽出し、これらに基づいてデータオブジェクトの配置を決定するＲＯＷＩＤデータセット反映機能２２ｂと、ダンプファイル３２からデータオブジェクトを抽出して決定された配置の通りにデータファイル３１Ｂに変換するデータ変換機能２２ｃとを含む。
【００３５】
その際、インポート部２２のフラグ検出機能２２ａおよびＲＯＷＩＤデータセット反映機能２２ｂがデータの配置を決定し、その配置の通りにデータ変換機能２２ｃがダンプファイル３２上の各データを、元のデータファイル３１と同一のデータ配置・物理配置で再現する。
【００３６】
（ダンプファイルの構成）
図２は、図１に示したダンプファイル３２の詳細な構成を示す説明図である。ダンプファイル３２は、データ抽出機能２３ａが抽出したデータオブジェクトから変換した行データ３２ａおよびｃｒｅａｔｅ文３２ｂと、フラグ付与機能２３ｂが付与したフラグ３２ｃと、ＲＯＷＩＤデータセット付与機能２３ｃが付与したＲＯＷＩＤデータセット３２ｄおよびオフセット値３２ｅとで構成される。
【００３７】
ダンプファイル３２は、たとえば「exp scott/tiger tables=(emp,dept) assigned=(emp)」というようなＳＱＬ文で作成される。これは「ユーザＩＤ“ｓｃｏｔｔ”・パスワード“ｔｉｇｅｒ”のユーザが、“ｅｍｐ”と“ｄｅｐｔ”という２つのテーブルをエクスポートする。その際、テーブル“ｅｍｐ”については本実施形態独自の形式で、即ちフラグ３２ｃおよびＲＯＷＩＤデータセット３２ｄ、オフセット値３２ｅを付与してエクスポートする」という意味である。ちなみに「assigned」というオプションは、本実施形態に独特のものである。
【００３８】
行データ３２ａおよびｃｒｅａｔｅ文３２ｂは、従来技術の対象データ変換機能２３ａで作成されるものである。ｃｒｅａｔｅ文３２ｂは、データベース上にレコードを作成するＳＱＬ（Structured Query Language）文である。
【００３９】
フラグ３２ｃは、「０」もしくは「１」の値を持つ変数である。この値が「０」である場合は、これから説明する本発明の方式によらず、従来と同じ方法にてダンプファイル３２のインポートを行うべきものである。この値が「１」である場合は、これから説明する本発明の方式によってダンプファイル３２のインポートを行うべきものである。
【００４０】
ＲＯＷＩＤデータセット３２ｄは、以下の各々の変数によって構成される構造体である。これにオフセット値３２ｅが加わる。これら各々の変数の詳しい意味と、それらによって行われる実際の処理については後述する。
・ｄａｔａｏｂｊ＃  ：データベース内でオブジェクトに割り当てられる一意の番号。
・Ｄａｔａｆｉｌｅ＃：各々の相対ファイルに与えられる相対ファイル番号。
・ｂｌｏｃｋ＃      ：各々のデータブロックに与えられるブロック番号。
・Ｓｌｏｔ＃        ：表データの各行に与えられる行番号。
【００４１】
なお、相対ファイル番号とブロック番号とを合わせてＲＤＢＡ（Relative Data Block Address: 表領域内でデータブロックを一意に識別可能なアドレス）という。
【００４２】
（データファイルの構成）
図３は、図２に示したダンプファイル３２からインポートされるデータファイル３１のより詳しい構成を示す説明図である。データファイル３１は、物理的には記憶手段１２上のファイルシステムに格納されるものであり、本実施例ではＤＢＭＳとしてＯｒａｃｌｅを使用しているので、このデータファイル３１もＯｒａｃｌｅのファイルシステムの方式に従う。
【００４３】
データファイル３１は、たとえば「imp scott/tiger tables=(emp,dept) assigned=(emp)」というようなＳＱＬ文でダンプファイル３２から作成される。これは「ユーザＩＤ“ｓｃｏｔｔ”・パスワード“ｔｉｇｅｒ”のユーザが、“ｅｍｐ”と“ｄｅｐｔ”という２つのテーブルをインポートする。その際、テーブル“ｅｍｐ”についてはフラグ３２ｃおよびＲＯＷＩＤデータセット３２ｄ、オフセット値３２ｅの指定に基づいてしてインポートする」という意味である。エクスポートの時と同様、「assigned」というオプションは本実施形態に独特のものである。
【００４４】
データファイル３１は、物理的にはデータを論理的に格納する表領域である。複数の相対ファイルに亘る領域であることが多いので、ここではそれらを相対ファイル３１ａ、３１ｂ、…といい、その各々に前述のＲＯＷＩＤデータセット３２ｄの中の相対ファイル番号（Ｄａｔａｆｉｌｅ）＃１、＃２、…を付す。データファイル３１は、これらの相対ファイルを総称していう。
【００４５】
各々の相対ファイル３１ａ、３１ｂ、…は、１つ以上のデータブロック５１ａ、５１ｂ、…で構成される。図３には、相対ファイル番号「＃２」である相対ファイル３１ｂ上で、オブジェクト番号「ｄａｔａｏｂｊ＃」で示される表オブジェクトである「テーブル“ｅｍｐ”」が、５個のデータブロック５１ａ〜５１ｅで構成されているという形を示している。
【００４６】
図４は、図３に示したデータブロックの中の１つであるデータブロック５１ａの内容を拡大して示す説明図である。データブロック５１ａの先頭には、ＯＳ（Operating System）がファイルを管理するために付与するＯＳファイルヘッダ５２ａが付けられており、その直後にＯｒａｃｌｅがデータファイルを管理するために付与するＯｒａｃｌｅファイルヘッダ５２ｂが付けられている。
【００４７】
「テーブル“ｅｍｐ”」の各々のレコードであるｎ行目の行データは、図４でＳｌｏｔ［ｎ］として示されるブロック５２ｃ、５２ｄ、…に記録される。オフセット値３２ｅは、データブロック５１ａの中でそのＳｌｏｔ［ｎ］を記録するアドレス（位置情報）を示す。図４で空欄となっているブロックは、データの記録されない空き領域である。
【００４８】
また、ｎは行データのサイズとブロックの設定によって決定される自然数である。ブロック５２ｃ、５２ｄ、…で、１ブロックあたりに入る行数は、行データのサイズとブロックの設定に依存するので、図４では各ブロックに入る行数を示すために、未確定の行数をｎとして示している。
【００４９】
ちなみに、データブロック５１ａ以外のデータブロック５１ｂ〜５１ｅについては、ユーザ側の設定によっても異なる場合があるが、図４に示したデータブロック５１ａの構成と基本的には同等である。これは本発明を特定する事項ではないので、詳しく説明しない。
【００５０】
（エクスポートおよびインポートの動作）
図５は、図３に示したデータファイル３１をエクスポートして図２に示したダンプファイル３２を出力する際のエクスポート部２３の動作を示すフローチャートである。まずエクスポートのコマンドを受けた対象データ変換機能２３ａが、エクスポートの対象となるデータオブジェクトを抽出して、これらから行データ３２ａおよびｃｒｅａｔｅ文３２ｂを生成する（ステップＳ１０１）。
【００５１】
次に対象データ変換機能２３ａは、「assigned」オプションで指定されたテーブルが存在するか否かを判断する（ステップＳ１０２）。存在しなければそのまま処理を終了する。存在すれば、「assigned」オプションの対象となるテーブルの各レコードに、フラグ付与機能２３ｂがフラグ３２ｃを付与する（ステップＳ１０３）。さらにＲＯＷＩＤデータセット付与機能２３ｃが、ＲＯＷＩＤデータセット３２ｄとオフセット値３２ｅを付与して（ステップＳ１０４）、処理を終了する。
【００５２】
図６〜７は、図２に示したダンプファイル３２をインポートする際のインポート部２２の動作を示すフローチャートである。図６〜７は、紙面の都合で１つのフローチャートを２ページに分けて示している。まずフラグ検出機能２２ａが、インポートされるオブジェクトについてフラグ３２ｃが付与されているか否かを確認する（ステップＳ２０１）。フラグ３２ｃが付与されていなければ、本発明の方式ではない従来と同じ方法にてインポートを行って（ステップＳ２１３）処理を終了する。
【００５３】
フラグ３２ｃが付与されているオブジェクトについて、ＲＯＷＩＤデータセット反映機能２２ｂが、ユーザ環境と同一名の表領域が存在するか検索を行う（ステップＳ２０２）。同一名の表領域が存在しない場合はエラーを出力して（ステップＳ２１２）処理を終了する。同一名の表領域が存在する場合、ＲＯＷＩＤデータセット反映機能２２ｂが、ＲＯＷＩＤデータセット３２ｄ内の相対ファイル番号（Ｄａｔａｆｉｌｅ＃）を、再現環境（データベース管理装置１０Ｂ）上の相対ファイル番号に変換する（ステップＳ２０３）。
【００５４】
次にＲＯＷＩＤデータセット反映機能２２ｂは、ＲＯＷＩＤデータセット内のｄａｔａｏｂｊ＃が再現環境のｄａｔａｏｂｊ＃と重複していないかを確認する（ステップＳ２０４）。このｄａｔａｏｂｊ＃はデータベース内で必ず一意となるため、重複があった場合はＲＯＷＩＤデータセットの側でｄａｔａｏｂｊ＃を１００ずつずらし（ステップＳ２０５）、再現環境のｄａｔａｏｂｊ＃と重複が無くなるまでこの動作を繰り返し行う。重複が無ければ列ＩＤのｄａｔａｏｂｊ＃をそのまま使用する。
【００５５】
次にＲＯＷＩＤデータセット反映機能２２ｂは、ＲＯＷＩＤデータセット３２ｄ内のｂｌｏｃｋ＃についても、ステップＳ２０３で確認した相対ファイル番号の表領域で空きブロックであるか否かについて確認を行う（ステップＳ２０６）。空きブロックであればそのｂｌｏｃｋ＃をそのまま使用し、空きでない場合はｂｌｏｃｋ＃を１００ずつずらし（ステップＳ２０７）、空きブロックが見つかるまでこの動作を繰り返し行う。
【００５６】
オブジェクトのブロック開始位置が決定した後、今度はオブジェクトをその開始ブロックから格納できるかを確認する（ステップＳ２０８）。格納できない場合は開始ブロックの位置（ｂｌｏｃｋ＃）を１００ずつずらし、格納できるブロックが見つかるまでこの動作を繰り返し行う（ステップＳ２０９）。
【００５７】
以上でオブジェクトの開始ブロックが決定したら列ＩＤのスロット番号（ｓｌｏｔ＃）とオフセット値３２ｅを使用してそのブロックにデータが入る位置を割り出し（ステップＳ２１０）、データ変換機能２２ｃはその位置にデータをインポートして（ステップＳ２１１）処理を終了する。
【００５８】
なお、本実施例ではｄａｔａｏｂｊ＃やｂｌｏｃｋ＃を「１００ずつ」ずらしているが、この番号をずらす幅は場合に応じて任意に決定することができる。
【００５９】
（第１の実施形態の全体的な動作）
次に、上記の実施形態の全体的な動作について説明する。本実施形態に係るエクスポート方法は、データベース管理部と、データベース管理部によって管理されるデータファイルを異なるデータベース管理システムで利用可能な形式のダンプファイルに変換するエクスポート部とを備えるデータベース管理装置にあって、データファイルからエクスポート処理の対象となるデータオブジェクトを対象データ変換機能が抽出し、抽出されたデータオブジェクトを対象データ変換機能がダンプファイルの形式に変換し、（図５・ステップ１０１）、変換されたデータオブジェクトに変換前のデータオブジェクトの配置に基づいて当該配置を再現するためのデータであるＲＯＷＩＤデータセットおよびオフセット値をＲＯＷＩＤデータセット付与機能が付与する（図５・ステップ１０４）。
【００６０】
また、本実施形態に係るインポート方法は、データベース管理部と、異なるデータベース管理システムによって出力されたＲＯＷＩＤデータセットおよびオフセット値を含むダンプファイルをデータベース管理部で利用可能なデータファイルに変換するインポート部とを備えるデータベース管理装置にあって、ＲＯＷＩＤデータセットおよびオフセット値に基づいて変換後のデータファイルのデータを書き込むディスク上の開始位置をＲＯＷＩＤデータセット反映機能が決定し（図６・ステップ２０３〜図７・ステップ２０９）、ダンプファイルのデータをデータ変換機能がデータファイルに変換し、このデータファイルをデータ変換機能が決定されたディスク上の位置に書き込む（図７・ステップ２１０〜２１１）。
【００６１】
ここで、上記各動作ステップについては、これをコンピュータで実行可能にプログラム化し、これらを前記各ステップを直接実行するコンピュータであるデータベース管理装置１０に実行させるようにしてもよい。
この構成および動作により、本実施形態は以下のような効果を奏する。
【００６２】
本実施形態によれば、データベースとは関係のないデータまでコピーして配置する必要はなく、また全てのオブジェクトを対象とせず、必要なオブジェクトだけを従来とほぼ同じコマンドでユーザ環境と同一のデータ配置・物理配置であるオブジェクトを別環境で再現することができる。これによって、ユーザ環境で発生した障害やパフォーマンス低下などの原因を特定しやすくなる。
【００６３】
本実施形態ではＤＢＭＳとしてＯｒａｃｌｅを利用した例を示したが、本実施形態はＯｒａｃｌｅ以外のＤＢＭＳに対しても同じように応用することができる。
【００６４】
これまで本発明について図面に示した特定の実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。
【００６５】
上述した各々の実施形態について、その新規な技術内容の要点をまとめると、以下のようになる。なお、上記実施形態の一部または全部は、新規な技術として以下のようにまとめられるが、本発明は必ずしもこれに限定されるものではない。
【００６６】
（付記１）  データベース管理部と、前記データベース管理部によって管理されるデータファイルを異なるデータベース管理システムで利用可能な形式のダンプファイルに変換するエクスポート部とを備えるデータベース管理装置であって、
前記エクスポート部が、
前記データファイルからエクスポート処理の対象となるデータオブジェクトを抽出してこれを前記ダンプファイルの形式に変換する対象データ変換機能と、
前記変換されたデータオブジェクトに変換前の前記データオブジェクトの配置に基づいて当該配置を再現するためのデータであるＲＯＷＩＤデータセットおよびオフセット値を付与するＲＯＷＩＤデータセット付与機能とを備えることを特徴とするデータベース管理装置。
【００６７】
（付記２）  前記エクスポート部が、
前記変換されたデータオブジェクトに変換前の前記データオブジェクトの配置に従って前記ダンプファイルを前記データファイルに変換する対象であることを示すフラグを付与するフラグ付与機能を備えることを特徴とする、付記１に記載のデータベース管理装置。
【００６８】
（付記３）  データベース管理部と、異なるデータベース管理システムによって出力されたＲＯＷＩＤデータセットおよびオフセット値を含むダンプファイルを前記データベース管理部で利用可能なデータファイルに変換するインポート部とを備えるデータベース管理装置であって、
前記インポート部が、
前記ＲＯＷＩＤデータセットおよびオフセット値に基づいて変換後の前記データファイルのデータを書き込むディスク上の開始位置を決定するＲＯＷＩＤデータセット反映機能と、
前記ダンプファイルのデータを前記データファイルに変換してこのデータファイルを前記決定されたディスク上の位置に書き込むデータ変換機能を備えることを特徴とするデータベース管理装置。
【００６９】
（付記４）  前記ＲＯＷＩＤデータセット反映機能が、変換された前記データファイルが前記ディスク上に書き込み可能か否かを調べ、書き込み不可能であればこれが可能になるまで前記開始位置を移動することを特徴とする、付記３に記載のデータベース管理装置。
【００７０】
（付記５）  前記ダンプファイルに前記ＲＯＷＩＤデータセット反映機能による処理の対象であることを示すフラグが含まれていなければ前記ＲＯＷＩＤデータセット反映機能を使用せずに前記データ変換機能に前記ダンプファイルを前記データファイルに変換させるフラグ検出機能を備えることを特徴とする、付記３に記載のデータベース管理装置。
【００７１】
（付記６）  データベース管理部と、前記データベース管理部によって管理されるデータファイルを異なるデータベース管理システムで利用可能な形式のダンプファイルに変換するエクスポート部とを備えるデータベース管理装置にあって、
前記データファイルからエクスポート処理の対象となるデータオブジェクトを対象データ変換機能が抽出し、
抽出された前記データオブジェクトを前記対象データ変換機能が前記ダンプファイルの形式に変換し、
前記変換されたデータオブジェクトに変換前の前記データオブジェクトの配置に基づいて当該配置を再現するためのデータであるＲＯＷＩＤデータセットおよびオフセット値をＲＯＷＩＤデータセット付与機能が付与する
ことを備えることを特徴とするエクスポート方法。
【００７２】
（付記７）  データベース管理部と、前記データベース管理部によって管理されるデータファイルを異なるデータベース管理システムで利用可能な形式のダンプファイルに変換するエクスポート部とを備えるデータベース管理装置にあって、
コンピュータに、
前記データファイルからエクスポート処理の対象となるデータオブジェクトを抽出する手順と、
抽出された前記データオブジェクトを前記ダンプファイルの形式に変換する手順と、
前記変換されたデータオブジェクトに変換前の前記データオブジェクトの配置に基づいて当該配置を再現するためのデータであるＲＯＷＩＤデータセットおよびオフセット値を付与する手順と
を実行させることを特徴とするエクスポートプログラム。
【００７３】
（付記８）  データベース管理部と、異なるデータベース管理システムによって出力されたＲＯＷＩＤデータセットおよびオフセット値を含むダンプファイルを前記データベース管理部で利用可能なデータファイルに変換するインポート部とを備えるデータベース管理装置にあって、
前記ＲＯＷＩＤデータセットおよびオフセット値に基づいて変換後の前記データファイルのデータを書き込むディスク上の開始位置をＲＯＷＩＤデータセット反映機能が決定し、
前記ダンプファイルのデータをデータ変換機能が前記データファイルに変換し、
このデータファイルを前記データ変換機能が前記決定されたディスク上の位置に書き込む
ことを特徴とするインポート方法。
【００７４】
（付記９）  データベース管理部と、異なるデータベース管理システムによって出力されたＲＯＷＩＤデータセットおよびオフセット値を含むダンプファイルを前記データベース管理部で利用可能なデータファイルに変換するインポート部とを備えるデータベース管理装置にあって、
コンピュータに、
前記ＲＯＷＩＤデータセットおよびオフセット値に基づいて変換後の前記データファイルのデータを書き込むディスク上の開始位置を決定する手順と、
前記ダンプファイルのデータを前記データファイルに変換する手順と、
このデータファイルを前記決定されたディスク上の位置に書き込む手順と
を実行させることを特徴とするインポートプログラム。
【産業上の利用可能性】
【００７５】
本発明は、ＤＢＭＳを利用する全てのコンピュータシステムに対して適用可能である。特にそのＤＢＭＳによって管理されるデータファイルが大規模なものである場合に、本発明はその効果を顕著に発揮しうる。
【符号の説明】
【００７６】
１０、１０Ａ、１０Ｂ  データベース管理装置
１１  主演算制御手段
１２  記憶手段
１３  入出力手段
２１  データベース管理部
２２  インポート部
２２ａ  フラグ検出機能
２２ｂ  ＲＯＷＩＤデータセット反映機能
２２ｃ  データ変換機能
２３  エクスポート部
２３ａ  対象データ変換機能
２３ｂ  フラグ付与機能
２３ｃ  ＲＯＷＩＤデータセット付与機能
３１  データファイル
３１ａ、３１ｂ  相対ファイル
３２  ダンプファイル
３２ａ  行データ
３２ｂ  ｃｒｅａｔｅ文
３２ｃ  フラグ
３２ｄ  ＲＯＷＩＤデータセット
３２ｅ  オフセット値
５１ａ、５１ｂ  データブロック
５２ａ  ＯＳファイルヘッダ
５２ｂ  Ｏｒａｃｌｅファイルヘッダ
５２ｃ、５２ｄ  ブロック
【図１】
0005494133.tif 000002
【図２】
0005494133.tif 000003
【図３】
0005494133.tif 000004
【図４】
0005494133.tif 000005
【図５】
0005494133.tif 000006
【図６】
0005494133.tif 000007
【図７】
0005494133.tif 000008