Oracle Warehouse Builderではエンタープライズ・データ・ウェアハウスを段階的に構築、公開できます。データ・ウェアハウスのパフォーマンスおよび管理性を向上できます。
Oracle Warehouse Builderマッピングはデータベース・リンクを使用してリモート・データにアクセスします。オーバーヘッドおよびネットワークの遅延を処理することで、このデータ・アクセス・プロセスはマッピングを使用したローカル・データへのアクセスより遅くなります。データ・アクセスを迅速化するには、次のいずれかの手法を使用できます。
トランスポータブル・モジュールを作成して、リモート・オブジェクト(表、ビュー、マテリアライズド・ビューなど)をソース・データベースからターゲット・データベースにコピーします。ターゲット・データ・ウェアハウスのマッピングがデータにローカルにアクセスできます。
ソース・データベースのデータを部分的に所有し、トランスポータブル・モジュールを使用して、ソース・データベースからターゲット・データに前処理されたデータをコピーし、最終的にデータ・ウェアハウスにロードできます。
トランスポータブル・モジュールは、オブジェクトのパッケージをできるかぎり迅速にサイト間で移動する出荷サービスのような役割を果します。
注意: トランスポータブル・モジュールを利用するには、所属する組織がOracle Warehouse Builder Enterprise ETL Optionのライセンスを所有していることを確認します。
この章の内容は次のとおりです。
トランスポータブル・モジュールでは、関連するデータベース・オブジェクトのグループをデータベース間で迅速にコピーできます。
デザイン・センターを使用して、まずトランスポータブル・モジュールを作成し、ソース・データベース・ロケーションとターゲット・データベース・ロケーションを指定します。次に、トランスポータブル・モジュールに含めるデータベース・オブジェクトを選択します。選択したオブジェクトのメタデータがソース・データベースからトランスポータブル・モジュールにインポートされます。メタデータはワークスペースに格納されます。データおよびメタデータをソースからターゲットに物理的に移動するには、トランスポータブル・モジュールを構成して、ターゲット・ロケーションにデプロイする必要があります。デプロイメント時に、データおよびメタデータの両方がソース・データベースから抽出され、ターゲット・データベース内に作成されます。
次の技術を組み合せることによりデータおよびメタデータを移動できます。
Oracle Data Pump
トランスポータブル表領域
DBMS_FILE_TRANSFER
バイナリFTP
ローカル・ファイル・コピー
コード生成およびデプロイメント
トランスポータブル・モジュールを構成し、使用技術に影響を与えることができます。
トランスポータブル・モジュールには次のソース・オブジェクトを追加できます。
表領域
スキーマ
表
ビュー
順序
マテリアライズド・ビュー
PL/SQLファンクション、プロシージャおよびパッケージ
オブジェクト・タイプ
可変長配列タイプ(Varray)
ネストした表のタイプ
従来の抽出、変換およびロード(ETL)プロセスでは、データベース・リンクを使用した複数のリモート・アクセスによるリモート・データベースからデータを抽出します。
図17-1に、リモート・データベースからのデータの従来の抽出を示します。
図17-1 データベース・リンクを使用した複数のリモート・アクセスによるリモート・データベースからのデータの抽出
データベース・リンクを使用するリモート・アクセス中は、シリアルの問合せ、シリアルのDMLおよびネットワーク遅延による重要なパフォーマンスの低下が発生する可能性があります。同じソース表に複数回アクセスする場合は、パフォーマンスの低下がさらに多く発生します。
トランスポータブル・モジュール・アーキテクチャでは、マッピングに必要なすべてのソース・オブジェクトがバンドルされ、1回のデプロイでターゲットに移動されます。トランスポータブル・モジュールのデプロイメントでは、Oracle Data Pump、FTPおよびOracleトランスポータブル表領域を使用して、高速の転送パフォーマンスが実現されます。この転送により、ネットワーク遅延のコストが吸収されます。その後、マッピングがデータにローカルでアクセスすることで、パラレル・クエリーとパラレルDMLが有効になります。同じデータに繰返しアクセスすることで、トランスポータブル・モジュールのパフォーマンス上の利点が増えます。
トランスポータブル・モジュールを使用してデータ・ウェアハウスのロードをより管理しやすくなります。トランスポータブル・モジュールがデプロイメントを完了するための短い期間のみ、ソース・データベースを停止する必要があります。ソース・データベースのユーザーはデータ全体がデータ・ウェアハウスにロードされるまで待機する必要はありません。たとえば、トランスポータブル・モジュールの実装を使用する場合、トランスポータブル・モジュールは20GBの表領域を約5分間でコピーできるため、ソース・データベースのダウン・タイムが5分になります。
ターゲット・データベースにコピーされたデータはソース・データベースに存在する情報のスナップショットです。同じものを使用してデータ・バージョニング・システムを作成します。上級ユーザーは、転送された表にストリームを作成して、ソースからリアルタイムの変更をキャプチャできます。また、転送された表をさらに大きな表にパーティションとしてコピーできます。
複数部門があるエンタープライズ環境では、中間レポートと目的の更新に使用するターゲット・データベースは実際は操作データ・ストアである場合があります。このターゲット・データベースは、結果として、データ収集の次の段階へのソースとして機能します。データ・ウェアハウスに格納する前にデータの移動先のパスとともに、トランスポータブル・モジュールを複数のステージで使用できます。
また、トランスポータブル・モジュールを使用してデータ・マートを公開できます。データ・マートは、通常、単一アクセスまたは部門別アクセスのためのより大きなデータ・ウェアハウスの一部です。場合により、データ・マートの作成が、データ・ウェアハウスで収集と処理が行われた内容のコピーになることがあります。トランスポータブル・モジュールを作成して、このタスクを実行できます。また、同じトランスポータブル・モジュールを使用してデータ・マートを複数のロケーションにデプロイすることもできます。
図17-3に、データ・マートの公開に使用するトランスポータブル・モジュールを示します。
トランスポータブル・モジュールはソース・データベース・オブジェクトのスナップショットをデプロイするので、デプロイメント時間を使用してデータ・マートのバージョンを追跡できます。
トランスポータブル・モジュールは、Oracle Warehouse Builderの技術とOracle Databaseの技術を組み合せて活用することで機能します。トランスポータブル・モジュールはソース・データベースの一部をターゲット・データベースにレプリケートします。レプリケート可能なソース・データベースの一部には表領域、表、索引、制約およびその他の関連オブジェクトが含まれます。
データベースのリリースによっては、Oracle Databaseが表領域をレプリケートします。2つのOracle8iリリースのデータベース間、または2つのOracle9iリリースのデータベース間でデータを転送する場合は、データベースによりOracleトランスポータブル表領域機能が呼び出されます。2つのOracle 10gデータベース間でデータを転送する場合は、データベースではOracle Data Pump機能を呼び出します。
Oracle Database 10gおよびOracle Data Pumpの場合、表領域を転送することなく表を転送できます。たとえば、表が100 KBであり表領域のサイズが10MBである場合、表領域全体をデプロイすることなく表をデプロイできます。Oracle Data Pumpのみスキーマ全体をコピーするオプションを提供します。Oracle 10gリリース・データベースでは、「トランスポータブル・モジュールの構成」の説明に従って構成時にデータ・ポンプまたはトランスポータブル表領域のいずれかを指定します。
注意: トランスポータブル表領域およびデータ・ポンプの詳細は、Oracle Database 11gのマニュアルを参照してください。 |
トランスポータブル・モジュールの導入前に、最もスケーラビリティの高いデータ・トランスポーテーション方法はRAWデータを含むフラット・ファイルの移動に依存する。この方法ではソース・データベースへのデータのアンロードまたはこのデータベースからのエクスポートを必要であり、これらのファイルをターゲット・データベースにロードまたはインポートします。トランスポータブル・モジュールの方法では、アンロードおよびリロード手順全体がバイパスされ、Oracle Database技術、トランスポータブル表領域およびデータ・ポンプにアクセスできます。
高パフォーマンスのデータ抽出
トランスポータブル・モジュールではリモートにデータにアクセスするためのマッピングの必要性が軽減されます。リモート・コンピュータに大量のデータがある場合、トランスポータブル・モジュールを使用してソースをOracleのターゲット・データベースに迅速にコピーできます。その後、Oracle Warehouse Builderのマッピングはデータのローカル・コピーに直接アクセスできます。さらに、ソースがターゲットの一部となるので、ソース・データに対してETL操作を直接実行できます。
データ・マートの分散とアーカイブ
中央のデータ・ウェアハウスは、依存するデータ・マートが読取り専用である場合はETL処理を処理します。トランスポータブル・モジュールを使用して、読取り専用のデータ・マートから複数の部門のデータベースにコピーできます。この方法では、中央のデータ・ウェアハウスを使用して新しいデータ・マートを定期的に公開したり、古い表領域を削除して新しい表領域をインポートすることで古いデータ・マートを置き換えることができます。重複および分散にはあまり時間がかからないため、毎日の分析またはビジネス操作用のデータ・マートを公開および分散できます。
ソースのアーカイブ
ソース表領域を読取り専用モードに設定して、ターゲットにエクスポートできます。すべてのデータ・ファイルをコピーして、特定の時点のソース・データベースの一貫性のあるスナップショットが作成されます。その後このコピーをアーカイブできます。アーカイブされたデータは、ソース・データベースおよびターゲット・データベースにリストアできます。
前提作業
「トランスポータブル・モジュールを使用する要件の確認」の説明に従って、必要なロールおよび権限を持つユーザーとしてソース・データベースおよびターゲット・データベースに接続できることを確認します。
組織がWarehouse Builder Enterprise ETLオプションのライセンスを所有していることを確認してください。
トランスポータブル・モジュールを使用するには、次の各項を参照してください。
データベース管理者への注意: この手順の手順1では複数の強力なデータベース・ロールおよび権限が必要です。手順3では、スキーマのパスワードに関する知識が必要です。セキュリティに関する考慮事項によっては、手順3を開発者が実行できるようにするか、またはデータベース管理者のみが実行できるように制限できます。
トランスポータブル・モジュールのソース・ロケーションを作成するときは、ソース・ロケーション・ユーザーは、ソース・データベースのリリースに応じて、特定のロールまたは権限(あるいはその両方)を処理する必要があります。
ソース・データベースがOracle 10gより前である場合は、ソース・ロケーション・ユーザーにSYSDBA
権限が必要です。
ソース・データベースがOracle 10gである場合は、SYSDBA
権限は必要ありませんが、ソース・ロケーション・ユーザーに次を割り当てる必要があります。
CONNECTロール
EXP_FULL_DATABASEロール
ALTER TABLESPACE権限
トランスポータブル・モジュールのターゲット・ロケーションを作成するときは、ターゲット・ロケーション・ユーザーは、ターゲット・データベースのリリースに応じて、特定のロールまたは権限(あるいはその両方)を処理する必要があります。
ターゲット・データベースがOracle 10gより前である場合は、ターゲット・ロケーションのユーザーにSYSDBA
権限が必要です。
ターゲット・データベースがOracle 10gである場合は、SYSDBA
権限は必要ありませんが、ターゲット・ロケーション・ユーザーに次を割り当てる必要があります。
管理オプションを備えるCONNECTロール
管理オプションを備えるRESOURCEロール
IMP_FULL_DATABASEロール
ALTER TABLESPACE権限
管理オプションを備えるEXECUTE_CATALOG_ROLE
管理オプションを備える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つのターゲット・ロケーションのみを定義できます。
トランスポータブル・モジュールを指定する手順は、次のとおりです。
ロケーション・ナビゲータで、「ロケーション」ノードを開きます。
「データベース」ノードを開きます。
トランスポータブル・モジュール・ソース・ロケーションノードまたはトランスポータブル・モジュール・ターゲット・ロケーションノードを右クリックし、「新規」を選択します。
Oracle Warehouse Builderでは、ソース・ロケーションまたはターゲット・ロケーションの接続情報を指定するダイアログ・ボックスが表示されます。
ソース・ロケーションとターゲット・ロケーションの定義の手順は、ターゲットではオプションのFTP接続の詳細を指定しないことを除き同じです。「トランスポータブル・モジュールのソース・ロケーションの情報」の手順に従って、接続情報を指定し、接続をテストします。
Oracle Warehouse Builderではまずこの接続情報を使用してソース・コンピュータからトランスポータブル・モジュールのメタデータをワークスペースにインポートします。デプロイメント時に、この接続情報はソースからターゲットへのデータの移動に使用されます。
名前
ソース・データベースまたはターゲット・データベースのロケーションの名前。
説明
ロケーションの説明(オプション)。
ユーザー名およびパスワード
Oracle Warehouse Builderではデータベース・ユーザー名およびパスワードを使用して、トランスポータブル・モジュールに含めるソース・オブジェクトのメタデータを取得します。また、デプロイメント時にこの情報を使用してトランスポータブル表領域操作またはデータ・ポンプ操作を実行します。
トランスポータブル・モジュールと併用するためにデータベースにアクセスするには、「トランスポータブル・モジュールを使用する要件の確認」の説明に従って、ユーザーが必要なデータベース・ロールおよび権限を持っていることを確認します。
ホスト
データベースがインストールされるコンピュータのホスト名。
ポート
データベースがインストールされるコンピュータのポート番号。
サービス
データベースがインストールされるコンピュータのサービス名。
バージョン
リストからOracle Databaseリリース番号を選択します。
ユーザー名およびパスワード(オプション)
Oracleトランスポータブル表領域をデータの転送方法として使用する場合、FTPアカウント資格証明を指定します。トランスポータブル表領域メソッドを構成しない場合は、FTP資格証明は不要です。
トランスポータブル表領域を使用するように構成しているけれども、ソース・データベースおよびターゲット・データベースの両方が同じコンピュータにあるか、ソースおよびターゲットの両方が共有ディスク・ボリュームにアクセスできる場合、FTPアカウントの資格情報を空白のままにすることができます。FTP資格情報がない場合は、ソース・ディレクトリからターゲット・ディレクトリへのソース・ファイルのプレーン・コピーが試行されます。
接続テスト
「接続テスト」をクリックし、接続設定を検証します。Oracle Warehouse Builderにより、ソース・データベースへの接続、およびソース・コンピュータ上のFTPサービスへの接続(該当する場合)が試行されます。両方の資格証明が検証された後のみ成功メッセージが表示されます。
トランスポータブル・モジュールを作成する手順は、次のとおりです。
プロジェクト・ナビゲータで、「データベース」ノードを開きます。
「トランスポータブル・モジュール」ノードを右クリックして「新規」を選択します。
トランスポータブル・モジュールの作成ウィザードのようこそページが表示されます。
ウィザードでは次のタスクをガイドします。
名前と説明ページで、トランスポータブル・モジュールの名前と説明(オプション)を入力します。
ウィザード・ページから新しいソース・ロケーションを作成できるので、「トランスポータブル・モジュール・ソース・ロケーションの情報」の説明に従って、ウィザードを起動する前にトランスポータブル・モジュールのロケーションを定義することをお薦めします。
既存のロケーションを選択すると接続がテストされ、有効な接続を持つロケーションを指定するまで、次の処理に進むことができません。
リストからターゲット・ロケーションを選択します。ターゲット・ロケーションが表示されない場合、「新規」をクリックして、「トランスポータブル・モジュールのソース・ロケーション情報」の説明に従ってターゲット・ロケーションを定義します。
内容の定義ページを使用して、トランスポータブル・モジュールに含む表領域およびスキーマ・オブジェクトを選択します。左ペインの「使用可能なデータベース・オブジェクト」に、すべてのソース表領域、スキーマおよび使用可能なスキーマ・オブジェクトがリストされます。右ペインの選択したデータベース・オブジェクトにはオブジェクトを選択して移動した後オブジェクトが表示されます。
表領域を開いて各表領域内のスキーマと各スキーマ内のオブジェクトを表示します。ビューや順序のような表領域以外のスキーマ・オブジェクトは、表領域に格納されていない場合も、それぞれのスキーマ所有者の下にリストされます。同時に複数のオブジェクトを選択するには、[Ctrl]キーを押しながら選択します。トランスポータブル・モジュールには、次のタイプのオブジェクトを組み込むことができます。
表
ビュー
マテリアライズド・ビュー
順序
PL/SQLファンクション、プロシージャおよびパッケージ
オブジェクト・タイプ、可変長配列タイプおよびネストした表タイプ
使用可能なデータベース・オブジェクトフィールドから表領域およびスキーマを選択し、中央の矢印ボタンをクリックして、選択したデータベース・オブジェクトフィールドにオブジェクトを移動します。
マウスをノードに置くことでデータ・ファイルの数とその合計サイズを表示できます。このウィザードではツールチップの情報が表示されます。
図17-4にツールチップが表示されたウィザードを示します。
懐中電灯アイコンをクリックして、ソース・データ・オブジェクトをタイプまたは名前ごとに検出します。「オブジェクト」フィールドで、%文字をワイルドカードとして使用して、検索のフィルタリングに使用する名前またはパターンを入力します。タイプ リストから、検索するオブジェクトのタイプを示します。必要なボックスを確認して、名前または説明で検索を実行します。
たとえば、オブジェクト」フィールドに'T%'と入力し、「タイプ」フィールドから表領域を選択して、「次を検索」をクリックします。使用可能なデータベース・オブジェクトナビゲーション・ツリーのカーソルでは、先頭が'T'の最初の表領域の名前を選択します。選択する表領域でない場合は、「次を検索」をクリックして次の表領域を検索します。この検索プロセス時に、ナビゲーション・ツリーではすべてのスキーマ名が展開され、すべての表領域が表示されます。
ヒント: 表などのスキーマ・レベル・オブジェクトを検索する場合は、検索を開始する前にナビゲーション・ツリーから表領域またはスキーマを選択することをお薦めします。これにより、すべての表領域にわたって検索が実行されることがなくなり、検索時間が大幅に短縮されます。 |
スキーマ・ノードまたはスキーマの任意のノードをダブルクリックすると、フィルタ・パターンに入力できます。たとえば、T%を入力して「OK」をクリックすると、ナビゲーション・ツリーにTで始まるオブジェクトのみが表示されます。ナビゲーション・ツリーにはオブジェクト名とともにフィルタ基準が表示され、フィルタが適用されたオブジェクト・タイプについての有益なヒントを提供します。
図17-5にスキーマが選択されている内容の定義ページを示します。
トランスポータブル・モジュールに含めることのできないアイテムを選択した場合は、含めることのできないアイテムをリストし、理由を説明するダイアログ・ボックスが表示されます。
図17-6に「インポート・フィルタ」ダイアログ・ボックスを示します。
サマリー情報を確認して、「終了」をクリックし、選択した表領域およびスキーマ・オブジェクトのメタデータをインポートします。
ワークスペースでトランスポータブル・モジュールを作成したら、トランスポータブル・モジュール・ノードにあるプロジェクト・ナビゲータに配置できます。ツリーを展開すると、インポートされた定義が表示されます。
Oracle Warehouse Builderでは、スキーマごとに個別のモジュールが作成されます。プロジェクト・ナビゲータのスキーマ名はソース・データベースのスキーマ名を反映しています。
トランスポータブル・モジュールに含まれるオブジェクトはソース・データベースを反映しているので、ユーザー・インタフェースを使用してこれらのオブジェクトを編集することはできません。ソース・データベースが変更されている場合、オブジェクトを再インポートできます。トランスポータブル・モジュールからオブジェクトを削除するには、オブジェクトを右クリックして、「削除」を選択します。このアクションでトランスポータブル・モジュールの定義からオブジェクトを削除しますが、基盤となるソース・データベースには影響されません。
プロジェクト・エクスプローラで、トランスポータブル・モジュールを右クリックして、「構成」を選択しターゲット・データベースへのデプロイを構成します。構成パラメータを次のレベルで設定します。
ほとんどの事例では、「パスワード」設定を除き、すべての構成パラメータでデフォルト設定を受け入れることができます。各ターゲット・スキーマにパスワードを指定する必要があります。ターゲットにスキーマが存在する場合は、既存のパスワードを指定します。スキーマが存在しない場合は、指定したパスワードでスキーマを作成できます。
企業のセキュリティ・ポリシーに応じて、データベース管理者のみがスキーマ・パスワードを把握する可能性があります。この場合、データベース管理者は各スキーマにパスワードを指定する必要があります。また、ターゲットにソース・スキーマに一致する既存のスキーマがない場合、開発者は新しいスキーマの新しいパスワードを定義できます。
トランスポータブル・モジュールに次のランタイム・パラメータを設定します。
ターゲット・オペレーティング・システム・タイプ
ターゲットのオペレーティング・システムのタイプを選択します。Oracle Database 10g以前のリリースの場合、ターゲット・コンピュータのオペレーティング・システムのタイプはソース・コンピュータと同じである必要があります。Oracle Database 10g以降のリリースでは、オペレーティング・システムからオペレーティング・システムにデプロイできます。
作業ディレクトリ
トランスポータブル・モジュールのデプロイメント専用のターゲット・コンピュータ上にディレクトリを作成する必要があります。この専用ディレクトリには、一時ファイル、スクリプト、ログ・ファイル、トランスポータブル表領域のデータ・ファイルを含むラン・タイムで生成されたファイルが格納されます。専用ディレクトリを作成せずに、「作業ディレクトリ」としてフルパスを入力すると、生成されたファイルはランタイム・ホーム・ディレクトリの下に保存されます。
デプロイ内容
Oracle Warehouse Builderではトランスポータブル・モジュールの表のみをデプロイするか、ビュー、順序などの関連するカタログ・オブジェクトのすべてを一緒にデプロイするかを選択できます。表のみをデプロイする場合は、TABLES_ONLYを選択します。その他の場合は、ALL_OBJECTSを選択します。
TABLES_ONLYオプションを使用すると、トランスポータブル・モジュールのデータを更新できます。以前ALL_OBJECTSオプションを使用してデプロイしており、同じソースの表領域のみを置き換える必要がある場合、TABLES_ONLYオプションを使用してトランスポータブル・モジュールを再デプロイします。デプロイメントでは、ターゲットの既存の表領域が削除され、新しい表領域が挿入され、以前デプロイしたメタデータが再コンパイルされます。
同様に、データ・ポンプを使用してトランスポータブル・モジュールを以前デプロイした場合は、再デプロイメントによりトランスポータブル・モジュールの表のみが変更されます。
表領域の転送
デフォルトでは、この設定は有効で、表領域が転送されます。この設定を有効にする場合は、「ターゲット・データファイルの構成プロパティ」の下の設定も指定します。
ソース・データベースおよびターゲット・データベースの両方がOracle 10g以降である場合、この設定を無効にすることを検討してください。たとえば、表が100 KBであり表領域のサイズが10 MBである場合、表領域全体をデプロイすることなく表をデプロイできます。「表領域のトランスポート」を無効にすると、表のデプロイにOracle Data Pumpが使用され、「表が存在する場合のアクション」設定を指定できます。
注意: ソース・ロケーションまたはターゲット・ロケーションがOracle 10g以外である場合、デフォルトで「表領域のトランスポート」オプションが設定されています。その場合は、「表領域のトランスポート」がデータ移動のための唯一の実装方法です。ソース・ロケーションおよびターゲット・ロケーションの両方がOracle 10gである場合、「表領域のトランスポート」の選択を解除し、Data Pumpを使用できます。 |
トランスポータブル・モジュールが選択されている場合、表17-1に示すように、ソース・ロケーションおよびターゲット・ロケーションのリリースに応じて、さらなる制限が適用されます。データ・レプリケーションをプランニングする場合は、次の制限を検討してください。通常、Oracle Database 10gリリース2は、優先されるターゲット・データベースです。
表17-1 データベース・リリース間でデータをレプリケートするための要件
ソース・ロケーション | ターゲット・ロケーション |
---|---|
10g |
他のOracle 10gロケーションをターゲットとするには、両方のデータベースに同じキャラクタ・セットと同じ各国語キャラクタ・セットが設定されている必要があります。 Oracle8iまたはOracle9iロケーションをターゲットにすることはできません。 |
9i |
Oracle9iロケーションまたはOracle Database 10gロケーションをターゲットとするには、両方のデータベースに同じキャラクタ・セットと同じ各国語キャラクタ・セットが設定されており、両方のデータベースが同じオペレーティング・システム・プラットフォーム上にある必要があります。 Oracle8iまたはOracle9iロケーションをターゲットにすることはできません。 |
8i |
Oracle8i、Oracle9iまたはOracle Database 10gをターゲットにするには、次のすべてが必要です。
|
トランスポータブル・モジュールに次のスキーマ・パラメータを設定します。
ターゲット・スキーマ名
このプロパティを使用すると、ターゲットにソース・スキーマがデプロイされるときにソース・スキーマの名前を変更できます。「デフォルト」を選択して、省略記号ボタンをクリックしてターゲットのスキーマの新しい名前を入力し、「OK」をクリックします。たとえば、SCOTTをSCOTT1に変更できます。
パスワード
既存のスキーマでは、スキーマの有効なパスワードを入力します。作成するスキーマでは、指定したパスワードでスキーマが作成されます。
デフォルト表領域
ターゲット・スキーマを作成するときに使用するデフォルト表領域を指定します。この設定を空白のままにすると、ターゲットが指定したデフォルトが使用されます。
スキーマが存在する場合のアクション
ターゲットにスキーマが存在する場合に実行するアクションを指定します。デフォルト値は「スキップ」です。
スキーマが存在しない場合のアクション
ターゲットにスキーマが存在しない場合に実行するアクションを指定します。デフォルト値は「作成」です。
スキーマが存在する場合のアクション
「表領域のトランスポート」が無効になっている場合、このプロパティを使用して、ターゲットに表が存在する場合に実行するアクションを指定します。デフォルト値は「スキップ」です。
ソース・スキーマのコピー
「表領域のトランスポート」の選択を解除してOracle Data Pumpを使用する場合は、このオプションを選択するとターゲットにソース・スキーマ全体をコピーできます。
パラレル
「表領域のトランスポート」の選択を解除してOracle Data Pumpを使用する場合は、データ転送の実行に使用するOracle Databaseの最大プロセス数を指定します。
トランスポータブル・モジュールには次のデータ・ファイル・パラメータを設定する必要があります。
ディレクトリ
ターゲット・コンピュータ上のデータ・ファイルの格納先のディレクトリを指定します。このディレクトリを指定しないままにすると、データ・ファイルは作業ディレクトリに格納されます。
ファイル名
ターゲット・コンピュータに作成するデータ・ファイルの名前を指定します。このパラメータを使用してデータ・ファイルの名前を変更できます。「デフォルト」受け入れてソース・データベースのデータ・ファイル名を保持するか、省略記号ボタンをクリックしてデータ・ファイルの新しい名前を入力し、「OK」をクリックします。
上書き
このパラメータを選択すると、既存のデータ・ファイルが上書きされます。その他の場合は、既存のデータ・ファイルが見つかるとデプロイメントが終了します。
「表領域のトランスポート」を有効にする場合、トランスポータブル・モジュールの表領域パラメータを設定します。
表領域名
Oracle Database 10gより前のバージョンのデータベースを使用している場合、ターゲット表領域名はソース表領域名と同じである必要があります。この場合、このフィールドは読取り専用です。ターゲット・データベースに同じ名前を持つ表領域が含まれる場合、ランタイム操作によりまず既存の表領域が削除され、新しい表領域に置き換えられます。
Oracle 10g以降を使用する場合は、ターゲットの表領域名を変更できます。
既存の表領域の削除
この設定が選択されている場合は、既存の表領域が削除されターゲットで再作成されます。デフォルトでは、この設定は選択されていないため、同じ名前の表領域が存在する場合、ターゲット内の表領域を削除することはできません。この場合、デプロイメント・プロセスがエラーで停止します。
トランスポータブル・モジュールをデプロイする場合、ビューなどのその他のカタログ・オブジェクトが個別に表示される間にすべての表を含むようにコントロール・センターにトランスポータブル・モジュールが表示されます。トランスポータブル・モジュールのデプロイ・アクションを選択すると、コントロール・センターでは関連付けられているカタログ・オブジェクトが同じデプロイ・アクションに設定されます。
トランスポータブル・モジュールのデプロイメント時には、デプロイメントの進行状況をユーザーが監視する2通りの方法があります。最初の方法は、「ジョブ詳細」ウィンドウを使用します。このステータス行は最新のステータスですぐに更新されます。ステータス行のすぐ上のメッセージ・ボックスにそれまでにログされたすべてのメッセージが表示されます。
進行状況を監視するもう1つの方法は、トランスポータブル・モジュール配布プロセスで生成されるログ・ファイルを監視することです。トランスポータブル・モジュール・ログ・ファイルは、ユーザーが構成した「作業ディレクトリ」に作成されます。ファイル名はTM Name.log
です。たとえば、トランスポータブル・モジュールの名前がTM1
の場合はTM1.log
になります。このファイルは、ジョブ詳細ウィンドウのメッセージ・ボックスに表示されるものと同じメッセージを含む、プレーン・テキスト・ファイルです。例17-1は、トランスポータブル・モジュール・ログ・ファイルの内容を示しています。
現在、ログ・ファイルを表示するために合計16の手順があります。ユーザー構成に応じて、スキップされる手順もあれば、参照表でエラーが見つからないために参照制約を作成できないなど、トランスポータブル・モジュールが無視できるとみなしたエラー・メッセージを含む手順もあります。このログ・ファイルには、重要な情報が含まれています。トランスポータブル・モジュールの配布中および配布の完了後に、慎重に確認する必要があります。
例17-1 重要な情報を含むログ・ファイル
step1 begin: making connection to target db ...
step1 end: connected to target
Target OWB_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 usable 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.
トランスポータブル・モジュールはプロジェクト・ナビゲータのデータベース・ノード内のトランスポータブル・モジュール・ノードに下にあります。
トランスポータブル・モジュールを編集するには、プロジェクト・ナビゲータからトランスポータブル・モジュールの名前を右クリックし、「開く」を選択します。Oracle Warehouse Builderにより、4つのタブを含む「トランスポータブル・モジュールの編集」ダイアログ・ボックスが表示されます。
Oracle Warehouse Builderではこの接続情報を使用してソース・コンピュータにアクセスしたり、メタデータをワークスペースにインポートしたりします。また、実行時にこの情報を使用して、表領域データをソースからターゲットに移動します。
「ソース・データベース」タブは読取り専用です。ソース・コンピュータから表領域をインポートしたら、ロケーション情報は変更できません。
「表領域」タブには転送する表領域とそのサイズが表示されます。このタブは読取り専用です。また、表領域の個別のデータ・ファイルの表領域サイズも表示できます。詳細は、「表領域プロパティの表示」を参照してください。
使用可能なターゲット・ロケーションと選択したターゲット・ロケーションが表示されます。ロケーションは「使用可能なロケーション」から「選択されたロケーション」に移動したり、新しいロケーションを構成したりできます。
プロジェクト・ナビゲータで表領域の名前を右クリックし、「開く」を選択すると、表領域のプロパティを表示できます。「表領域の編集」ダイアログ・ボックスが開きます。このプロパティ・シートには、表領域内の各データファイルのサイズが表示されます。「名前」と「ソース・データファイル」の2つのタブがあります。
前回のトランスポータブル・モジュールの作成以降にソース・データを変更した場合、メタデータを再インポートしてワークスペース定義を更新できます。再インポートダイアログ・ボックスを開き、トランスポータブル・モジュールの作成時に指定したソース・ロケーションが格納され、ソース・オブジェクトが表示されます。
トランスポータブル・モジュールの定義を再インポートする手順は、次のとおりです。
プロジェクト・ナビゲータで、トランスポータブル・モジュールの名前を右クリックして再インポートを選択します。
トランスポータブル・モジュールの再作成ダイアログ・ボックスが表示されます。
使用可能なデータベース・オブジェクト列で、再インポートするオブジェクトを選択します。
以前ワークスペースにインポートしたデータベース・オブジェクトは太字で表示されます。また、新しい定義をインポートすることもできます。
矢印ボタンを使用して、選択したデータベース・オブジェクト列にオブジェクトを移動して、「OK」をクリックします。
Oracle Warehouse Builderでは既存の定義が再インポートされ、新しい定義が作成されます。トランスポータブル・モジュールでは変更が反映され、再インポートの完了後更新されます。