このチュートリアルでは、Oracle BI Administration Toolを使用して異なるリポジトリのオブジェクトをマージ/インポートする方法を説明します。 共通の親を使用した3方向マージ(標準の3方向マージとも呼ばれます)や共通の親を使用しない3方向マージ(2方向マージとも呼ばれます)など、さまざまなシナリオで3方向マージ技術を取り上げます。
注:このチュートリアルは、Oracle BI Administration Toolにすでに精通している学習者を対象とします。また、Oracle by Exampleチュートリアルの『Oracle BI Administration Toolを利用したリポジトリの作成』も完了している必要があります。 OBEの『Oracle BI Administration Toolを使用したマルチユーザー開発環境(MUDE)の設定』を参照してマルチユーザー環境のマージの実行方法を理解することも推奨します。
約30~40分
このチュートリアルでは、以下のトピックについて説明します。
| 概要 | ||
| シナリオ | ||
| 前提条件 | ||
| 3方向マージの概要:シナリオ | ||
| 共通の親を使用した異なるリポジトリのオブジェクトのマージ(標準の3方向マージ) | ||
| 共通の親を使用しない異なるリポジトリのオブジェクトのマージ/インポート | ||
| まとめ | ||
| 関連情報 | ||
このアイコンの上にカーソルを置くと、すべてのスクリーンショットがロードし、表示されます。 (警告: この操作によって、同時にすべてのスクリーンショットがロードされるため、ご使用のインターネット接続によってはレスポンス時間が遅くなる場合があります)。
注: 各手順に関連したスクリーンショットのみを表示する場合は、それぞれの手順にある各アイコンの上にカーソルを置いてください。
このチュートリアルでは、Oracle BI Administration Toolを使用して異なるリポジトリのオブジェクトをマージ/インポートする方法を説明します。 共通の親を使用した3方向マージ(標準の3方向マージとも呼ばれます)や共通の親を使用しない3方向マージ(2方向マージとも呼ばれます)など、異なるシナリオでオブジェクトのマージ/インポートを説明します。 このチュートリアルでは、例とともに、リポジトリ・オブジェクトのアーカイブとアーカイブ化の解除によるWeb Catalogの移行の概念も説明します。
Oracle BI Administration Toolの機能を熟知している必要があります。 このチュートリアルでは、売上履歴のリポジトリ(SH.rpd)を使用します。設定手順とともにrpdファイルが前提条件の項に提供されています。
このため、各トピックに記載された手順を実行する前に、必要なソフトウェアをインストールし、SH.rpdリポジトリの設定および前提条件の項のほかの設定をおこなう必要があります。
このチュートリアルを始める前に、次のことを確認してください。
| 1. | Oracle Database 10g(可能であれば、バージョン10.2)にアクセスできるか、またはインストール済みであること。
|
|
| 2. | サンプル・スキーマ(とくにSH)にアクセス可能であること。または、サンプル・スキーマがインストールされていること。
|
|
| 3. | Oracle Business Intelligence Enterprise Edition 10.1.3.3がインストールされていること。
|
|
| 4. | 『Oracle BI Administration Toolを利用したリポジトリの作成』チュートリアルを完了していること。『Oracle BI Administration Toolを使用したマルチユーザー開発環境の設定』チュートリアルの実行も推奨されています。
|
|
| 5. | 次の手順に従って売上履歴(SH.rpd)のリポジトリが設定されていること。
注:このチュートリアルのスクリーン・キャプチャは、Windows XP環境のものです。 したがって、ほかのWindows環境を使用するとスタート・メニューのオプションが若干異なる場合があります。 |
|
マルチユーザー開発環境(MUDE)を設定および操作し、Oracle BI Administration Toolを使用して複数の開発者/ユーザーによる変更をリポジトリにマージできます。 Oracle BIリポジトリの開発プロセスは、3方向マージを使用して同時開発を管理する典型的なSoftware Configuration Management(SCM)プロセスに準拠します。 マージとリコンシリエーションによって変更が管理されます。 ほとんどのマージ・プロセスは自動であり、変更によって競合は発生しません。 競合が発生した場合、開発者は競合を解決できます。これは、OBEの『Oracle BI Administration Toolを使用したマルチユーザー開発環境(MUDE)の設定』で扱います。
ただし、管理者として、MUDEの外部の複数のリポジトリの変更を手動でマージしたり異なるリポジトリのオブジェクトをインポートしたりする場合があります。 Oracle BI Enterprise Editionは、マルチユーザー開発(MUD)環境、およびMUD環境の外部における典型的な3方向マージの固有のサポートを提供します。 このチュートリアルでは、2つのおもなシナリオ(MUDEの外部)を取り上げます。

