ヘッダーをスキップ
Oracle Warehouse Builderインストレーションおよび管理ガイド
11gリリース1(11.1)for Microsoft Windows and UNIX Systems
E05735-03
  目次
目次
索引
索引

前へ
前へ
 
次へ
次へ
 

12 トランスポータブル・モジュールによる大量のデータの移動

Oracle Warehouse Builderでは、エンタープライズ・データ・ウェアハウスを段階的に構築して公開できます。データ・ウェアハウスのパフォーマンスおよび管理性も向上できます。

Warehouse Builderのマッピングは、データベース・リンクを介してリモート・データにアクセスします。このデータ・アクセス・プロセスでは、オーバーヘッドやネットワーク遅延を処理するため、ローカル・データにアクセスするマッピングよりも処理が遅くなります。データ・アクセス速度を高速にするには、次のいずれかの戦略を使用できます。

トランスポータブル・モジュールは、梱包された品物をある場所から別の場所に最短時間で配送する配送サービスのような役割を果たします。

注意: トランスポータブル・モジュールを使用するには、組織にWarehouse Builder Enterprise ETLオプションのライセンスがあることを確認してください。

次の各項では、トランスポータブル・モジュールについて説明します。

トランスポータブル・モジュールについて

トランスポータブル・モジュールを使用すると、関連するデータベース・オブジェクトのグループを複数のデータベース間ですばやくコピーできます。

デザイン・センターを使用して最初にトランスポータブル・モジュールを作成し、ソース・データベースとターゲット・データベースのロケーションを指定します。次に、トランスポータブル・モジュールに含めるデータベース・オブジェクトを選択します。選択したオブジェクトのメタデータが、ソース・データベースからトランスポータブル・モジュールにインポートされます。メタデータはワークスペースに格納されます。データとメタデータをソースからターゲットに物理的に移動するには、トランスポータブル・モジュールを構成して、ターゲット・ロケーションに配布する必要があります。データとメタデータは、どちらも配布中にソース・データベースから抽出され、ターゲット・データベースに作成されます。

データとメタデータの移動は、次のテクノロジの組合せにより実現します。

トランスポータブル・モジュールの構成により、使用するテクノロジが決まります。

トランスポータブル・モジュールには、次のソース・オブジェクトを追加できます。

図12-1は、従来のETL(抽出、変換およびロード)プロセスを示しています。このプロセスでは、データベース・リンクを使用して何度もリモート・アクセスすることにより、リモート・データベースからデータが抽出されます。

図12-1 データベース・リンクを使用して複数のリモート・アクセスによるリモート・データベースからデータを抽出するプロセス

図12-1の説明は図の下にあります。
「図12-1 データベース・リンクを使用して複数のリモート・アクセスによるリモート・データベースからデータを抽出するプロセス」の説明

データベース・リンクを使用するリモート・アクセスでは、問合せやDMLは順次実行され、ネットワーク待機時間も生じるため、パフォーマンスが大幅に低下します。同じソース表が何度もアクセスされると、パフォーマンスの低下はさらに顕著になります。

トランスポータブル・モジュールのテクノロジは、図12-2に示すように機能します。このアーキテクチャでは、マッピングに必要なすべてのソース・オブジェクトが配布中に1つにまとめられ、ターゲットに転送されます。トランスポータブル・モジュールの配布では、Oracle Data Pump、FTPおよびOracleトランスポータブル表領域が使用されるため、非常に高い転送パフォーマンスが実現します。この転送では、ネットワーク遅延によるコスト負担も1回で済みます。配布後のマッピングは、データにローカルにアクセスすることになるので、パラレル問合せやパラレルDMLを実行できるという利点もあります。また、同じデータへのアクセスが繰り返されるため、パフォーマンス的にもトランスポータブル・モジュールは大きな利点があります。

図12-2 トランスポータブル・モジュールの配布

図12-2の説明は図の下にあります。
「図12-2 トランスポータブル・モジュールの配布」の説明

トランスポータブル・モジュールを使用すると、データ・ウェアハウスのロードも管理しやすくなります。ソース・データベースに必要な停止時間は、トランスポータブル・モジュールの配布が完了するまでの短い時間です。ソース・データベースのユーザーは、データ全体がデータ・ウェアハウスにロードされるまで待つ必要はありません。たとえば、トランスポータブル表領域の実装を使用する場合、トランスポータブル・モジュールでは約5分で20GBの表領域をコピーできるので、ソース・データベースの停止時間は5分で済みます。

ターゲット・データベースにコピーされるデータは、ソース・データベースに存在する情報のスナップショットです。これは、データ・バージョニング・システムの作成に使用できます。上級ユーザーは、トランスポートされた表にストリームを作成して、ソースの変更をリアルタイムに取得できます。トランスポートされた表は、より大きな表にパーティションとしてコピーすることもできます。

複数部門が存在する企業の環境では、ターゲット・データベースが実際には業務系データ・ストアとして中間的なレポート作成や更新目的に使用される場合があります。このようなターゲット・データベースは、データ・コレクションの次の段階ではソースとして機能する場合もあります。トランスポータブル・モジュールは、データ・ウェアハウスに格納されるまでのデータの移動パスに沿って、様々な段階で使用できます。

