プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド
12c (12.2.1.2.0)
E82973-02
目次へ移動
目次

前
前へ
次
次へ

マルチユーザー開発のトラブルシューティング

この項では、いくつかの一般的な問題とその解決法方について説明します。

マスターRPDで保持される孤立したロック

ユーザーが変更をネットワークに公開するコマンドを発行することでロックを設定した場合、それは公開が完了するまでクリアされません。そのユーザーがそれを忘れて2週間の休暇をとってしまった場合、MUD管理者はそのロックを解除できます。

ロックは、マスター・ディレクトリの非表示のシステム・ファイルに格納されます。ロック・ファイルが見つからない場合は、Windowsのエクスプローラで「ツール」を選択し、「フォルダ オプション」を選択します。「表示」メニューで、「すべてのファイルとフォルダを表示する」オプションが選択されていることを確認します。

ロック・ファイルは、マスターRPDと同じ名前を持ち、.lckという拡張子が付きます。ロック・ファイルを削除すると、リポジトリのロックが解除されます。

この図は、リポジトリ・ロック・ファイルを示しています。

他のユーザーで削除されたオブジェクト

必要なオブジェクトを他のMUD開発者が削除した場合、次のオプションを選択できます。

  • 以前のバージョンにロールバックして、当初からのすべての変更を再適用します。一般的には、ロールバックの最も簡単な方法は、履歴ログで履歴をたどることです。そのためには、「ファイル」「マルチユーザー」「履歴」を選択してからエントリを選択し、「アクション」「表示」を使用します。

    「マルチユーザー開発の履歴の表示と削除」を参照してください。

  • 削除されたオブジェクトを再作成し、将来のマージでそれが同じオブジェクトとして処理されるように等化します。

チェックアウト後にプロジェクトがない場合に必要な物理表および結合

物理オブジェクトは明示的にプロジェクトに属しているわけではありません。物理オブジェクトはプロジェクトの論理ファクト表にマップされ、それがチェックアウト時に抽出されているのです。

ローカルの抽出時に必要な物理オブジェクトを取得するには、必要な物理オブジェクトへのマッピングを持つ追加プロジェクトをチェックアウトします。そのようなプロジェクトがない場合、リポジトリ全体を編集してプロジェクトで論理ファクト表へのマッピングを作成する必要があります。MUD管理者はオフラインでリポジトリの変更を行うことができます。次のチェックアウトでその物理オブジェクトを含める必要があります。

前回のセッションで追加されたオブジェクトがチェックアウトされたリポジトリにない

最近追加されたオブジェクトがチェックアウトされたリポジトリにない場合、マージおよび公開する前にオブジェクトをプロジェクトに追加することを忘れた可能性があります。プロジェクト内のオブジェクトまたはプロジェクトから推測されたオブジェクト(ディメンションや物理オブジェクトなど)のみが、抽出されるリポジトリに含まれます。

この問題を解決するには、そのオブジェクトをマスター・リポジトリのプロジェクトに追加するようにMUD管理者に依頼します。

#1の追加によるオブジェクトの名前の変更

2つのオブジェクトが同じ完全修飾名で異なる内部アップグレードIDを使用してマージされている場合に、このような状況が発生します。このような状況でマージ・ロジックは、これらのオブジェクトは意味的に異なるオブジェクトと判断し、オブジェクトの名前を変更して一意性を保持します。

この問題を解決するには、equalizerpdsユーティリティを実行します。これは、2つのリポジトリで同じ完全修飾名を持つオブジェクトが同じアップグレードIDを持つようにアップグレードIDを再割当てするユーティリティです。その後、再度マージを試行してください。2つのオブジェクトは、名前が変更されることなく、マージされます。

「オブジェクトの等化」を参照してください。

前のバージョンへのロールバック

マルチユーザー開発環境では、適切なチェックポイントでRPDのバックアップ・コピーを保存します。破損が発生する可能性のある操作が実行されるたびに、新しいバックアップがマスター・ディレクトリに保存されます。これはRPDの名前を持ち、3桁のインクリメント整数の拡張子を持ちます。個々の開発者も、開発時はいつでもRPDファイルをコピーできます。

開発者のサンドボックスでは、チェックアウトされたプロジェクトの元のバージョンはoriginalrpd_name.rpdという名前で保存されています。開発者が変更を廃棄すると、自動的にこのバージョンが使用されます。

また、次の手順を実行して、古いバージョンを参照したりロールバックすることもできます。

  1. Oracle BIサーバーを開きます(リポジトリは開きません)。

  2. 「ファイル」「マルチユーザー」「履歴」を選択します。

  3. 目的のバージョンを選択してから、「アクション」「表示」「リポジトリ」を選択します。

  4. ファイル」→「名前を付けてコピー」を選択して、そのバージョンを新しい名前に保存します。

  5. 古いバージョンを使用して最新のバージョンを置き換えるか、マスター・リポジトリを古いバージョンで置き換えます。

マスターMUDリポジトリの手動更新

マルチユーザー開発(MUD)環境におけるOracle BIリポジトリの開発の過程で、マスター・リポジトリを手動で変更する必要がある可能性があります。MUDプロセスは高度に制御されており、MUDの履歴ログ・ファイル(.mhl)にはアカウンティング情報が格納されているため、手動の手順を実行する際には注意が必要です。マスター・リポジトリに対して手動で作業するには、MUDディレクトリとは別のディレクトリにあるリポジトリで作業する必要があります。その後、マスターRPDと、MUDディレクトリにある最新バージョンのリポジトリの両方を交換する必要があります。

たとえば、master.rpdという名前のリポジトリを手動で更新するには、次の手順を実行します。

  1. MUDディレクトリからマスター・リポジトリ(master.rpd)をローカル・ディレクトリにコピーします。

  2. Oracle BIサーバーを使用して、マスター・リポジトリ(master.rpd)のローカル・コピーに必要な変更を加えます。

  3. 手動編集が完了したら、master.rpdをMUDディレクトリのmaster.rpdとしてコピーします。次に例を示します。

    copy c:\local\master.rpd c:\mud\master.rpd
    
  4. MUDディレクトリで、バージョン番号(たとえば、master.7011)を持つ最新のリポジトリを特定します。

  5. master.rpdをMUDディレクトリにコピーし、リポジトリの最新バージョンを上書きします。次に例を示します。

    copy c:\local\master.rpd c:\mud\master.7011

最新バージョンの置換

この例では、古いバージョンをコピーして最新バージョンを置き換える方法を説明します。現在はバージョン1000であり、バージョン900にロールバックするとします。この状況では、repository.900、repository.1000およびrepository.rpd(現在のバージョン)の3つのファイルがあります。ロールバックを実行するには、repository.900のコピーを作成し、その名前をrepository.1001に変更します。これにより、バージョン履歴にrepository.1000を保持できます。その後、repository.900をrepository.rpdにコピーします。