36 情報のプロビジョニングの使用
この章では、情報のプロビジョニングの使用方法について説明します。この章では、表領域リポジトリの作成例、データベース間での表領域の転送例、およびファイル・グループ・リポジトリを使用した異なるバージョンのファイルの格納例を示します。
次の各項では、情報のプロビジョニングの使用について説明します。
関連項目:
36.1 表領域リポジトリの使用
DBMS_STREAMS_TABLESPACE_ADM
パッケージの次のプロシージャを使用すると、表領域リポジトリの作成、表領域リポジトリに対するバージョニングされた表領域セットの追加、および表領域リポジトリからのバージョニングされた表領域セットのコピーを実行できます。
-
ATTACH_TABLESPACES
: 表領域リポジトリから表領域セットのバージョンをコピーし、データベースに表領域をアタッチします。 -
CLONE_TABLESPACES
: データベースから表領域セットをコピーして、表領域リポジトリに新しいバージョンの表領域セットを追加します。表領域セット内の表領域は、コピー元のデータベースの一部として残ります。 -
DETACH_TABLESPACES
: 表領域セットをデータベースからリポジトリに移動して、表領域リポジトリに新しいバージョンの表領域セットを追加します。表領域セット内の表領域は、コピー元のデータベースから削除されます。
この項では、表領域リポジトリの使用方法を例とともに説明します。この例での目標は、sales表領域(sales_tbs1
およびsales_tbs2
)に四半期レポートを実行することです。売上は、inst1.example.com
データベース内のこれらの表領域に記録されます。この例では、四半期ごとに表領域をクローニングし、表領域リポジトリに新しいバージョンの表領域を格納します。表領域リポジトリは、inst1.example.com
データベースにも存在します。レポート・データベースでレポートを実行するために表領域セットの特定のバージョンが必要な場合、そのバージョンが表領域リポジトリからコピーされ、レポート・データベースにアタッチされます。
この例では、次のデータベースがレポート・データベースです。
-
レポート・データベース
inst2.example.com
:inst1.example.com
データベースとファイル・システムを共有します。また、inst2.example.com
で実行されるレポートによって表領域が変更される場合があります。そのため、表領域はinst2.example.com
で読取り/書込み可能になり、レポートの完了時に、新しいバージョンの表領域ファイルが、元のバージョンの表領域ファイルとは別のディレクトリに格納されます。 -
レポート・システム
inst3.example.com
:inst1.example.com
データベースとファイル・システムを共有しません。inst3.example.com
で実行されるレポートによって表領域が変更されることはありません。そのため、表領域はinst3.example.com
で読取り専用のままになり、レポートの完了時に、元のバージョンの表領域ファイルが単一のディレクトリ内に残ります。
次の各項では、表領域リポジトリを作成および移入する方法、および表領域リポジトリを使用して他のデータベースでレポートを実行する方法について説明します。
これらの例は、前述のプロシージャを実行するために必要な権限を持つ管理ユーザーが実行する必要があります。
関連項目:
これらのプロシージャおよびそれらの実行に必要な権限の詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照
36.1.1 表領域リポジトリの作成および移入
この例では、表領域リポジトリを作成し、表領域セットの新しいバージョンを各四半期後にリポジトリに追加します。表領域セットは、企業のsales表領域(sales_tbs1
およびsales_tbs2
)で構成されています。
図36-1に、この例で作成される表領域リポジトリの概要を示します。
次の表に、この例で作成される表領域セットのバージョン、それらのディレクトリ・オブジェクト、および各ディレクトリ・オブジェクトの対応するファイル・システム・ディレクトリを示します。
バージョン | ディレクトリ・オブジェクト | 対応するファイル・システム・ディレクトリ |
---|---|---|
|
|
|
|
|
|
この例では、次のことを想定しています。
-
inst1.example.com
データベースが存在しています。 -
inst1.example.com
データベース内にsales_tbs1
およびsales_tbs2
表領域が存在しています。
表領域リポジトリを作成および移入するには、次の手順を実行します。
36.1.2 共有ファイル・システムを使用したリモート・レポートに対する表領域リポジトリの使用
この例では、inst2.example.com
で、inst1.example.com
の表領域リポジトリに格納されたsales表領域の特定のバージョンに対してレポートを実行します。これらの2つのデータベースは1つのファイル・システムを共有するため、inst2.example.com
で実行されるレポートによって表領域が変更される場合があります。そのため、表領域はinst2.example.com
で読取り/書込み可能になります。レポートの完了時、表領域ファイルの新しいバージョンは、表領域ファイルの元のバージョンとは別のディレクトリに格納されます。
図36-2に、この例で表領域リポジトリ内の表領域を異なるデータベースにアタッチする方法の概要を示します。
図36-3に、この例で表領域リポジトリ内に表領域をデタッチおよび配置する方法の概要を示します。
次の表に、この例の完了時の表領域リポジトリ内の表領域セットのバージョンを示します。この表には、各バージョンのディレクトリ・オブジェクトおよび各ディレクトリ・オブジェクトの対応するファイル・システム・ディレクトリを示します。この例では新しいバージョンが作成されます。この例より前に存在していたバージョンは「表領域リポジトリの作成および移入」で作成されたものです。
バージョン | ディレクトリ・オブジェクト | 対応するファイル・システム・ディレクトリ | 新しいバージョンかどうか |
---|---|---|---|
|
|
|
いいえ |
|
|
|
はい |
|
|
|
いいえ |
|
|
|
はい |
この例では、次のことを想定しています。
-
inst1.example.com
およびinst2.example.com
データベースが存在しています。 -
inst1.example.com
およびinst2.example.com
データベースは共有ファイル・システムにアクセスできます。 -
これらのデータベースが相互に通信できるように、ネットワークがデータベース間で構成されています。
-
様々な四半期用のsales表領域(
sales_tbs1
およびsales_tbs2
)のバージョンを含む表領域リポジトリは、inst1.example.com
データベースに存在しています。この表領域リポジトリは、「表領域リポジトリの作成および移入」の例で作成および移入されたものです。
手順は次のとおりです。
36.1.3 共有ファイル・システムを使用しないリモート・レポートに対する表領域リポジトリの使用
この例では、inst3.example.com
で、inst1.example.com
の表領域リポジトリに格納されたsales表領域の特定のバージョンに対してレポートを実行します。これらの2つのデータベースは1つのファイル・システムを共有しないため、inst3.example.com
で実行されるレポートによって表領域は変更されません。そのため、表領域はinst3.example.com
で読取り専用のままになり、レポートの完了時に、inst1.example.com
の表領域リポジトリに新しいバージョンの表領域ファイルは必要ありません。
図36-4に、この例で表領域リポジトリ内の表領域を異なるデータベースにアタッチする方法の概要を示します。
次の表に、この例で使用されるディレクトリ・オブジェクトを示します。この表には、inst1.example.com
データベースの表領域リポジトリのバージョンに関連付けられた既存のディレクトリ・オブジェクト、およびこの例でinst3.example.com
データベースに作成された新しいディレクトリ・オブジェクトを示します。この例より前に存在していたディレクトリ・オブジェクトは「表領域リポジトリの作成および移入」で作成されたものです。
ディレクトリ・オブジェクト | データベース | バージョン | 対応するファイル・システム・ディレクトリ | 新しいバージョンかどうか |
---|---|---|---|---|
|
|
|
|
いいえ |
|
|
|
|
いいえ |
|
|
表領域リポジトリのバージョンには関連付けられていない |
|
はい |
|
|
表領域リポジトリのバージョンには関連付けられていない |
|
はい |
この例では、次のことを想定しています。
-
inst1.example.com
およびinst3.example.com
データベースが存在しています。 -
inst1.example.com
およびinst3.example.com
データベースはファイル・システムを共有しません。 -
データベースが相互に通信できるように、ネットワークがデータベース間で構成されています。
-
inst1.example.com
データベース内にsales表領域(sales_tbs1
およびsales_tbs2
)が存在しています。
手順は次のとおりです。
36.2 ファイル・グループ・リポジトリの使用
DBMS_FILE_GROUP
パッケージを使用すると、ファイル・グループ・リポジトリの作成、リポジトリへのバージョニングされたファイル・グループの追加およびリポジトリからのバージョニングされたファイル・グループのコピーを実行できます。この項では、ファイル・グループ・リポジトリの使用方法とリポジトリにレポートを格納する使用例について説明します。
この例では、ある企業がインターネット経由で書籍および音楽商品を販売します。企業は、inst1.example.com
データベース内の売上データに関する週次レポートを実行し、これらのレポートをコンピュータ・ファイル・システムに2つのHTMLファイルで格納します。book_sales.htm
ファイルには、書籍の売上レポートが含まれ、music_sales.htm
ファイルには、音楽商品の売上レポートが含まれます。企業は、これらの週次レポートを、inst2.example.com
リモート・データベースのファイル・グループ・リポジトリに格納します。毎週、2つのレポートがinst1.example.com
データベースで生成され、inst2.example.com
データベースが実行されているコンピュータ・システムに転送され、ファイル・グループ・バージョンとしてリポジトリに追加されます。ファイル・グループ・リポジトリには、週ごとのレポートを含むすべてのファイル・グループのバージョンが格納されます。
図36-5に、この例で作成されるファイル・グループ・リポジトリの概要を示します。
ファイル・グループ・リポジトリのメリットは、データ・ディクショナリ内の各ファイル・グループのバージョンに関するメタデータを格納し、ファイル・グループのバージョンを管理するための標準インタフェースを提供することです。たとえば、企業が特定の売上レポートを表示する必要がある場合、inst2.example.com
データベース内のデータ・ディクショナリを問い合せて、コンピュータ・ファイル・システム上のレポートの場所を判別できます。
次の表に、この例で作成されるディレクトリ・オブジェクトを示します。この表には、新しいレポートを格納するためにinst1.example.com
データベースに作成されるディレクトリ・オブジェクト、およびinst2.example.com
データベース上のファイル・グループ・リポジトリのバージョンに関連付けられたディレクトリ・オブジェクトを示します。
ディレクトリ・オブジェクト | データベース | バージョン | 対応するファイル・システム・ディレクトリ |
---|---|---|---|
|
|
ファイル・グループ・リポジトリのバージョンには関連付けられていない |
|
|
|
|
|
|
|
|
|
この例では、次のことを想定しています。
-
inst1.example.com
およびinst2.example.com
データベースが存在しています。 -
inst1.example.com
およびinst2.example.com
データベースはファイル・システムを共有しません。 -
データベースが相互に通信できるように、ネットワークがデータベース間で構成されています。
-
inst1.example.com
データベースでは、データベース内の書籍および音楽商品の売上データに関するレポートが実行され、コンピュータ・ファイル・システムにHTMLファイルとしてレポートが格納されます。
リモート・データベースでファイル・グループ・リポジトリを構成および移入するには、次の手順を実行します。
この時点で、ファイル・グループ・リポジトリには、売上レポート・ファイルを含むファイル・グループの2つのバージョンが含まれます。ファイル・グループの新しいバージョンをリポジトリに追加するには、手順12から17を繰り返します。
関連項目:
-
DBMS_FILE_GROUP
パッケージの詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照