トランスポータブル・モジュールは、データ・マートの公開にも使用できます。データ・マートは通常、大規模なデータ・ウェアハウスの一部として、単独でアクセスされたり部門単位でアクセスされたりします。データ・マートを作成するということは、データ・ウェアハウスで収集と処理が行われたデータをコピーすることを意味する場合もあります。トランスポータブル・モジュールは、この作業を実行するためにも作成できます(図12-3)。また、同じトランスポータブル・モジュールを使用して、データ・マートを複数のロケーションに配布することも可能です。

図12-3 データ・ウェアハウス内のデータ・マート

トランスポータブル・モジュールによって公開されているデータ・マート
「図12-3 データ・ウェアハウス内のデータ・マート」の説明

トランスポータブル・モジュールにより、ソース・データベース・オブジェクトのスナップショットを配布するため、この配布時間を使用してデータ・マートのバージョンを追跡管理できます。

トランスポータブル・モジュールとOracle Databaseテクノロジについて

トランスポータブル・モジュールは、Warehouse Builderのテクノロジだけでなく、Oracle Databaseのテクノロジを利用して動作します。トランスポータブル・モジュールにより、ソース・データベースの一部をターゲット・データベースにレプリケートします。ソース・データベースからレプリケートできるものは、表領域、表、索引、制約などのリレーショナル・オブジェクトです。

Oracle Databaseでは、データベースのリリースに応じて表領域をレプリケートします。2つの8iリリース・データベース間、または2つの9iリリース・データベース間のデータ・トランスポートでは、データベースからOracleトランスポータブル表領域機能がコールされます。2つのOracle 10gデータベース間のトランスポートでは、Oracle Data Pump機能がコールされます。

Oracle Database 11gとOracle Data Pumpを使用する場合は、表領域をトランスポートせずに表のみをトランスポートできます。たとえば、表のサイズが100KBで、その表領域のサイズが10MBの場合、表領域全体を配布しなくても表を配布できます。スキーマ全体をコピーするオプションは、Oracle Data Pumpにのみ用意されています。Oracle 10gリリースのデータベースの場合は、「トランスポータブル・モジュールの構成」で説明しているように、構成時にData Pumpとトランスポータブル表領域のどちらかを指定します。


関連項目:

トランスポータブル表領域およびData Pumpの詳細は、Oracle Database 11gのドキュメントを参照してください。

トランスポータブル・モジュールを使用することの利点

トランスポータブル・モジュールが導入される前、最もスケーラブルなデータ・トランスポート手段は、生データを格納するフラット・ファイルの移動に依存していました。この手段の場合、ソース・データベースのデータをファイルにアンロードするかエクスポートしてから、それらのファイルをターゲット・データベースにロードするかインポートする必要がありました。トランスポータブル・モジュールの場合は、アンロードとリロードの手順全体を省略して、Oracle Databaseテクノロジのトランスポータブル表領域とData Pumpを利用することができます。

高いパフォーマンスのデータ抽出

トランスポータブル・モジュールを使用すると、マッピングの際にデータをリモート・アクセスする必要性が低減します。大量のデータがリモート・コンピュータにある場合は、トランスポータブル・モジュールを使用して、ターゲットのOracleデータベースにソースをすばやくレプリケートします。こうすることで、Warehouse Builderのマッピングは、データのローカル・コピーに直接アクセスできるようになります。さらに、ソースがターゲットの一部になるため、ソース・データにETL操作を直接実行できます。

データ・マートの配布とアーカイブ

中央となるデータ・ウェアハウスはETL処理を制御しますが、従属するデータ・マートは読取り専用になります。トランスポータブル・モジュールを使用すると、読取り専用のデータ・マートを複数の部門別データベースにコピーできます。この方法で、中央のデータ・ウェアハウスから新しいデータ・マートを定期的に公開し、古い表領域を削除して新しい表領域をインポートすることによって古いデータ・マートを置き換えます。複製と配布はそれほど時間がかからないため、日常の分析や業務運用に応じてデータ・マートを公開して配布できます。

ソースのアーカイブ

ソースの表領域は、読取り専用モードに設定してからターゲットにエクスポートできます。ソース・データベースの一貫性のあるスナップショットが指定の時間に作成されることにより、すべてのデータ・ファイルがコピーされます。このコピーはその後アーカイブ可能になります。アーカイブされたデータは、ソース・データベースとターゲット・データベースにリストアできます。

トランスポータブル・モジュールを使用するための手順

開始する前に

トランスポータブル・モジュールの使用要件の確認」で説明しているように、必要なロールと権限を持つユーザーとして、ソース・データベースとターゲット・データベースに接続できることを確認します。

組織にWarehouse Builder Enterprise ETLオプションのライセンスがあることを確認してください。

トランスポータブル・モジュールを使用するには、次の各項を参照してください。

