マルチユーザー開発リポジトリへの変更の公開
ローカル・コンピュータでメタデータを変更し、テストした後、開発者はローカルで行った変更をマルチユーザー開発ディレクトリのマスター・リポジトリに公開する必要があります。
Oracle BIリポジトリの開発プロセスでは、3方向のマージを使用して同時開発を管理します。最初にローカル環境でメタデータのマージが実行され、次にマスター・リポジトリとマージされます。3方向のマージでは、次のリポジトリ特性に基づいてローカルの変更が特定されます。
-
マスターOracle BIリポジトリ
-
プロジェクト抽出時のベースラインOracle BIリポジトリまたはマスターOracle BIリポジトリのスナップショット
-
ローカルで開発および変更された現在のOracle BIリポジトリ
変更は、マージと調整によって管理されます。マージ・プロセスのほとんどは自動で、変更内容は競合しません。競合するメタデータ・ソースがある場合、開発者はそれらを特定して解決できます。
また、管理者は複数のリポジトリの変更内容を手動でマージしたり、特定のMUD環境外の様々なリポジトリからオブジェクトをインポートすることもできます。
変更内容は頻繁にマージしてください。マージ・プロセスは非常に複雑で、多数の変更が加えられている場合はプロセスが困難になることがあります。マージ・プロセスでオブジェクトがどのようにマージされるかの詳細は、「マージ・ルール」を参照してください。
定期的にサブセット・リポジトリをリフレッシュし、競合を早期に特定することをお薦めします。サブセットのリフレッシュによって、サブセットがマスターの最新バージョンと再度マージされ、リポジトリが開いたままになり、公開する準備ができるまで変更を続行できるようになります。
このセクションには次のトピックが含まれます:
マルチユーザー開発のマージ・プロセスについて
このトピックでは、マルチユーザー開発のマージ・プロセスについて説明します。
マージ・プロセスには次のファイルが含まれます。
-
オリジナルまたは現在(リフレッシュ済)のいずれかのローカル(サブセット)リポジトリ。ローカル・サブセット・リポジトリは、次のいずれかです。
-
サブセットのリフレッシュが実行されていない場合、オリジナルの抽出したままのプロジェクトまたはリポジトリ全体の状態が含まれています。このリポジトリの名前は「original」で始まります(例: originalDevelopment2.rpd)。
-
サブセットのリフレッシュを実行済である場合、サブセットのリフレッシュ中に行われた最後のマージ以降のプロジェクトまたはリポジトリ全体の状態が含まれています。このリポジトリの名前は「current」で始まります(例: currentDevelopment2.rpd)。
-
-
変更済ローカル(サブセット)リポジトリ。開発者によって変更された後の、抽出されたプロジェクトが格納されます。このバージョンは、ローカル・サブセット・リポジトリのオリジナルまたは現在のバージョンと同じ場所に保存されます。
-
最新のマスター・リポジトリ。最新のマスターはローカルにコピーされてマージされ、マージ後にマルチユーザー開発ディレクトリに公開されます。このマージの前に、別の開発者がファイルに変更を加えた可能性があります。
マージ中には、管理ツールによって、追加されたオブジェクトがあるかどうかがチェックされ、オブジェクトが見つかった場合は警告メッセージが表示されます。このステップでは、次の処理が実行されます。
-
追加されたオブジェクトに関する警告。プロジェクトをチェックアウトする開発者は、そのプロジェクトを変更し、再度チェックインすることができます。削除と変更では、プロジェクトの整合性が維持されます。ただし、オブジェクトを追加した場合は、どのプロジェクトにも属さないオブジェクトがリポジトリに挿入される可能性があります。そのため、プロジェクト関連のすべてのオブジェクトがチェックされ、新しいオブジェクトが見つかった場合は警告メッセージが表示されます。
重要:
新しく作成したメタデータをプロジェクトのその後の抽出バージョンに表示するには、マスター・リポジトリのプロジェクト定義に追加する必要があります。たとえば、開発者がプロジェクトをチェックアウトし、新しいオブジェクトを追加して、チェックインした場合、プロジェクト定義に明示的に追加するまで、新しいオブジェクトはプロジェクトの抽出バージョンに表示されません。手順については、プロジェクトの作成を参照してください。
-
関連オブジェクトの集約。警告メッセージでは、親オブジェクトのみが報告されます。メッセージをより便利にするために、管理ツールによってすべてのオブジェクトが集約されます。たとえば、開発者が新しいビジネス・モデルを追加した場合、ユーザーへの警告メッセージにはビジネス・モデル名のみが含まれます。表、列およびディメンションの名前はユーザーに表示されません。
開発者が変更内容をネットワークに公開すると、次の処理が行われます。
-
マルチユーザー開発ディレクトリのマスター・リポジトリが、開発者が加えた変更を含むリポジトリで上書きされます。
-
master_repository.lckファイルが削除されます。別の開発者が、変更されたプロジェクトをマスター・リポジトリからチェックアウトする、またはリポジトリ全体をチェックアウトすると、最初の開発者が加えた変更が他の開発者に公開されます。
マルチユーザー開発のマージと標準のリポジトリ・マージの違い
マルチユーザー開発の公開プロセスでは、標準のリポジトリ・マージ・プロセスと同じテクノロジが使用されますが、重要な違いがいくつかあります。
マルチユーザー開発マージでは、開発者によるマスター・リポジトリのパスワードやその他の重要オブジェクトの上書きを防止するため、セキュリティ設定とデータ・ソースの変更を保持しないことが望まれます。セキュリティ設定とデータ・ソース接続の変更は、MUDマージでは保持されません。さらに、挿入(作成されたオブジェクト)が自動的に適用されます。
「マルチユーザー開発マージのマージ・ルールと動作」を参照してください。
ネットワークへの公開
公開プロセスが始まると、Oracle BI管理ツールによって、現在のバージョンのマスター・リポジトリがマルチユーザー開発ディレクトリから開発者のコンピュータ上のローカル・リポジトリ・ディレクトリに自動的にコピーされます。
公開される場所は、 ORACLE_INSTANCE\bifoundation\OracleBIServerComponent\coreapplication_obisn\repository
のようになります。公開プロセスでは、ローカルおよびマルチユーザー開発ディレクトリのログ・ファイルも更新されます。これが必要なのは、開発者がプロジェクトをチェックアウトした後または最後のサブセットのリフレッシュ以降にマルチユーザー開発ディレクトリのマスター・リポジトリが変更されている可能性があるためです。
競合がなくても、リポジトリ間に違いがないことを意味するわけではありません。変更内容を公開する際に開発者が明示的に行う必要がある決定がないことを意味します。マルチユーザー開発のマージと標準のリポジトリ・マージの違いを参照してください。
変更公開時の整合性のあるリポジトリの施行
マルチユーザー開発オプション・ファイルでMandatory Consistency CheckオプションをYesに設定することで、ネットワークへの公開ステップ中に必須の整合性チェックを強制できます。
マルチユーザー開発オプションの設定を参照してください。
- 整合性エラーが発生した場合は、次のいずれかを実行します。
- 「はい」をクリックして、整合性チェックのエラーを即座に修正します。マスター・リポジトリはロックされたままになります。
- 「いいえ」をクリックして、公開ステップをキャンセルし、整合性チェックのエラーを後で修正します。マスタ・リポジトリのロックは解除されます。
- マスターのロックを解除する場合や変更の修正が予想以上に複雑である場合は、Oracle BI管理ツールの「ファイル」メニューから、「マルチユーザー」、「公開を元に戻す」の順に選択します。