0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<(args.length-2); i+=3) if ((obj=findObj(args[i]))!=null) { v=args[i+2]; if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; } obj.visibility=v; } } //Define function to show one layer and hide others: function show(whichLayer) { if(layerDisp) { showHide(layerDisp,'','hide'); } showHide(whichLayer,'','show'); layerDisp = whichLayer; } //Define function to keep score and display feedback: function Engine(question, answer, layerSuffix) { if (answer != ans[question]) { show('incorrect'+layerSuffix); } else { if (!done[question]) { score++; } show('correct'+layerSuffix); } done[question] = -1; } //Define function to verify answer for checkbox: function checkAnswer(question, whichform, whichbox) { var checkTotal = 0; with (whichform) { for (i = 0; i < whichbox.length; i++) { if (whichbox[i].checked == true) { checkTotal = checkTotal + eval(whichbox[i].value); } } } Engine(question,checkTotal,question*10); } //Define function to show correct answer for checkbox: function showAnswer(question, whichform, whichbox) { var residue = ans[question]; var currAnswer = 1; if(layerDisp) { showHide(layerDisp,'','hide'); } with (whichform) { for (i = 0; i < whichbox.length; i++) { if ((residue>0) && (residue%(currAnswer*2)==currAnswer)){ whichbox[i].checked = true; residue-=currAnswer; } else { whichbox[i].checked = false; } currAnswer*=2; } } } //Define function to init a form function clearForm(form) { //Set all checkboxes and radio buttons on form to unchecked: for (xx=0; xx < form.elements.length; xx++) { if (form.elements[xx].type == 'checkbox' | form.elements[xx].type == 'radio') { form.elements[xx].checked = false; } } } //Define function to init all forms on reload: function InitForm() { clearForm(document.form1) clearForm(document.form2) clearForm(document.form3) } // End --> function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i
ターゲット・ウェアハウスのロード
目的
このレッスンでは、配置されたプロセス・フローを実行してターゲット・ウェアハウスをロードします。 また、Oracle Warehouse Builderが提供する高度なメタデータ管理機能を確認します。
所要時間:
約45分
注:
このチュートリアルとセットアップ・スクリプトは、Oracle Warehouse Builder 11g
Release 1だけに対応しています。
このOracle By Exampleチュートリアルの
前のバージョンは、Oracle Warehouse Builder 10g
Release 1および2に対応しています。
トピック
このチュートリアルでは、以下のトピックについて説明します。
スクリーンショットの表示
このアイコンの上にカーソルを置くと、すべてのスクリーンショットがロード、表示されます。 (警告: すべてのスクリーンショットが同時にロードされるため、ご使用のインターネット接続によってはレスポンス・タイムが遅くなる場合があります。)
注: 各手順に関連したスクリーンショットのみを表示する場合は、それぞれの手順にある各アイコンの上にカーソルを置いてください。
概要
Oracle Warehouse Builderで、2つのタイプの配置されたオブジェクト(マッピングとプロセス・フロー)を実行できます。 ターゲット・システムへのマッピングまたはプロセス・フローを配置した後、、コントロール・センター・マネージャから実行できます。 また、Oracle Workflowを使用してプロセス・フローを実行できます。
通常、データを含むターゲット・ウェアハウスをロードした後でデータをリフレッシュします。 データをロードまたは再ロードするたびに個別にOracle Warehouse Builderマッピングを実行する、またはプロセス・フローを実行できます。
プロセス・フローは、マッピングの実行の順序と依存性を
自動化します。 マッピングの実行が完了するとき(エラー状態、警告状態、または正常終了)に実行するアクションも指定できます。 また、プロセス・フローをスケジューリングして、一定の間隔で実行できます。 たとえば、毎週月曜日にプロセス・フローをスケジューリングして、ウェアハウスのデータ・リフレッシュを実行できます。
このレッスンでは、配置されたプロセス・フローを実行してロードしたデータをデータ・ビューアに表示します。 また、Dependency Managerを使用したOracle Warehouse Builderの影響分析および系統分析機能の簡潔な概要も説明します。 さらに、ターゲット・ウェアハウスの管理タスクを実行できるリポジトリ・ブラウザを簡単に説明します。
トピック・リストに戻る
前提条件
このチュートリアルを始める前に次のことを確認してください。
トピック・リストに戻る
プロセス・フローを使用したターゲット・ウェアハウスのロード
ターゲットのディメンションおよびキューブにデータをロードするには、プロセス・フローを実行する必要があります。 プロセス・フローは、マッピングを自動的に起動してディメンションおよびキューブをロードします。
プロセス・フローを実行するには、以下の手順を実行します。
| 1.
|
Toolsメニューから「
Control Center Manager」を選択します。 コントロール・センター・マネージャ・コンソールで、「
WH_OWF_LOCATION」→「
MY_PF_MODULE」→「
PK」を開きます。 「
LOAD_EXPENSE_WH」を選択します。
プロセス・フローを実行するには、Fileメニューから「
Start」を選択するか、ツールバーの
Startボタン
をクリックします。
|
| 2.
|
Startボタンをクリックすると、Control Center JobsパネルがExecutionタブに切り替わります。 このパネルで実行を監視できます。 実行は非同期に行われます。つまり、プロセス・フローまたはマッピングの実行中にコントロール・センターおよびOWBクライアントを閉じることができます。
実行の詳細を表示するには、スクリーンショットにハイライトされているControl Center JobsパネルのJob列の「
LOAD_EXPENSE_WH」をダブルクリックします。
LOAD_EXPENSE_WHダイアログ・ボックスで、「
Execution Results」タブをクリックして、行アクティビティを監視します。 各ディメンションおよびキューブに挿入された行数を取得できます。
LOAD_EXPENSE_WHダイアログ・ボックスのFileメニューから「
Close」を選択します。 コントロール・センター・マネージャのFileメニューで、「
Close」を選択して終了します。
|
プロセス・フローの実行に成功すると、すべてのディメンションおよびキューブにデータがロードされます。
トピック・リストに戻る
データ・ビューアでのデータの表示
データ・ビューアを使用して、Oracle Warehouse Builder設計クライアント環境でディメンションおよびキューブにロードされたデータを表示できます。
| 1.
|
REL_TIMEデータを表示するには、EXPENSE_WHの下の「
Dimensions」を開きます。 「
REL_TIME」を右クリックして、「
Data」を選択します。
REL_TIMEディメンションの設計中に選択したように、2003年から3年間の標準のカレンダ階層に時間データが基づいていることを確認します。 各年のノードを開くと、各年の四半期が表示されます。
|
| 2.
|
同様に、REL_CATEGORYデータを表示するには、「
REL_CATEGORY」を右クリックして、「
Data」を選択します。 OfficeやFoodなどのカテゴリ・ノードを開いて、サブカテゴリを表示します。
|
| 3.
|
REL_EXPENSEキューブ・データを表示するには、EXPENSE_WHの下の「
Cubes」を開いて、「
REL_EXPENSE」を右クリックします。 「
Data」を選択します。
|
トピック・リストに戻る
Dependency Managerを使用したメタデータの管理
Oracle Warehouse Builderは、ソースの変更がどのようにリポジトリの設計メタデータに影響を与えるかを表示するグラフィカル・インタフェースを提供します。 このグラフィカル・インタフェースを、
Dependency Managerと呼びます。 Dependency Managerを使用すると、オブジェクト定義またはOracle Warehouse Builderリポジトリのメタデータに対する変更の影響を識別できます。
ソース・メタデータを再インポートする場合、エンド・ユーザーまたは外部要件によって定義への変更を行う場合、またはターゲット・システムが変更される場合、といった変更が発生したとします。 このようにOracle Warehouse Builderリポジトリのメタデータに対する変更が行われる場合、Dependency Managerによって変更の影響を分析および解消できます。
たとえば、EXPENSE_WHシナリオのすべてのソース・データは、2つのフラット・ファイルから取得されます。 列をフラット・ファイルのいずれかに追加する場合、すべてのウェアハウス・オブジェクトの設計に与える影響を把握する必要があります。
export_csvフラット・ファイルの影響分析を実行します。
| 1.
|
「
OWB_DEMO」プロジェクト→「
Files」ノードを開きます。 「
SOURCE」を開いて、「
EXPORT_CSV」を右クリックします。 メニューから「
Impact」を選択します。
注:インタラクティブな影響分析および系統分析は、Oracle Warehouse Builder 10g
R2のEnterprise ETLオプションで使用できます。
Metadata Dependency Managerが開きます。 Dependency Managerは、フラット・ファイルの最初の構造的な影響グラフを表示します。 export_csvフラット・ファイルの構造的な依存性を持つ、変更によって影響を受けるすべてのオブジェクトを表示します。
依存性ダイアグラムの最初のビューから、export_csvファイルの変更がEXPENSE_DATA外部表に直接影響を与え、間接的にREL_EXPENSEキューブにも影響を与えていることがわかります。
|
| 2.
|
各演算子の左側の(
+)記号は、系統の観点から依存性の詳細を表示します。 オブジェクトが依存するすべてのオブジェクトの詳細を表示します。演算子の右側の
+記号は、変更によって影響を受けるオブジェクトの詳細を示します。
たとえば、グラフのREL_EXPENSEキューブ演算子の左側の
+記号をクリックすると、グラフが拡張します。
グラフには、REL_EXPENSEキューブがREL_CATEGORYおよびREL_TIMEディメンションとREL_EXPENSE表から入力を取り込むことが示されています。
マッピング記号(
アイコンは閉じたマッピングを示します)は、マッピングによってREL_EXPENSEキューブとEXPENSE_DATA外部表が関連付けられていることも示しています。
|
| 3.
|
EXPENSE_DATA外部表とREL_EXPENSEキューブの間のアイコン
(閉じたマッピング)をダブルクリックして、マッピングを表示します。
閉じたマッピングがREL_EXPENSE_MAPマッピングとして展開されます。REL_EXPENSE_MAPマッピングは、EXPENSE_DATA外部表とREL_EXPENSEキューブの間のデータ・フローを示します。
マッピングには、式演算子でEXPENSE_DATA外部表のデータが処理され、REL_EXPENSEキューブにロードされることが示されています。
|
| 4. |
式演算子で処理される属性を正しく確認するため、属性レベルの影響分析にドリルダウンできます。
属性レベルの分析には、
式演算子をダブルクリックします。 マッピング・ボックス内の「
EXPENSE_DATA」と「
REL_EXPENSE」をダブルクリックして、入力属性および出力属性を表示します。
スクリーンショットは、一部の依存性ダイアグラムを示しています。
Analysisメニューから「
Close」を選択して、Dependency Managerを終了します。
|
依存性ダイアグラムによって、EXPENSE_WHシナリオのソース・フラット・ファイルの影響および系統の追跡および分析を簡単に実行できます。
トピック・リストに戻る
リポジトリ・ブラウザを使用したウェアハウスの管理
HTMLベースのインタフェースであるOracle Warehouse Builderリポジトリ・ブラウザを使用して、すべてのリポジトリ・メタデータ・オブジェクトとそれらのオブジェクト間の関係レポートを表示および生成できます。
スタンドアロン・コンポーネントとして、リポジトリ・ブラウザを使用できます。 リポジトリ・メタデータ・オブジェクトへのリモート・アクセスを実行する場合、Oracle Application Serverに統合されているOracle Warehouse Builderリポジトリ・ブラウザのPortalバージョンを使用できます。
データ・ウェアハウスを有効にした後、配置および実行ジョブの詳細の監視などのタスクを管理する必要があります。 他には、影響分析および系統分析を使用したメタデータ変更の影響の確認やターゲット・ウェアハウスのデータ・リフレッシュ用マッピングの実行スケジュールの監視などのタスクが含まれます。
リポジトリ・ブラウザに表示できるさまざまなレポートの概要を取得できます。
スタンドアロン・バージョンのリポジトリ・ブラウザを起動するには、Oracle Warehouse Builderのブラウザ・リスナーを最初に起動する必要があります。
| 1.
|
Oracle Warehouse Builderのブラウザ・リスナーを起動するには、「
スタート」→「
ファイル名を指定して実行」を選択し、
cmdを実行して、コマンドライン・ウィンドウを開きます。 コマンドライン・ウィンドウで、ディレクトリを
{your Oracle - OWB11gClientHome} > owb > bin > win32に変更します。
StartOwbbInst.batを実行します。
このリスナーを初めて起動する場合、oc4jadminアカウントのパスワードの選択および再確認が要求されます。 これらのプロンプトで、パスワードに
browserを入力します。 Oracle Warehouse Builderのブラウザ・リスナーを起動および停止するたびに、パスワードを使用する必要があります。
スクリーンショットに示されているように、"...Oracle Containers for J2EE 10g (10.1.3.0.0) initialized"メッセージがウィンドウに表示されます。 これで、統合されたリポジトリにログインしてリポジトリ・メタデータを表示できます。
企業内でOracle Warehouse Builderのブラウザ・リスナーを、1インスタンスのみ実行する必要があります。 ログイン資格証明およびWebブラウザを使用するユーザーは、Oracle Warehouse BuilderのクライアントをインストールしなくてもOracle Warehouse Builderのリポジトリ・レポートにアクセスできます。
ウィンドウを閉じないで最小化してください。
|
| 2.
|
リポジトリ・ブラウザを開始するには、デスクトップから「
スタート」→「
プログラム」→{your Oracle - OWB10gR2clientHome}→「
Warehouse Builder」→「
Repository Browser」を選択します。
次のURLでブラウザ・ウィンドウが表示されます。
http://127.0.0.1:8999/owbb/RABLogin.uix?mode=design&def_host=&def_port=1521&def_service=&def_net_service=
|
| 3.
|
ログイン・ページで次の情報を入力します。
ログイン・ページの下部で、Reportsプロンプトの右側のデフォルトの選択項目が"Control Center"ではなく"Design Center"に設定されていることを確認します。
「
Login」をクリックします。
次の画面が表示されます。
Navigatorで、統一されたリポジトリのプロジェクトへ移動して、プロジェクト内のオブジェクトの詳細を確認できます。 MY_WORKSPACEワークスペースが表に示されます。
|
| 4.
|
MY_WORKSPACEの左側のプラス記号(+)をクリックして「
MY_WORKSPACE」を開き、続いて「
OWB_DEMO」を開きます。 すべてのモジュールが表示されます。 「
EXPENSE_WH」を開くと、モジュールに含まれるすべてのオブジェクトのリストが表示されます。
各オブジェクト・ノードを開くと、さらにドリルダウンできます。 「
EXPENSE_CATEGORIES」を開きます。 外部表の列が表示されます。
|
| 5.
|
コントロール・センター・レポートを参照する場合、ログイン・ページに再度アクセスする必要はありません。
コントロール・センター・レポートに切り替えるには、同じページを下方向にスクロールして、スクリーンショットに示されているページ下部のRelated Linksセクションの「
Control Center: Reports」をクリックします。
次の画面が表示されます。
すべてのオブジェクトの現在の配置ステータスを確認する場合、ReportsページのDeploymentセクションでスクリーンショットにハイライトされている「
Object Summary Report」リンクをクリックします。
|
| 6.
|
Object Summary Reportで、各オブジェクトの有効な配置の詳細を確認します。 たとえば、REL_EXPENSEキューブは2007年9月6日の午後8時6分にEXPENSE_WH_LOCATIONに配置され、オブジェクト・ステータスが有効なことを確認できます。
リンクをクリックすると、配置の詳細にドリルダウンできます。
同じページを上方向にスクロールして、上記のスクリーンショットにハイライトされている右上隅のAvailable Reportsセクションで「
Execution Summary」をクリックします。
|
| 7.
|
Execution Summaryレポートは、LOAD_EXPENSE_WHプロセス・フローの実行の詳細を示します。 Execution Statusに
Complete: OKと表示されています。 (演習が成功するかどうかによって、結果が変わります。)
スクリーンショットにハイライトされている表のRelated Information列の
Execution Job Reportをクリックすると、実行の詳細を取得できます。
Execution Job Reportは、実行結果のすべての概要を表示します。
|
| 8.
|
Execution Job Reportで、プロセス・フローの各マッピングの実行の詳細を取得します。
このレポートによると、
REL_TIME_MAPマッピングは正しく実行されています。 選択、挿入、更新、削除、またはマージされたレコードの数の詳細が表示されます。
リポジトリ・ブラウザで、マッピングまたはプロセス・フローの実行を停止または迅速実行することもできます。 スクリーンショットでコマンド・ボタンがハイライトされています。
マッピングの実行を開始することもできます。 たとえば、REL_TIME_MAPの実行を開始するには、Activity Details表の「
REL_TIME_MAP」をクリックします。
マッピング用のExecution Reportが表示されます。 実行を開始するには、Available Reportsセクションの「
Start」をクリックします。
Start Reportで、実行パラメータを設定して「
Start Execution」をクリックし、マッピングの実行を開始できます。
注:実行履歴に応じて、レポートに異なる結果が表示されます。
|
| 9.
|
他のレポートを検索するには数分かかります。 右上隅の「
Logout」をクリックして、ブラウザを閉じます。
Oracle Warehouse Builderのブラウザ・リスナーを停止するには、
{your Oracle - OWB11gClientHome} > owb > bin > win32へ移動します。
StopOwbbInst.batを実行します。
|
トピック・リストに戻る
まとめ
このレッスンでは、プロセス・フローを実行してターゲット・ウェアハウスにデータをロードする方法を学習しました。 Oracle Warehouse Builderの影響分析機能にも少し触れました。 また、リポジトリ・ブラウザを使用して、リポジトリ・メタデータのさまざまな重要なレポートを確認しました。
このレッスンで学習した内容は、以下のとおりです。
|
プロセス・フローを使用したターゲット・ウェアハウスのロード
|
|
データ・ビューアでのウェアハウス・データの表示
|
|
Dependency Managerを使用した影響分析の実行
|
|
リポジトリ・ブラウザを使用したウェアハウスの管理 |
トピック・リストに戻る
このアイコンの上にカーソルを置くと、すべてのスクリーンショットが非表示になります。
|