データベース管理者への注意: 手順1には、強力なデータベース・ロールと権限が必要です。手順3には、スキーマ・パスワードの情報が必要です。手順3の実行は、セキュリティの考慮事項に応じて、開発者に許可するか、データベース管理者のみに制限するかしてください。

  1. トランスポータブル・モジュールのロケーションの指定

    次の手順に進む前に、各ロケーションとの接続テストに成功することを確認します。

  2. トランスポータブル・モジュールの作成

  3. トランスポータブル・モジュールの構成

  4. トランスポータブル・モジュールの配布と生成

  5. トランスポータブル・モジュールを介してデータにアクセスするマッピングの設計

  6. トランスポータブル・モジュールの編集

トランスポータブル・モジュールの使用要件の確認

トランスポータブル・モジュールのソース・ロケーションを作成するときは、ソース・データベースのバージョンに応じて、ソース・ロケーション・ユーザーに次のロールまたは権限(あるいはその両方)が必要になります。

  • ソース・データベースがOracle 10gより古い場合、ソース・ロケーション・ユーザーにはSYSDBAロールが必要です。

  • ソース・データベースがOracle 10gの場合、SYSDBAロールは不要ですが、次のロールと権限をソース・ロケーション・ユーザーに割り当てる必要があります。

    • CONNECTロール

    • EXP_FULL_DATABASEロール

    • ALTER TABLESPACE権限

トランスポータブル・モジュールのターゲット・ロケーションを作成するときは、ターゲット・データベースのバージョンに応じて、ターゲット・ロケーション・ユーザーに次のロールまたは権限(あるいはその両方)が必要になります。

  • ターゲット・データベースがOracle 10gより古い場合、ターゲット・ロケーション・ユーザーにはSYSDBAロールが必要です。

  • ターゲット・データベースがOracle 10gの場合、SYSDBAロールは不要ですが、次のロールと権限をターゲット・ロケーション・ユーザーに割り当てる必要があります。

    • ADMIN OPTIONが付与されているCONNECTロール

    • ADMIN OPTIONが付与されているRESOURCEロール

    • IMP_FULL_DATABASEロール

    • ALTER TABLESPACE権限

    • ADMIN OPTIONが付与されているEXECUTE_CATALOG_ROLE

    • ADMIN OPTIONが付与されているCREATE MATERIALIZED VIEW権限

    • CREATE ANY DIRECTORY権限


注意:

トランスポータブル・モジュールでソース・データベースからオブジェクトを読み取って、ターゲット・データベースにオブジェクトを作成するには、トランスポータブル・モジュールのソース・ロケーション・ユーザーとターゲット・ロケーション・ユーザーに強力なロールと権限を多数割り当てる必要があります。本番環境では必要に応じて、データ・ウェアハウス開発者のためにトランスポータブル・モジュールのソース・ロケーションとターゲット・ロケーションをDBAが作成し(接続エクスプローラを使用)、パスワードを秘密にしておくことができます。

ソース・データベースに必要なロールと権限をDBAがソース・ロケーション・ユーザーに割り当てるためのSQLスクリプトは、次のとおりです。

grant connect to <TM src location user>;
grant exp_full_database,alter tablespace to <TM src location user>;

ターゲット・データベースに必要なロールと権限をDBAがターゲット・ロケーション・ユーザーに割り当てるためのSQLスクリプトは、次のとおりです。

grant connect,resource to <TM tgt location user> with admin option;
grant imp_full_database,alter tablespace to <TM tgt location user>;
grant execute_catalog_role to <TM tgt location user> with admin option;
grant create materialized view to <TM tgt location user> with admin option;
grant create any directory to <TM tgt location user>;

トランスポータブル・モジュールのロケーションの指定

トランスポータブル・モジュールを作成する前に、最初に接続エクスプローラでソース・ロケーションとターゲット・ロケーションを定義します。各トランスポータブル・モジュールに定義できるソース・ロケーションとターゲット・ロケーションは1つのみです。

トランスポータブル・モジュールのロケーションを指定するには:

  1. 接続エクスプローラで、「ロケーション」ノードを開きます。

  2. データベース」ノードを開きます。

  3. トランスポータブル・モジュール・ソース・ロケーション」または「トランスポータブル・モジュール・ターゲット・ロケーション」ノードを右クリックして、「新規」を選択します。

    Warehouse Builderに、ソース・ロケーションやターゲット・ロケーションの接続情報を指定するダイアログ・ボックスが表示されます。

  4. ソース・ロケーションとターゲット・ロケーションの定義手順は同じです。ただし、ターゲット・ロケーションには、オプションのFTP接続詳細は指定しません。「トランスポータブル・モジュールのソース・ロケーション情報」の説明に従って接続情報を指定し、接続をテストします。

トランスポータブル・モジュールのソース・ロケーション情報

Warehouse Builderでは最初にこの接続情報を使用して、トランスポータブル・モジュール用のメタデータをソース・コンピュータからワークスペースにインポートします。配布中、ソースからターゲットへのデータの移動にこの接続情報が使用されます。

名前

ソース・データベースまたはターゲット・データベースのロケーションの名前です。

説明

ロケーションの説明です(オプション)。

