ターゲット・システムの論理定義を設計および構成した後は、ターゲットの物理インスタンスを配布および作成できます。その後、配布済のマッピングとプロセス・フロー・スクリプトを起動して、データをロードまたは更新できます。すでに配布済のシステムで作業している場合は、配布履歴を表示して、アップグレードを計画できます。
この章の内容は次のとおりです。
配布は、次の基準を満たすロケーションに対して実行できます。
ロケーション・タイプが配布に適していること(「ターゲット・ロケーション・タイプの選択」を参照)。
ロケーション所有者がWarehouse Builderに登録されていること。
Warehouse Builderが、ターゲット・ロケーションと同じシステムにインストールされている必要があります。リモート・ロケーションに配布する場合は、ローカル・システムに加えて、リモート・システムにもWarehouse Builderがインストールされている必要があります。
関連項目: Oracle Warehouse Builderインストレーションおよび構成ガイド |
配布は、いくつかの異なるタイプのロケーションに対して実行できます。各ロケーション・タイプで用途が異なります。
データベース: リレーショナルまたはディメンショナルなビジネス・インテリジェンス・システムが対象です。表やビュー、またはディメンションやキューブなどのオブジェクトも含まれます。
ファイル: カンマ区切りまたはXML形式でデータを格納することが目的です。
プロセス・フローおよびスケジュール: ETLの管理が目的です。
ビジネス・インテリジェンス: データベース/Oracleモジュールから導出されたメタデータが対象です。
次のような一部の配布では、ターゲット・ロケーションの所有者に、新規ユーザーの作成時にWarehouse Builderで付与された権限よりも強力な権限が必要です。
アップグレード・アクション
EUL配布
権限があるデータベース・ユーザーは、他の権限を付与できます。
ETLの場合、ターゲット・ロケーションの所有者には、ソース・ロケーションからデータを読み込むための十分な権限が必要です。たとえば、ソース・ロケーションがデータベース表の場合、ターゲット・ユーザーには、この表に対するSELECT
権限が必要です。
アップグレード・アクション
GRANT_UPGRADE_PRIVILEGES
PL/SQLスクリプトによって、アップグレード・アクションに必要なロールと権限がターゲット・ユーザーに付与されます。次の構文を使用します。
@%OWB_ORACLE_HOME%/owb/rtp/sql/grant_upgrade_privileges username
この構文の内容は、次のとおりです。
OWB_ORACLE_HOME
は、ターゲット・システムのWarehouse BuilderのOracleホーム・ディレクトリです。
username
は、ターゲット・ロケーションの所有者です。
たとえば、次のコマンドでは、Windowsシステムに対する権限がSALES_TARGET
ユーザーに付与されます。
@%OWB_ORACLE_HOME%\owb\rtp\sql\grant_upgrade_privileges sales_target
EUL配布
Discovererロケーションでは、EULユーザーにCREATE DATABASE LINK
権限が必要です。
ロケーションの論理定義は、設計プロセス時に作成します。すべてのモジュールは、そのソース・オブジェクトとターゲット・オブジェクトも含めて、配布する前にロケーションに関連付けられている必要があります。
ロケーションを登録すると、Warehouse Builderリポジトリと、ソース・データおよび配布済オブジェクトのロケーションの間にリンクが設定されます。ロケーションの定義は、登録前は変更できますが登録後は変更できません。ロケーションの登録後に変更できるのは、パスワードのみです。ロケーションまたはそのコネクタの1つをさらに編集するには、最初にそのロケーションの登録を解除する必要があります。登録を解除すると、ロケーションの配布履歴が削除されます。
ロケーションは、配布によって自動的に登録されます。または、コントロール・センターでロケーションを明示的に登録することもできます。
ロケーションを登録する手順は、次のとおりです。
コントロール・センター・マネージャを開き、ナビゲーション・ツリーからロケーションを選択します。
「ファイル」メニューから「登録」を選択します。
「ロケーション」ダイアログ・ボックスが表示されます。
ロケーション詳細を慎重に確認します。
詳細は、「ヘルプ」をクリックしてください。
「OK」をクリックします。
ロケーションの登録を解除する手順は、次のとおりです。
コントロール・センター・マネージャを開き、ナビゲーション・ツリーからロケーションを選択します。
「ファイル」メニューから「登録解除」を選択します。
「OK」をクリックして、処理を確定します。
デザイン・センターのナビゲーション・ツリーからオブジェクトを配布する方法は、配布の簡単で迅速なプロセスです。デフォルトの配布アクションをWarehouse Builderで使用する場合は、この方法を使用します。
デフォルトの配布アクションは、オブジェクトが前回配布されて以降、オブジェクト設計に対して行われた変更内容に応じて決まります。たとえば、変更された表を配布した場合、デフォルト・アクションはアップグレードです。オブジェクトが変更されていない場合、またはデフォルト・アクションが設定されていない場合、そのオブジェクトは再配布されません。
注意: デザイン・センター・ウィンドウ下部に、進行状況メッセージが表示されます。詳細情報を表示する場合は、最初に配布プリファレンスを設定します。「ツール」メニューから「プリファレンス」をクリックします。「配布プロセス」の下に、配布出力を制御する設定がリストされます。設定の説明は、「ヘルプ」をクリックしてください。 |
デザイン・センターからオブジェクトを配布する手順は、次のとおりです。:
プロジェクト・エクスプローラから、配布可能オブジェクトを選択します。
「設計」メニューから「配布」を選択します。
配布の進行状況をモニターするには、「ツール」メニューから「ジョブ・モニター」を選択します。
オブジェクトを右クリックするか、またはツールバーの「配布」アイコンを使用して配布することもできます。
コントロール・センター・マネージャを使用してコントロール・センターにアクセスし、プロジェクトの構成をアクティブにできます。コントロール・センター・マネージャを開いた後、現行のプロジェクトの配布可能オブジェクトおよび配布ジョブにアクセスできます。
コントロール・センター・マネージャを開く手順は、次のとおりです。
「ツール」メニューで、「コントロール・センター・マネージャ」を選択します。
一部の接続情報が欠落している場合、「接続情報」ダイアログ・ボックスが表示されます。通常、デフォルトの「コントロール・センター」の場合は、個別にログインする必要はありません。
ダイアログ・ボックスでパスワードやその他の欠落情報を入力します。
詳細は、「ヘルプ」をクリックします。
図29-1に示すように、コントロール・センター・マネージャが開きます。メニュー、ツールバーおよびパネルの詳細は、「ヘルプ」メニューから「トピック」を選択してください。
コントロール・センター・マネージャでは、現行プロジェクト内のオブジェクトの現行配布ステータスおよび履歴に関するすべての情報が提供されます。コントロール・センター・マネージャを使用すると、デフォルト配布オプションの上書き、および配布ジョブの進行状況のモニターが可能です。
オブジェクトは、デザイン・センターから検証および生成できます。コントロール・センター・マネージャで検証および生成するのは、配布時のオブジェクトです。
注意: コントロール・センター・マネージャの動作は、「プリファレンス」ダイアログ・ボックスの多数の設定によって制御されます。配布は、追加の設定によって制御されます。「ツール」メニューから「プリファレンス」をクリックします。「コントロール・センター・モニター」および「配布」の下に、設定がリストされます。設定の説明は、「ヘルプ」をクリックしてください。 |
コントロール・センター・マネージャからオブジェクトを配布する手順は、次のとおりです。
コントロール・センター・マネージャを開きます。
プロジェクト・ツリーを開いて内容を表示します。フィルタを選択すると、部分リストを表示できます。
配布するオブジェクトを選択します。
1つ以上の個別オブジェクト、モジュールまたはロケーションを選択できます。
選択したオブジェクトに関する詳細が、「詳細」タブに表示されます。
各オブジェクトに対する配布アクションを選択します。アクションは、次の方法で自動的にまたは手動で選択できます。
「詳細」タブで、「デフォルト・アクション」をクリックします。
デフォルト・アクションは、オブジェクトのタイプ、およびオブジェクトが以前に配布されているかどうかによって異なります。たとえば、アップグレード・アクションは、ディメンションとスケジュールではサポートされていません。配布ツリーで「変更済オブジェクト」フィルタを使用すると、アクションを伴わないオブジェクトを検索できます。
「詳細」タブで、「配布アクション」フィールドをクリックし、ポップアップ・メニューからアクションを選択します。
「配布アクション」列にアクションが表示されます。
ツールバーの「配布」アイコンをクリックします。
Warehouse Builderは、ジョブの生成時に開いている必要がありますが、配布時に開いている必要はありません。コントロール・センター・マネージャは、どの段階でも閉じることができます。
ウィンドウの下部に表示されるステータス・メッセージ、および「コントロール・センター・ジョブ」パネルの「ステータス」列を確認することで、ジョブの進行状況を監視できます。
ジョブが完了すると、オブジェクトの新しい配布ステータスが「詳細」タブに表示されます。結果を確認し、スクリプトを表示できます。
配布の詳細を表示する手順は、次のとおりです。
ジョブの詳細パネルで配布するジョブをダブルクリックします。
「配布結果」ウィンドウが表示されます。このウィンドウの説明を参照するには、「ヘルプ」メニューから「トピック」を選択します。
配布されたスクリプトを表示する手順は、次のとおりです。
前述の手順で説明したように、配布結果のウィンドウを開きます。
ナビゲーション・ツリーで該当するオブジェクトを選択します。
「スクリプト」タブで、スクリプトを選択して「コードの表示」をクリックするか、スクリプト名をダブルクリックします。
リポジトリには、多数のターゲット・ロケーションが含まれている場合があります。オブジェクトは、一度に1つのターゲット・ロケーションにのみ配布できます。ただし、それぞれ異なるモジュール(またはプロジェクト全体)を異なるロケーションに配布したり、同じモジュールを複数のロケーションに配布することはできます。手順は、オブジェクトがすでに配布されているかどうかによって異なります。
異なるモジュールを同じシステムの異なるスキーマに配布する手順は、次のとおりです。
新規スキーマに対するターゲット・ロケーションを作成します。
モジュールを作成または編集し、新規ロケーションに関連付けます。
以前の配布と同じコントロール・センターを使用します。
通常どおり配布します。
モジュールを同じシステムの2番目のスキーマに配布する手順は、次のとおりです。
注意: 2番目のスキーマに配布するために新規構成を作成する必要はありませんが、追加の構成パラメータを変更している場合は、作成した方が便利です。
スキーマに対するロケーションを作成します。
プロジェクト・エクスプローラで、モジュールをダブルクリックします。
「モジュールの編集」ダイアログ・ボックスが開きます。
「データのロケーション」タブで、新規ロケーションを「使用可能なロケーション」から「選択されたロケーション」に移動して、「OK」をクリックします。
プロジェクト・エクスプローラで、モジュールを選択して「構成」アイコンをクリックします。
「構成プロパティ」ダイアログ・ボックスが開きます。
「識別」の下で、「ロケーション」プロパティに対するリストから新規ロケーションを選択し、「OK」をクリックします。
通常どおり配布します。
モジュールを異なるシステムの2番目のスキーマに配布する手順は、次のとおりです。
ターゲット・システムを設定します。
ターゲット・システムにWarehouse Builderをインストールします。
リポジトリ・アシスタントを使用して、ターゲット・スキーマ用のリポジトリとユーザーを作成します。
ローカルのデザイン・センターで、ターゲット・システムのリポジトリに対する新規構成および新規コントロール・センターを作成し、これをデフォルト構成にします。
リモート・スキーマに対するターゲット・ロケーションを定義します。
通常どおり配布します。
ETLは、ソース・ロケーションからデータを抽出し、そのデータをマッピングの指定どおりに変換し、ターゲット・ロケーションのオブジェクトにロードするプロセスです。Warehouse BuilderでETLを開始するには、マッピングまたはプロセス・フローを開始します。
マッピングまたはプロセス・フローの開始には、次の手順があります。
PL/SQL、SQL*LoaderまたはABAPスクリプトの生成(必要な場合)
スクリプトの配布(必要な場合)
スクリプトの実行
Warehouse Builderでは、抽出、変換およびロードのプロセスを次の方法で手動で開始できます。
デザイン・センターのプロジェクト・エクスプローラでETLを開始する手順は、次のとおりです。
プロジェクト・エクスプローラから、マッピングまたはプロセス・フローを選択します。
「設計」メニューから「開始」を選択します。
オブジェクトを右クリックして、ポップアップ・メニューから「開始」を選択することもできます。
コントロール・センター・マネージャでETLを開始する手順は、次のとおりです。
コントロール・センター・マネージャを開き、ナビゲーション・ツリーからロケーションを選択します。
ナビゲーション・ツリーから、マッピングまたはプロセス・フローを選択します。
注意: 一度に開始できるのは、1つのマッピングまたはプロセス・フローのみです。
「ファイル」メニューから「開始」を選択します。
オブジェクトを右クリックしてポップアップ・メニューから「開始」を選択するか、またはツールバーの「開始」アイコンをクリックすることもできます。
ETLのスケジュールには、次のいずれかの方法を使用できます。
Warehouse Builderでスケジューラを使用します。
第28章「ETLオブジェクトのスケジューリング」を参照してください。
サード・パーティのスケジュール・ツールを使用します。
Oracle Enterprise Managerのスケジュール機能を使用して、Oracleジョブ・キューにジョブを発行します。
変更するプラットフォーム・プロパティのいくつかを説明します。他のプロパティは<owb home>/owb/bin/admin/Runtime.propertiesファイルを使用して変更できます。
property.RuntimePlatform.0.NativeExecution.SQLLoader.oracle_home_10g: このオプション・プロパティでは、SQL*Loaderが実行されるOracle10gホームのロケーションが定義されています。このプロパティは、ターゲット・ロケーションのバージョンが「"10.」で始まる場合に選択されます。このプロパティが設定されていない場合は、かわりにoracle_home_defaultプロパティが使用されます。
property.RuntimePlatform.0.NativeExecution.SQLLoader.oracle_home_9i: このオプション・プロパティでは、SQL*Loaderが実行されるOracle9iホームのロケーションが定義されています。このプロパティは、ターゲット・ロケーションのバージョンが「9.」で始まる場合に選択されます。このプロパティが設定されていない場合は、かわりにoracle_home_defaultプロパティが使用されます。
property.RuntimePlatform.0.NativeExecution.SQLLoader.oracle_home_8i: このオプション・プロパティでは、SQL*Loaderが実行されるOracle8iホームのロケーションが定義されています。このプロパティは、ターゲット・ロケーションのバージョンが「8.」で始まる場合に選択されます。このプロパティが設定されていない場合は、かわりにoracle_home_defaultプロパティが使用されます。
property.RuntimePlatform.0.NativeExecution.SQLLoader.oracle_home_default: このオプション・プロパティでは、SQL*Loaderが実行されるOracleホームのデフォルトのロケーションが定義されています。このプロパティは、他に明示的なプロパティが設定されていない場合に選択されます。このプロパティが設定されていない場合は、「コントロール・センター」のORACLE_HOME環境変数が使用されるか、または「コントロール・センター」自体のホームが使用されます。
property.RuntimePlatform.0.NativeExecution.SQLLoader.sqlldr_exe_10g: このオプション・プロパティでは、実行可能なSQL*Loaderのロケーションまたは名前が定義されています。このプロパティは、ターゲット・ロケーションのバージョンが「10.」で始まる場合に選択されます。このプロパティが設定されていない場合は、かわりにsqlldr_exe_defaultプロパティが使用されます。その値で、実行可能な端末の名前またはフルパスを指定できます。フルパス名は指定したOracleホーム、binディレクトリおよび端末の名前で構成されます。
property.RuntimePlatform.0.NativeExecution.SQLLoader.sqlldr_exe_9i: このオプション・プロパティでは、実行可能なSQL*Loaderのロケーションまたは名前が定義されています。このプロパティは、ターゲット・ロケーションのバージョンが「9.」で始まる場合に選択されます。このプロパティが設定されていない場合は、かわりにsqlldr_exe_defaultプロパティが使用されます。その値で、実行可能な端末の名前またはフルパスを指定できます。フルパス名は指定したOracleホーム、binディレクトリおよび端末の名前で構成されます。
property.RuntimePlatform.0.NativeExecution.SQLLoader.sqlldr_exe_8i: このオプション・プロパティでは、実行可能なSQL*Loaderのロケーションまたは名前が定義されています。このプロパティは、ターゲット・ロケーションのバージョンが「8.」で始まる場合に選択されます。このプロパティが設定されていない場合は、かわりにsqlldr_exe_defaultプロパティが使用されます。その値で、実行可能な端末の名前またはフルパスを指定できます。フルパス名は指定したOracleホーム、binディレクトリおよび端末の名前で構成されます。
property.RuntimePlatform.0.NativeExecution.SQLLoader.sqlldr_exe_default: このオプション・プロパティでは、SQL*Loader実行可能ファイルのロケーションまたは名前が定義されています。このプロパティは、他に明示的なプロパティが設定されていない場合に選択されます。このプロパティが設定されていない場合は、UNIXのsqlldrやWindowsのSQLLDR.EXEなど、実行プラットフォームの標準の端末名が使用されます。その値で、実行可能な端末の名前または実行可能ファイルへのフルパスを指定できます。フルパス名は、指定したOracleホーム、binディレクトリおよび端末の名前で構成されます。
property.RuntimePlatform.0.NativeExecution.SQLPlus.oracle_home_10g: このオプション・プロパティでは、SQL*Plusが実行されるOracle10gホームのロケーションが定義されています。このプロパティは、ターゲット・ロケーションのバージョンが「10.」で始まる場合に選択されます。このプロパティが設定されていない場合は、かわりにoracle_home_defaultプロパティが使用されます。
property.RuntimePlatform.0.NativeExecution.SQLPlus.oracle_home_8i: このオプション・プロパティでは、SQL*Plusが実行されるOracle8iホームのロケーションが定義されています。このプロパティは、ターゲット・ロケーションのバージョンが「8.」で始まる場合に選択されます。このプロパティが設定されていない場合は、かわりにoracle_home_defaultプロパティが使用されます。
property.RuntimePlatform.0.NativeExecution.SQLPlus.oracle_home_9i: このオプション・プロパティでは、SQL*Plusが実行されるOracle9iホームのロケーションが定義されています。このプロパティは、ターゲット・ロケーションのバージョンが「9.」で始まる場合に選択されます。このプロパティが設定されていない場合は、かわりにoracle_home_defaultプロパティが使用されます。
property.RuntimePlatform.0.NativeExecution.SQLPlus.oracle_home_default: このオプション・プロパティでは、SQL*Plusが実行されるデフォルトのOracleホームのロケーションが定義されています。このプロパティは、他に明示的なプロパティが設定されていない場合に選択されます。このプロパティが設定されていない場合は、「コントロール・センター」のORACLE_HOME環境変数が使用されるか、または「コントロール・センター」自体のホームが使用されます。
property.RuntimePlatform.0.NativeExecution.SQLPlus.sqlplus_exe_10g: このオプション・プロパティでは、実行可能なSQL*Loaderのロケーションまたは名前が定義されています。このプロパティは、ターゲット・ロケーションのバージョンが「10.」で始まる場合に選択されます。このプロパティが設定されていない場合は、かわりにsqlldr_exe_defaultプロパティが使用されます。その値で、実行可能な端末の名前またはフルパスを指定できます。フルパス名は指定したOracleホーム、binディレクトリおよび端末の名前で構成されます。
property.RuntimePlatform.0.NativeExecution.SQLPlus.sqlplus_exe_9i: このオプション・プロパティでは、実行可能なSQL*Loaderのロケーションまたは名前が定義されています。このプロパティは、ターゲット・ロケーションのバージョンが「9.」で始まる場合に選択されます。このプロパティが設定されていない場合は、かわりにsqlldr_exe_defaultプロパティが使用されます。その値にで、実行可能な端末の名前またはフルパスを指定できます。フルパス名は指定したOracleホーム、binディレクトリおよび端末の名前で構成されます。
property.Runtimeplatform.0.Nativeexecution.SQLLoader.sqlldr_exe_8i: このオプション・プロパティでは、実行可能なSQL*Loaderのロケーションまたは名前が定義されています。このプロパティは、ターゲット・ロケーションのバージョンが「8.」で始まる場合に選択されます。このプロパティが設定されていない場合は、かわりにsqlldr_exe_defaultプロパティが使用されます。その値で、実行可能な端末の名前またはフルパスを指定できます。フルパス名は指定したOracleホーム、binディレクトリおよび端末の名前で構成されます。
property.RuntimePlatform.0.NativeExecution.SQLPlus.sqlplus_exe_default: このオプション・プロパティでは、SQL*Plus実行可能ファイルのロケーションまたは名前が定義されています。このプロパティは、他に明示的なプロパティが設定されていない場合に選択されます。このプロパティが設定されていない場合は、UNIXのsqlplusやWindowsのSQLPLUS.EXEなど、実行プラットフォームの標準の端末名が使用されます。その値で、実行可能な端末の名前または実行可能ファイルへのフルパスを指定できます。フルパス名は、指定したOracleホーム、binディレクトリおよび端末の名前で構成されます。
property.RuntimePlatform.0.delete_all_job_on_complete: このブール値プロパティを使用して、正常に完了したすべてのジョブの監査レコードを削除できます。デフォルト値はfalseです。trueに設定されている場合は、ジョブが正常に完了した場合に監査実行レコードとすべてのマップ監査レコードが自動的に削除されます。property.RuntimePlatform.0.logfile_max_sizeCan: コントロール・センター・サービス・ログ・ファイルに記録されるトレース・メッセージの最大数を表す整数を指定できます。このプロパティが設定されている場合は、この値に達したときに新しいログ・ファイルが作成されます。値は1000以上にする必要があります。デフォルト値は0で、この値は最大サイズがなく、コントロール・センター・サービスの開始時にのみ新しいログ・ファイルが作成されることを意味します。property.RuntimePlatform.0.max_number_logfiles: この重要なプロパティは、<owb-home>/logサブディレクトリに自動的に保持されるログ・ファイル数を表します。このプロパティは2以上にする必要があり、デフォルトでは10です。新しいログ・ファイルが作成されると、システムは最大でこの数のログ・ファイルがログ・サブディレクトリに保持されるようにします。property.RuntimePlatform.0.purge_delay_hours: ジョブ・ステータスに関係なく、指定された時間数よりも前に開始された配布または実行の監査詳細がパージされます。指定されていない場合、デフォルトは24時間です。最小値は1時間です。property.RuntimePlatform.0.purge_minimum_minutes: ジョブ・ステータスに関係なく、指定された分数よりも前に開始した配布または実行の監査詳細がパージされません。指定されていない場合、デフォルトは10分です。最小値は1分です。property.RuntimePlatform.0.recovery: このブール値プロパティを使用して、サービスの起動時に配布と実行がリカバリされるかどうかを制御できます。デフォルト値はtrueです。この値は、まだビジーである配布/実行がサービスの起動時に再起動されることを意味します。falseの値は、このような配布/実行がリカバリされず、非アクティブになることを意味します。property.RuntimePlatform.0.platform_net_host_name: このプロパティは、コントロール・センターへの内部接続を行う際に使用する必要のあるホスト名を定義します。RACでは、これは一般にクラスタ内のノードではなくクラスタ全体を示します。このプロパティは、コントロール・センター・スキーマへの接続にデータベース・リンクが必要なプロセス・フローおよびスケジュールに使用されます。このプロパティが設定されていない場合は、コントロール・センター・サービスを実行しているノードのホスト名が使用されます。
property.RuntimePlatform.0.platform_net_service_name: このプロパティでは、「コントロール・センター」へ内部接続するときに使用されるTNS名が定義されます。そのプロパティは、データベース・リンクがコントロール・センター・スキーマに接続するために必要なプロセス・フローおよびスケジュールに使用されます。このプロパティが設定されていない場合はコントロール・センター・サービスの接続情報が使用されます。