複数のユーザー データベース ファミリーと msimportauto.bat との同期化

いくつかの環境で、ユーザー データベース更新パケットを正常にインポートできるかどうかが、他のユーザー データベース パケットに含まれている情報によって決まる場合があります。スキーマ リポジトリが複数のユーザー データベース ファミリーに関連付けられる場合、パケットをその生成順に再生しないと、インポートに失敗する場合があります。

このバージョンの Rational® ClearQuest® に組み込まれているスクリプト msimportauto.bat は、更新パケットのインポート ディレクトリをスキャンしてから、各ファミリーへのパケットのインポートを試行します。 パケットが正常にインポートされると、インポートされたパケットはそのディレクトリから削除され、スクリプトによって次のパケットのインポートが試行されます。 すべてのパケットの再生が終了しディレクトリが空になると、スクリプトの実行は停止します。 一連のインポート操作の結果、ディレクトリからどのパケットも削除されない場合、スクリプトの実行は停止し、インポートは失敗します。

以下のセクションでは、ツールをいつ使用するかについて説明し、構文例と手順を示しています。

ボストンとデンバーにサイトを持つ特定の所属に、User1 と User2 の 2 つのユーザー データベースがあるとします。 ボストンの管理者が、User1 (Packet1) の同期化パケットを生成してから、User2 (Packet2) の同期化パケットを生成します。 パケットの作成中に、ある管理者がユーザー アカウント情報を修正します。 この結果、スキーマ リポジトリ oplog の内容が、両方のユーザー データベース パケットに組み込まれます。

しばらく後に、ボストンの管理者が、User1 (Packet3) と User2 (Packet4) 用に別のユーザー データベース同期化パケットのペアを生成します。 このときも、ある管理者がパケットの作成中にユーザー アカウント情報を変更し、スキーマ リポジトリの oplog の内容が両方のユーザー データベース パケットに組み込まれます。

デンバーのサイトには、4 つすべてのパケットが送信されます。 デンバーのサイトでは、管理者が syncreplica -import を実行し、User1 データベース ファミリーを指定します。 Packet1 と Packet3 はどちらも User1 ファミリー用です。 Packet1 のインポートは正常に行われ、oplog が User1 とスキーマ リポジトリで再生されます。 しかし、Packet3 のインポートは失敗します。 これは、このインポートが、デンバーの複製ではまだ再生されていない Packet2 に含まれているスキーマ リポジトリ データベース oplog に依存しているためです。

解決策

このような状態を回避するには、エクスポートする側のサイトで作成されたパケットを、インポートする側のサイトでは、作成時と同じ順序で再生する必要があります。 msimportauto.bat スクリプトを使用します。


フィードバック