ユーザー名/パスワード

Warehouse Builderは、データベースのユーザー名とパスワードを使用して、トランスポータブル・モジュールに含めるソース・オブジェクトのメタデータを取得します。また、配布中にこの情報を使用して、トランスポータブル表領域またはData Pumpの処理を実行します。

トランスポータブル・モジュールで使用するデータベースにアクセスするには、「トランスポータブル・モジュールの使用要件の確認」で説明しているように、適切なデータベース・ロールと権限を保有していることを確認する必要があります。

ホスト

データベースがインストールされているコンピュータのホスト名です。

ポート

データベースがインストールされているコンピュータのポート番号です。

サービス

データベースがインストールされているコンピュータのサービス名です。

バージョン

リストからOracle Databaseのリリース番号を選択します。

FTPユーザー名/FTPパスワード(オプション)

データのトランスポート手段としてOracleトランスポータブル表領域を使用する場合は、FTPアカウント資格証明を指定します。トランスポータブル表領域手段を構成しない場合、FTP資格証明は不要です。

トランスポータブル表領域を使用するように構成する場合でも、ソース・データベースとターゲット・データベースが同じコンピュータに配置されている場合、またはソースとターゲットの両方が共有ディスク・ボリュームにアクセスできる場合は、FTPアカウント資格証明を空白にしておくことができます。FTP資格証明が指定されていない場合には、ソース・ディレクトリからターゲット・ディレクトリにソース・ファイルのプレーン・コピーが行われます。

接続テスト

接続情報を検証するには、「接続テスト」をクリックします。Warehouse Builderは、ソース・データベース、およびソース・コンピュータ上のFTPサービス(該当する場合)への接続を試みます。両方の資格証明が検証された場合のみ、成功を示すメッセージが表示されます。

トランスポータブル・モジュールの作成

トランスポータブル・モジュールを作成するには:

  1. プロジェクト・エクスプローラで、「データベース」ノードを開きます。

  2. トランスポータブル・モジュール」ノードを右クリックして、「新規」を選択します。

    トランスポータブル・モジュール作成ウィザードの「ようこそ」ページが表示されます。

  3. このウィザードに従って、次の作業を実行します。

    トランスポータブル・モジュールの説明

    ソース・ロケーションの選択

    ターゲット・ロケーションの選択

    表領域とスキーマ・オブジェクトの選択

    トランスポータブル・モジュール定義の確認

トランスポータブル・モジュールの説明

「名前と説明」ページで、トランスポータブル・モジュールの名前と説明(オプション)を入力します。

ソース・ロケーションの選択

ウィザードのページにより新しいソース・ロケーションを作成できますが、「トランスポータブル・モジュールのソース・ロケーション情報」で説明しているように、ウィザードを開始する前にトランスポータブル・モジュールのロケーションを定義しておくことをお薦めします。

既存のロケーションを選択すると、ウィザードでは接続がテストされます。有効な接続情報でロケーションを指定するまで、次の手順には進めません。

ターゲット・ロケーションの選択

リストからターゲット・ロケーションを選択します。ターゲット・ロケーションが表示されていない場合は、「新規」をクリックし、「トランスポータブル・モジュールのソース・ロケーション情報」の説明に従ってターゲット・ロケーションを定義します。

表領域とスキーマ・オブジェクトの選択

「内容の定義」ページで、トランスポータブル・モジュールに含める表領域とスキーマ・オブジェクトを選択します。左側のペインの「使用可能なデータベース・オブジェクト」には、ソースの表領域、スキーマおよび使用可能なスキーマ・オブジェクトがすべて表示されます。右側のペインの「選択されたデータベース・オブジェクト」には、オブジェクトを選択して移動しているとそのオブジェクトが表示されます。

表領域を開き、各表領域に含まれるスキーマと、各スキーマに含まれるオブジェクトを表示します。表領域以外のスキーマ・オブジェクト(ビューや順序など)も、表領域に格納されていなくても、それぞれのスキーマ所有者の下に一覧表示されます。一度に複数のオブジェクトを選択するには、[Ctrl]キーを押しながら選択します。トランスポータブル・モジュールには、次のタイプのオブジェクトを含めることができます。

  • ビュー

  • マテリアライズド・ビュー

  • 順序

  • 外部表

  • PL/SQLファンクション、プロシージャおよびパッケージ

  • オブジェクト・タイプ、可変長配列型、ネストした表のタイプ

「使用可能なデータベース・オブジェクト」フィールドから表領域とスキーマ・オブジェクトを選択し、中央の矢印ボタンをクリックして、選択したオブジェクトを「選択されたデータベース・オブジェクト」フィールドに移動します。

使用可能なデータベース・オブジェクト

ノードの上にマウスを移動すると、データ・ファイルの数と合計サイズを表示できます。ウィザードではこの情報はツールチップとして表示されます。

図12-4は、ツールチップが表示されたウィザードを示しています。

図12-4 データ・ファイルの数と合計サイズの表示

この図の詳細は前後のテキストにあります。
「図12-4 データ・ファイルの数と合計サイズの表示」の説明