標準の3方向マージ(共通の親を使用した3方向マージ): 共通の親リポジトリと2つの派生したリポジトリを使用している場合、このマージが有用です。 たとえば、共通の親リポジトリから派生した開発リポジトリと本番リポジトリがあります。 開発リポジトリから本番リポジトリに変更をインポート/マージできます。 この場合の3方向マージ・プロセスを左側のダイアグラムに示します。ここでは、Parent RPDと2つの派生したRPD(RPD AとRPD B)があります。 マージのあと、4つ目のマージされたリポジトリ・ファイル(ダイアグラムのMerged RPD)が作成されます。 (変更されたオブジェクトまたは新しいオブジェクトは*(アスタリスク)を追加して記述します)。 RPD Aでは、Obj1オブジェクトが変更され、新しいオブジェクトのNewObjXが作成されています。 同様に、RPD Bで新しいオブジェクトNewObjBが作成されます。 これらの2つのリポジトリをマージする場合、親から継承されてRPD Aで変更されたobj1と2つのリポジトリの新しいオブジェクト(NewObjX、NewObjB)がマージされたリポジトリに含まれていることを確認します。 
共通の親を使用しない3方向マージ: これは、共通の親を使用しない2つの異なるリポジトリのオブジェクトをマージする特殊なマージです(2方向マージとも呼ばれます)。 たとえば、管理者として、異なるリポジトリから現在または作業中のリポジトリにオブジェクト(サブジェクト領域、フォルダなど)をインポートできます。 この場合、マージするリポジトリに共通の親が存在しません。 右側のダイアグラムでこのシナリオを示します。 この場合、2つのリポジトリが個別に扱われ、マージまたはインポートの実行中に競合するオブジェクトの名前(接尾辞#Nを使用、Nは数値)が複製されます。 ダイアグラムは、RPD AおよびRPD Bが個別のリポジトリとして扱われて空のリポジトリに対応している共通の親を使用しないシナリオを示しています。 この場合のマージ・プロセスは、Obj1を上書きしません。代わりに、RPD AとRPD BからObj1(Obj1、Obj1#1*)のコピーがマージされたリポジトリに保存されます。 また、2つのリポジトリの新しいオブジェクト(NewObjB*、NewObjX*)がマージされたリポジトリに作成されます。
このチュートリアルでは、共通の親リポジトリを使用する3方向マージと使用しない3方向マージの手順を説明します。 Web Catalog移行の概念も説明します。 このチュートリアルで使用する基本リポジトリは、前提条件の項の手順を実行してインストールしたSH.rpdです。
このトピックでは、標準の3方向マージの簡単なシナリオを取り上げます。 たとえば、作業している開発リポジトリまたは現在のリポジトリや変更がおこなわれるリポジトリ(同じ親から派生した2つのリポジトリ)があります。 これらの2つのリポジトリをもとのリポジトリと比較し、変更をマージして4つ目のマージされたリポジトリ・ファイルを作成します。 このトピックでこのシナリオをシミュレートします。
以下の手順を実行します。
| 1. | <Install Drive>:\OracleBI\server\Repositoryへ移動します。 (Oracle BI Administration Toolのすべてのインスタンスを閉じます。) sh.rpdを3つコピーして、それぞれsh_original.rpd、sh_current.rpd、sh_modified.rpdという名前をつけます。 フォルダは、次の画面のようになります。
注:現時点で、3つのリポジトリのコピーはすべて同じです。これから内容を変更し、マージします。
|
| 2. | Oracle BI Administration Toolの「sh_modified.rpd」をオフラインで開きます。 Windowsの「すべてのプログラム」→「Oracle Business Intelligence」→「Administration」を選択します。
パスワードにAdministratorを使用して、Administratorとしてログインします。 |
| 3. | リポジトリに変更をおこないます。 Oracle BI Administration ToolのPresentationレイヤーの「SH」ノードを展開します。 「Products」ノードを展開します。
|
| 4. | 「Prod Category」をダブルクリックして、プロパティを変更します。 Presentation Column- Prod Categoryダイアログが表示されます。 「Edit」をクリックします。
NameフィールドにProduct Categoryと入力して、列の表示名を変更します。 「OK」をクリックします。
再度「OK」をクリックして、ダイアログを閉じます。 同様に、PresentationレイヤーのProducts表のProd SubcategoryおよびProd Nameの列名をそれぞれProduct SubcategoryおよびProduct Nameに変更します。
|
| 5. | 次のようにリポジトリにさらに変更を加えます。 PresentationレイヤーからPromotions表を削除します。 「Promotions」を右クリックして、「Delete」を選択します。
確認ダイアログの「Yes」をクリックして、このオブジェクトを削除します。
|
| 6. | 変更されたこのリポジトリを保存します。 「File」→「Save」を選択して、リポジトリ・ファイルに変更を保存します。 全体の整合性を確認するプロンプトが表示されたら、「No」をクリックします。
変更されたリポジトリのシナリオをシミュレートしていることに注意してください。 実際のシナリオでは、メタデータ・リポジトリの整合性が検証されるので全体の整合性を確認することを推奨します。
「File」→「Close」を選択して、sh_modifiedリポジトリを閉じます。
|
| 7. | Oracle BI Administration Toolの管理者として、オフライン・モードで「sh_current.rpd」を開きます。
変更されたリポジトリの変更がマージされていないので、ほかのリポジトリへの以前におこなった変更は反映されていません。
|
| 8. | 現在のリポジトリに次の変更をおこないます。 Presentationレイヤーの「Demographics」を右クリックし、「Delete」を選択してこのオブジェクトを削除します。
「Yes」をクリックして、削除を確定します。
|
| 9. | 現在/作業中のリポジトリ(sh_current. rpd))と同じ親リポジトリ(sh_original.rpd)から派生した変更されたリポジトリ(sh_modified.rpd)があります。 次のステップでは、変更をマージします。 sh_currentリポジトリを開いているOracle BI Administration Toolウィンドウで、「File」→「Merge」を選択します。
|
| 10. | Select Original Repositoryダイアログが表示されます。マージのもとのリポジトリとして「sh_original.rpd」を選択します。 「Open」をクリックします。
|
| 11 | Merge Repositoriesウィンドウが表示されます。 sh_orginal.rpdリポジトリがOriginal repositoryフィールドに反映されていることを確認します。 現在のリポジトリへの変更が表示されていることも確認します。
「sh_modified.rpd」ファイルを選択し、「Open」をクリックします。
Administratorのパスワードの入力を要求された場合は、パスワードにAdministratorと入力します。
|
| 12. | Save merged repository asフィールドの横の「Select」ボタンをクリックして、このマージ・プロセスの結果として作成されるマージされたリポジトリのデフォルト名と異なる名前を設定します。 ファイル名にsh_merged.rpdと入力して、「Save」をクリックします。
|
| 13. | Merge Repositoriesウィンドウに戻ります。 「Show Qualified Names」チェック・ボックスを選択して、このオプションの下に表示されるログのレコードをクリックします。 変更を反映した3つのすべてのリポジトリが表示されます。 次の画面のハイライトされている部分を確認します。 「Stats」をクリックして、統計を表示します。
また、「
|
| 14. | 現在のリポジトリまたは変更されたリポジトリの変更を選択する決定をおこなう必要があります。 現在のリポジトリのDemographics表の削除を示すレコードを選択します。 右方向にスクロールしてDecision列を表示し、ドロップダウン・リストから「Modified (A)」を選択します。
注: このオプションは、Demographics表に関して現在のリポジトリに変更されたリポジトリの変更を保持します。 ドロップダウン・リストからDemographicsに関して変更されたリポジトリに対する現在のリポジトリの変更を保持するCurrentオプションも選択できます。
|
15.
|
決定オプションを選択すると、Mergeオプションを使用できることがわかります。 「Merge」をクリックします。
全体の整合性を確認するプロンプトが表示されたら、「No」をクリックします。
|
| 16. | Oracle BI Administration Toolでsh_mergedリポジトリが開きます。 変更されたリポジトリの変更がマージされたリポジトリに反映されていることを確認します。 PresentationレイヤーのマージされたリポジトリにPromotions表が存在せず、Products表の列の名前が変更されています。 ただし、リポジトリをマージする際にDecisionドロップダウン・リストからCurrentオプションではなくModified (A)オプションを選択したので、Demographics表がマージされたリポジトリに表示されます。
ここでは簡単な例を取り上げていますが、標準の3方向マージには多くのシナリオがあります。
|
この技術には、さまざまなシナリオがあります。 このトピックでは、異なるリポジトリから新しいオブジェクトをインポートする簡単なシナリオを取り上げます。 このシナリオでは、2つのリポジトリのオブジェクトは競合しません。 ここで、このシナリオをシミュレートします。 最初に空のリポジトリを作成し、2つの異なるリポジトリ(SH.rpdとUsageTracking .rpd)のオブジェクトをマージします。
注:<Install Drive>:\OracleBI\server\Sample\usagetrackingの製品サンプルにUsageTracking.rpdファイルがあります。
以下の手順を実行します。
| 1. | 最初に、Oracle BI Administration Toolで空のrpdを作成する必要があります。 (これは1回のみ実行されるプロセスで、必要に応じて将来インポートする場合に備えて使用できます)。 Windowsの「すべてのプログラム」→「Oracle Business Intelligence」→「Administration」を選択します。
この新しいリポジトリの名前にBlank. rpdと入力して、「Save」をクリックします。
空のリポジトリがOracle BI Administration Toolで開かれていることを確認できます。 「File」→「Close」を選択して、
|
| 2. | 管理者として、オフライン・モードでsh.rpdを開きます。 (これは、ソース・リポジトリです。)
パスワードにAdministratorを使用して、Administratorとしてログインします。
|
| 3. | 「File」→「Merge」を選択します。
Administratorのパスワードを要求された場合、パスワードを入力しないで「OK」をクリックします。
|
| 4. | もとのリポジトリとしてBlank.rpdが選択されたMerge Repositoriesウィンドウが開きます。
表示されたModified Repositoryダイアログを選択します。
Administratorユーザーのパスワードの入力を要求された場合、パスワードを入力しないで「OK」をクリックします。
|
| 5. | Save the merged repository asフィールドの横の「Select」ボタンをクリックして、デフォルト名と異なる名前を設定します。 共通の親が存在しない場合の出力先/マージ・リポジトリであることが判断できる名前(sh_merged_no_CP.rpdなど)を入力します。
|
| 6. | 現在のリポジトリまたは変更されたリポジトリの変更を選択する決定をおこなう必要があります。
全体の整合性を確認するプロンプトが表示されたら、「No」をクリックします。
共通の親を使用しないマージのシナリオをシミュレートしていることに注意してください。 実際のシナリオでは、メタデータ・リポジトリの整合性が検証されるので全体の整合性を確認することを推奨します。
|
| 7. | マージ後にOracle BI Administration Toolでsh_merged_no_CP.rpdが開きます。 sh. rpdに最初は存在しなかったUsage Trackingサブジェクト領域がこのマージされたリポジトリにインポートされていることを確認します。
このマージの結果としてPresentation、Business Model and Mapping、およびPhysicalレイヤーにインポートされている新しいオブジェクトを確認します。
|
注: ただし、リポジトリが変更された場合やオブジェクトが競合する場合に共通の親を使用しないオブジェクトをインポートする別のシナリオが存在する可能性もあります。 作業しているリポジトリに変更をマージするので、方法が若干異なります。すでにインポートされたオブジェクトがリポジトリに存在する場合、既存のオブジェクトと比較され、最新の変更がおこなわれたオブジェクトはマージされたリポジトリに保存されます。
このチュートリアルで学習した内容は、次のとおりです。
| 共通の親を使用した異なるリポジトリのオブジェクトのマージ | ||
| 共通の親を使用しない異なるリポジトリのオブジェクトのマージ/インポート | ||
Oracle Business Intelligenceの詳細については、下記を参照してください。
| OTN WebサイトのOracle BI EEに関する追加のOBE | ||
| マルチユーザー開発環境の設定に関するOBE | ||
このアイコンの上にカーソルを置くと、すべてのスクリーンショットが非表示になります。