テナント データのエクスポートおよびインポートの方法

この記事には、以下のトピックが含まれています。
casm173
この記事には、以下のトピックが含まれています。
サービス プロバイダは、既存のマルチテナンシー実装からテナント データを抽出し、新しいシステムにインポートできます。
データのボリュームによっては、抽出プロセスに数時間かかることがあります。 抽出およびインポートの実行は、以下のような複数のフェーズを経る必要がある場合があります。
  • 初期
    ベース ラインを抽出し、後続のフェーズで使用する制御ファイルを作成します。
  • 更新
    制御ファイルを使用して、前回の実行以降に変更されたデータのみを抽出します。
  • 最終
    「更新」と同じ手順を実行しますが、アニメーションも抽出する点が異なります。 アニメーションは、「初期」と「更新」の両フェーズでは省略されます。
あるデータベースからデータを抽出し、別のデータベースにインポートするには、以下の手順に従います。
  1. pdm_tenant_extract の初期フェーズを実行し、ベース ライン データを抽出します。 これによって、後続のフェーズで使用する制御ファイルが作成されます。
  2. 抽出したデータ用に新しくクリーンな MDB を準備します。
    初期フェーズからの出力を、当該製品やほかの製品で使用されていないデータベースにロードする
    必要があります
    。 初期フェーズのデータからロードした各テーブルは、ロード前に切り捨てが行われています。データベースがすでに使用されている場合、この切り捨てによって、データが失われる可能性があります。
  3. 新しいシステムに特権のある連絡先が重複して表示されるのを避けるために、特権のある連絡先を非アクティブにする必要があります。 抽出したデータをロードする前に、CA SDM にログオンし、これらの連絡先のステータスを「非アクティブ」に変更します。
  4. データ ロード中に参照に関する問題を回避するために、制約を削除する適切なスクリプトを実行します。
    • (Oracle)$NX_ROOT/samples/views/Oracle/OracleDropConstraints.sql を実行します。
    • (SQL Server)$NX_ROOT/samples/views/SQLServer/SQLDropConstraints.sql を実行します。
  5. pdm_userload を使用して、初期フェーズからのデータを手順 2 および 3 で準備したクリーンな MDB にロードします。
  6. pdm_tenant_extract の更新フェーズか最終フェーズを実行し、前のフェーズ以降に作成または変更された追加データを抽出します。 pdm_tenant_extract では、手順 1 で作成した制御ファイルを使用して、前のフェーズで処理されたデータを判別します。
  7. pdm_userload を使用して、手順 5 で抽出したデータを、前のフェーズからロードしたデータが含まれているのと同じ MDB にロードします。
    このユーティリティの詳細については、pdm_userload を参照してください。
  8. すべてのデータが新しいデータベースにインポートされるまで、手順 5 と 6 を繰り返します。 最終フェーズを最後に実行する必要があります。
  9. 新しいデータベースの完全性を保護するために、制約を追加する適切なスクリプトを実行して、手順 3 で削除した制約を回復します。
    • (Oracle)$NX_ROOT/samples/views/Oracle/OracleAddConstraints.sql を実行します。
    • (SQL Server)$NX_ROOT/samples/views/SQLServer/SQLAddConstraints.sql を実行します。
  10. pdm_tenant_delete を使用して、元のデータベースから抽出したデータを削除します。
  11. 抽出したテナントと関連付けられたすべてのリポジトリがターゲット設定にコピーされていることを確認します。
添付ファイルおよびリポジトリを管理する方法
添付ファイルはリポジトリに格納されます。 パブリック リポジトリなど、抽出したテナントと関連付けられたすべてのリポジトリをターゲット システムにコピーする必要があります。 この処理は主に手動による操作で、手順は以下のとおりです。
  1. 最初にターゲット システムにデータをロードした後、すべてのリポジトリの場所に固有の情報を再定義します。 このタスクでは、以下の値を変更します。
    • サーバ名
    • アップロード パス
    • サーブレット パス
    • アーカイブ パス
  2. 必要なすべてのディレクトリおよびフォルダを手動で作成します。
  3. 最終フェーズからデータをロードした後(あるいはロード中に)、前の場所から新しいリポジトリ場所に添付ファイルをすべてコピーします。
これらの手順を完了すると、ターゲット システムにある添付ファイルはすべて正常に参照します。 ただし、添付ファイルのコピーはソース システムに残ります。 これらの不要な添付ファイルの削除には、pdm_clean_attachments.pl ユーティリティを使用します