「使用可能なデータベース・オブジェクト」リストでのオブジェクトの検索:

懐中電灯のアイコンをダブルクリックして、タイプまたは名前でソース・データ・オブジェクトを検索します。「オブジェクト」フィールドに、検索するオブジェクトの名前、またはフィルタする文字を入力します。「タイプ」リストで、検索するオブジェクトのタイプを指定します。名前と説明のどちらで検索するかに応じて、適切なボックスを選択します。

たとえば、「オブジェクト」フィールドに「T%」と入力し、「タイプ」フィールドから表領域を選択して、「次を検索」をクリックしたとします。この場合は、「使用可能なデータベース・オブジェクト」ナビゲーション・ツリーで、名前がTで始まる最初の表領域にカーソルが移動します。その表領域が選択対象となる表領域でない場合には、「次を検索」をクリックして次の表領域を検索します。この検索プロセスでは、ナビゲーション・ツリーですべてのスキーマ名が開いて、すべての表領域が表示されます。

「使用可能なデータベース・オブジェクト」リストのフィルタ:

スキーマ・ノードをダブルクリックするか、スキーマに属する任意のノードをダブルクリックすると、フィルタ・パターンを入力できます。たとえば、「T%」と入力して「OK」をクリックすると、Tで始まるオブジェクトのみがナビゲーション・ツリーに表示されます。

図12-5は、スキーマが選択された「内容の定義」ページを示しています。

図12-5 スキーマ・ノードが選択された「内容の定義」ページ

この図の詳細は前後のテキストにあります。
「図12-5 「スキーマ・ノードが選択された「内容の定義」ページ」の説明

トランスポータブル・モジュールに追加できないオブジェクト

トランスポータブル・モジュールに含めることができないアイテムを選択すると、そのようなアイテムと理由を示すダイアログ・ボックスが表示されます。

図12-6は、「インポート・フィルタ」ダイアログ・ボックスを示しています。

図12-6 「インポート・フィルタ」ダイアログ・ボックス

この図の詳細は前後のテキストにあります。
「図12-6 「インポート・フィルタ」ダイアログ・ボックス」の説明

トランスポータブル・モジュール定義の確認

サマリー情報を確認し、「終了」をクリックすると、選択した表領域とスキーマ・オブジェクトのメタデータがインポートされます。

トランスポータブル・モジュールがワークスペースに作成されたら、これをプロジェクト・エクスプローラの「トランスポータブル・モジュール」ノードの下に配置できます。ツリーを開き、インポートされた定義を表示します。

Warehouse Builderでは、スキーマごとに個別のモジュールが作成されます。プロジェクト・エクスプローラに表示されるスキーマ名は、ソース・データベース内のスキーマ名を反映しています。

トランスポータブル・モジュールに含まれるオブジェクトはソース・データベースを示しているので、ユーザー・インタフェースを使用してこれらのオブジェクトを編集することはできません。ソース・データベースを変更した場合は、オブジェクトを再度インポートできます。トランスポータブル・モジュールからオブジェクトを削除する場合は、そのオブジェクトを右クリックして、「削除」を選択します。この操作は、トランスポータブル・モジュールの定義からオブジェクトを削除するだけで、基礎となるソース・データベースには影響しません。

トランスポータブル・モジュールの構成

トランスポータブル・モジュールをターゲット・データベースに配布するために構成するには、プロジェクト・エクスプローラで対象トランスポータブル・モジュールを右クリックし、「構成」を選択します。次のレベルの構成プロパティを設定します。

ほとんどの場合、パスワード設定を除くすべての構成プロパティにデフォルト設定を使用できます。パスワードはターゲット・スキーマごとに指定する必要があります。スキーマがターゲットに存在している場合は、既存のパスワードを指定します。スキーマが存在しない場合は、パスワードを指定してスキーマを作成できます。

企業のセキュリティ・ポリシーによっては、スキーマ・パスワードの情報がデータベース管理者のみに制限される場合があります。その場合は、データベース管理者がスキーマごとにパスワードを指定する必要があります。そのかわりに、ターゲットにソース・スキーマと一致する既存スキーマがない場合は、開発者が新しいスキーマのパスワードを定義することもできます。

トランスポータブル・モジュールの構成プロパティ

トランスポータブル・モジュールに次のランタイム・プロパティを設定します。

ターゲットOSタイプ

ターゲットのオペレーティング・システムのタイプを選択します。Oracle Database 11gより前のリリースでは、ターゲット・コンピュータのオペレーティング・システム・タイプがソース・コンピュータと同じである必要があります。Oracle Database 11g以上のリリースでは、任意のオペレーティング・システム間で配布できます。

作業ディレクトリ

ターゲット・コンピュータには、トランスポータブル・モジュールの配布専用のディレクトリを作成します。この専用ディレクトリには、実行時に生成されたファイル(一時ファイルを含む)、スクリプト、ログ・ファイルおよびトランスポータブル表領域データ・ファイルが格納されます。専用ディレクトリを作成せず、「作業ディレクトリ」に専用ディレクトリのフルパスを入力しない場合、生成されたファイルは、ランタイム・ホーム・ディレクトリに格納されます。

配布対象

Warehouse Builderでは、トランスポータブル・モジュール内の表のみを配布するか、ビューや順序などのすべての関連カタログ・オブジェクトを配布するかを選択できます。表のみを配布する場合は、「TABLES_ONLY」を選択します。それ以外の場合は、「ALL_OBJECTS」を選択します。

トランスポータブル・モジュール内のデータをリフレッシュするには、「TABLES_ONLY」オプションを使用します。前回は「ALL_OBJECTS」オプションを使用してトランスポータブル・モジュールを配布しており、今回は同じソースから表領域のみを置き換えるという場合は、「TABLES_ONLY」オプションでモジュールを再配布します。ターゲットの既存の表領域が削除されて新しい表領域が挿入され、前回配布されたメタデータが再コンパイルされます。

同様に、前回Data Pumpを使用してトランスポータブル・モジュールを配布した場合は、再配布を行うと、トランスポータブル・モジュール内の表のみが変更されます。

表領域のトランスポート

デフォルトでは、この設定が有効になっていて、表領域がトランスポートされます。この設定を有効にした場合は、「ターゲット・データファイルの構成プロパティ」に記載された設定も指定します。

ソースとターゲットの両方のデータベースがOracle 10g以上の場合は、この設定を無効にすることを検討してください。たとえば、表のサイズが100KBで、その表領域のサイズが10MBの場合、表領域全体を配布しなくても表を配布できます。「表領域のトランスポート」を無効にすると、表の配布にはOracle Data Pumpが使用され、「表が存在する場合のアクション」設定を指定できるようになります。


注意:

ソースまたはターゲットのどちらかのロケーションがOracle 10g以外の場合、デフォルトで「表領域のトランスポート」オプションが選択されます。その場合、データ移動の実装手段は、トランスポータブル表領域のみになります。ソースとターゲットの両方のロケーションがOracle 10gの場合は、「表領域のトランスポート」の選択を解除して、Data Pumpを使用することができます。

「表領域のトランスポート」が選択されている場合は、ソース・ロケーションとターゲット・ロケーションのバージョンに応じて、表12-1に示すような制限が加わります。データのレプリケーションを計画するときは、これらの制限事項を考慮してください。一般的にターゲット・データベースには、Oracle 10g、特にOracle10gリリース2をお薦めします。

表12-1 データベースのリリース別データ・レプリケーション要件

ソース・ロケーション ターゲット・ロケーション

10g

Oracle 10gの場合: 両方のデータベースのキャラクタ・セットおよび各国語キャラクタ・セットが同じである必要があります。

Oracle 8iまたはOracle 9iの場合: ターゲット・ロケーションにできません。

9i

Oracle 9iまたはOracle 10gの場合: 両方のデータベースのキャラクタ・セット、各国語キャラクタ・セットおよびオペレーティング・システム・プラットフォームがいずれも同じである必要があります。

Oracle 8iまたはOracle 9iの場合: ターゲット・ロケーションにできません。

8i

Oracle 8i、Oracle 9i、Oracle 10gのいずれのリリースにも、次のすべての要件が適用されます。

  • ソースとターゲットの両方のデータベースに同じキャラクタ・セットが使用されている必要があります。

  • ソースとターゲットの両方のデータベースに同じ各国語キャラクタ・セットが使用されている必要があります。

  • ソースとターゲットの両方のデータベースが同じオペレーティング・システム・プラットフォームにインストールされている必要があります。

  • ソースとターゲットの両方のデータベースに同じブロック・サイズが使用されている必要があります。

  • 表領域のトランスポート中にスキーマ名を変更することはできません。

  • 表領域のトランスポート中に表領域名を変更することはできません。


スキーマの構成プロパティ

トランスポータブル・モジュールに次のスキーマ・プロパティを設定します。

ターゲット・スキーマ名

このプロパティを使用すると、ソース・スキーマをターゲットに配布するときに、スキーマ名を変更できます。「デフォルト」を選択するか、または省略記号のボタンをクリックしてターゲットのスキーマに新しい名前を入力し、「OK」をクリックします。たとえば、「SCOTT」を「SCOTT1」に変更できます。

パスワード

既存のスキーマには、有効なパスワードを入力します。スキーマを作成する場合は、ここで指定するパスワードでスキーマが作成されます。

デフォルト表領域

ターゲット・スキーマの作成時に使用されるデフォルト表領域を指定します。この設定を空白のままにすると、ターゲットで指定されているデフォルトが使用されます。

スキーマが存在する場合のアクション

スキーマがターゲットに存在している場合に実行するアクションを指定します。デフォルト値は「スキップ」です。

スキーマが存在しない場合のアクション

スキーマがターゲットに存在しない場合に実行するアクションを指定します。デフォルト値は「作成」です。

表が存在する場合のアクション

表領域のトランスポート」を無効にした場合は、このプロパティを使用して、表がターゲットに存在する場合に実行するアクションを指定します。デフォルト値は「スキップ」です。

ソース・スキーマのコピー

表領域のトランスポート」の選択を解除してOracle Data Pumpを使用する場合は、このオプションを選択すると、ソース・スキーマ全体をターゲットにコピーできます。

パラレル

表領域のトランスポート」の選択を解除してOracle Data Pumpを使用する場合は、データのトランスポートを実行するためにOracle Databaseで使用できるプロセスの最大数を指定します。

ターゲット・データファイルの構成プロパティ

トランスポータブル・モジュールには、次のデータ・ファイル・プロパティを設定する必要があります。

ディレクトリ

ターゲット・コンピュータ上のデータ・ファイルの格納先となるディレクトリを指定します。ディレクトリを指定しない場合、データ・ファイルは作業ディレクトリに格納されます。

ファイル名

ターゲット・コンピュータに作成されるデータ・ファイルの名前を指定します。このパラメータは、データ・ファイル名の変更に使用できます。「DEFAULT」を受け入れて、ソース・データベースのデータ・ファイル名を維持するか、省略記号のボタンをクリックしてデータ・ファイルに新しい名前を入力し、「OK」をクリックします。

上書き

このパラメータを選択すると、既存のデータ・ファイルが上書きされます。このパラメータを選択しないと、既存のデータ・ファイルが見つからない場合に配布が終了します。

表領域の構成プロパティ

表領域のトランスポート」を有効にした場合は、トランスポータブル・モジュールに次の表領域プロパティを設定します。

表領域名

10gより前のデータベースを使用する場合は、ターゲットの表領域名がソースの表領域名と同じである必要があります。このような場合、このフィールドは読取り専用になります。ターゲット・データベースに同じ名前の表領域が存在していると、実行時における操作によって既存の表領域が削除され、新しい表領域に置き換わります。

Oracle Database 10g以上を使用している場合は、ターゲットの表領域名を変更できます。

既存の表領域の削除

この設定を選択すると、ターゲットの既存の表領域が削除されて、再作成されます。デフォルトでは、この設定は選択されていないので、ターゲットに同じ名前の表領域が存在していても、ターゲットの表領域は削除されません。この場合、配布プロセスは停止し、エラーが発生します。

トランスポータブル・モジュールの配布と生成

トランスポータブル・モジュールの配布時にコントロール・センターに表示されるトランスポータブル・モジュールには、すべての表が含まれていますが、ビューなどの他のカタログ・オブジェクトは別々に表示されます。トランスポータブル・モジュールの配布アクションを選択すると、コントロール・センターでは、関連するカタログ・オブジェクトにも同じ配布アクションが設定されます。

トランスポータブル・モジュールの配布中は、2種類の方法で進行状況を監視できます。1つは、「ジョブの詳細:」ウィンドウを使用する方法です。ステータス行が最新のステータスで瞬時にリフレッシュされます。ステータス行の真上にあるメッセージ・ボックスには、それまでにログに記録されたすべてのメッセージが表示されます。

図12-7は、「ジョブの詳細:」ウィンドウを示しています。

図12-7 「ジョブの詳細:」ウィンドウ

「ジョブの詳細:」ウィンドウ
「図12-7 「ジョブの詳細:」ウィンドウ」の説明

進行状況を監視するもう一つの方法は、トランスポータブル・モジュールの配布プロセスで生成されるログ・ファイルを表示する方法です。トランスポータブル・モジュールのログ・ファイルは、ユーザーが構成した作業ディレクトリに作成されます。ログ・ファイルの名前は必ず、<TM Name>.logになります。たとえば、トランスポータブル・モジュール名がTM1の場合、ログ・ファイルはTM1.logになります。このファイルはプレーン・テキスト・ファイルで、「ジョブの詳細:」ウィンドウのメッセージ・ボックスに表示されるものと同じメッセージが格納されます。例12-1は、トランスポータブル・モジュールのログ・ファイルの内容を示しています。

現在、ログ・ファイルを構成する手順の数は、合計で16になります。手順によっては、ユーザーの構成に応じてスキップされるものや、トランスポータブル・モジュールで無視できるエラー・メッセージ(参照表が見つからないために参照制約の作成に失敗した場合など)が含まれるものもあります。このログ・ファイルには重要な情報が格納されます。トランスポータブル・モジュールの配布中および配布後は、ログ・ファイルを注意深く調べてください。

例12-1 重要な情報が含まれるログ・ファイル

step1 begin: making connection to target db ...
step1 end: connected to target
Target ORACLE_HOME = /data/oracle/ora1010
step2 begin: making connection to source db...
step2 end: skipped.
step3 begin: making source tablespaces read only...
step3 end: skipped.
step4 begin: exporting tts...
step4 end: skipped.
step 5 begin: checking for existing datafiles on target...
step5 end: skipped.
step 6 begin: drop existing tablespaces
step6 end: skipped.
step7 begin: transporting datafiles...
step7 end: skipped.
step8 begin: managing schemas/users ...
step8 end: completed setting up target schemas
step9 begin: drop non-table schema objects...
step9 end: nothing to drop.
step10 begin: converting datafiles...
step10 end: skipped.
step 11 begin: importing tts ...
find or create a useable dblink to source.
step11 end: importing tts is not requested by user.
step 11 end: import tts is successful
step 12 begin: restore source tablespaces original status ...
step12 end: skipped.
step13 end: skipped.
step14 begin: non-tts import ...

Import: Release 10.1.0.4.0 - Production on Tuesday, 04 April, 2006 10:43
Copyright (c) 2003, Oracle.  All rights reserved.

Username:
Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.4.0 - Production
With the Partitioning, OLAP and Data Mining options
Starting "TMTGT_U"."SYS_IMPORT_TABLE_02":  TMTGT_U/********@(DESCRIPTION=(ADDRESS=(HOST=LOCALHOST)(PROTOCOL=tcp)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORA1010.US.ORACLE.COM))) parfile=/home/ygong/tmdir/TM1_imptts.par
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TBL_TABLE_DATA/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 64 KB
Processing object type TABLE_EXPORT/TABLE/TABLE
. . imported "TMU1"."TA"                                      2 rows
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
ORA-39083: Object type REF_CONSTRAINT failed to create with error:
ORA-00942: table or view does not exist
Failing sql is:
ALTER TABLE "TMU1"."TA" ADD CONSTRAINT "TA_T1_FK" FOREIGN KEY ("C") REFERENCES "TMU1"."T1" ("C") ENABLE

Job "TMTGT_U"."SYS_IMPORT_TABLE_02" completed with 1 error(s) at 10:44
step14: import has failures.
step14 end: non-tts import completed with warnings
step15 end: create flat file directories skipped.
step16 end: transporting flat files skipped.

トランスポータブル・モジュールを介してデータにアクセスするマッピングの設計

トランスポータブル・モジュールの配布に成功したら、ETLの設計にトランスポータブル・モジュール内のオブジェクトを使用できます。マッピングするソース演算子とターゲット演算子を追加する場合は、トランスポータブル・モジュール・フォルダからオブジェクトを選択できます。

トランスポータブル・モジュールの編集

トランスポータブル・モジュールは、プロジェクト・エクスプローラの「データベース」ノードに属する「トランスポータブル・モジュール」ノードの下に配置されます。

トランスポータブル・モジュールを編集するには、プロジェクト・エクスプローラでトランスポータブル・モジュール名を右クリックし、「エディタを開く」を選択します。Warehouse Builderに、次の4つのタブが含まれる「トランスポータブル・モジュールの編集」ダイアログ・ボックスが表示されます。

名前

「名前」タブでは、トランスポータブル・モジュールの名前と説明を編集できます。

ソース・ロケーション

Warehouse Builderは、この接続情報を使用してソース・コンピュータにアクセスし、メタデータをワークスペースにインポートします。実行時に表領域データをソースからターゲットに移動する際もこの情報を使用します。

「ソース・データベース」タブは読取り専用です。ソース・コンピュータから表領域の定義をインポートした後は、ロケーション情報は変更できません。

表領域

「表領域」タブには、トランスポートされる表領域とそのサイズが表示されます。このタブは読取り専用です。表領域内の個々のデータ・ファイルの表領域サイズも表示できます。詳細は、「表領域プロパティの表示」を参照してください。

ターゲット・ロケーション

使用可能なターゲット・ロケーションおよび選択されたターゲット・ロケーションが表示されます。「使用可能なロケーション」から「選択されたロケーション」にロケーションを移動したり、新しいロケーションを構成したりできます。

表領域プロパティの表示

表領域のプロパティを表示するには、プロジェクト・エクスプローラで表領域の名前を右クリックし、「エディタを開く」を選択します。Warehouse Builderに「表領域の編集」ダイアログ・ボックスが表示されます。このプロパティ・シートには、表領域内の個々のデータ・ファイルのサイズが表示されます。「名前」および「ソース・データファイル」の2つのタブがあります。

トランスポータブル・モジュールへのメタデータの再インポート

トランスポータブル・モジュールを前回作成した後にソース・データが変更された場合は、メタデータを再度インポートして、ワークスペースの定義を更新できます。「再インポート」ダイアログ・ボックスを開くと、トランスポータブル・モジュールの作成時に指定したソース・ロケーションが格納されて、ソース・オブジェクトが表示されます。

トランスポータブル・モジュールの定義を再インポートするには:

  1. プロジェクト・エクスプローラで、トランスポータブル・モジュール名を右クリックし、「再インポート」を選択します。

    「トランスポータブル・モジュールの再作成」ダイアログ・ボックスが表示されます。

  2. 「使用可能なデータベース・オブジェクト」列から、再インポートするオブジェクトを選択します。

    前回ワークスペースにインポートされたデータベース・オブジェクトが太字で一覧表示されます。新しい定義をインポートするように指定することもできます。

  3. 矢印ボタンを使用してオブジェクトを「選択されたデータベース・オブジェクト」列に移動し、「OK」をクリックします。

既存の定義が再インポートされ、新しい定義が作成されます。再インポートが完了すると、トランスポータブル・モジュールでは変更が反映されて更新されます。