6 ハイブリッド・データベース移行の準備

ZDMでは、RMANによるトランスポータブル表領域およびデータポンプ・メタデータのインポート/エクスポートを使用した、クロス・プラットフォームおよびクロス・バージョンの移行のために、ハイブリッドでクロス・プラットフォームのトランスポータブル表領域(XTTS)データベース移行のサポートが導入されています。

ハイブリッド移行を正常に実行するには、次の前提条件を満たしている必要があります:

  • ソース・データベースとターゲット・データベースのタイムゾーンが同じであることを確認してください。

    ノート:

    タイムゾーン関連のエントリは移行されず、異なるタイムゾーンが設定されている場合は失敗します。
  • TDEの場合

    • ソース・データベースでTDEが使用され、表領域が暗号化されている場合、ターゲット・データベースにもTDEが構成されている必要があります。次のいずれかのオプションを使用して、ソースおよびターゲットのTDEパスワードを指定します:
      • ZDMCLIコマンドラインを使用して、zdmcli migrate databaseコマンドで次のパラメータを使用します:
        -tdekeystorepasswd for the source database
         -tgttdekeystorepasswd for the target database
      • 次のレスポンス・ファイル・パラメータを使用します: ソース・データベースのWALLET_TDEKEYSTOREパラメータおよびターゲット・データベースのWALLET_TGTTDEKEYSTOREパラメータ。

      ノート:

      暗号化されていないソースはターゲットで暗号化されないため、移行後に暗号化を実行する必要があります。
  • 文字セット関連の制限事項

    • ソース・データベースとターゲット・データベースでキャラクタ・セットの互換性があることを確認してください。(同じキャラクタ・セットおよびNLSキャラクタ・セット)
    • ソースのキャラクタ・セットがターゲットのキャラクタ・セットの一部であること(また、clob列が存在しないこと)を確認してください。
  • ソース・データベースの場合: ソースの互換バージョンをターゲットのバージョンと同じかそれより低く設定します。ソース表領域が暗号化されている場合は、ソースおよびターゲットのTDEパスワードを指定する必要があります。
  • ターゲット・データベースの場合

    • 接続が存在することを確認し、共有NFS/クラスタ・ファイル・システムを指定します。
    • ターゲットCDBに、ソースと同じ名前の表領域を含めることはできません。移行するソース表領域がターゲットに存在しないようにする必要があります。そうでないと、データポンプ・インポートに失敗します。
    • ソース・データベースは、Oracle Database 11.2.0.4以上である必要があります。
    • この機能を使用できるのは、Oracle Database 19c (19.24)のみです。

      ターゲット・データベースについて、35564253で使用可能な修正が含まれていることを確認します。

  • ハイブリッド移行のソースおよびターゲット・データベース・ユーザーには、SYSDBAが必要です。これは、ZDMでRMANを使用して表領域メタデータのインポート/エクスポートが実行されるためです。

次に、ワークフロー・フェーズとそれらの簡単な説明を実行順で示します。

フェーズ名 説明
ZDM_VALIDATE_TGT ターゲットで検証を実行します
ZDM_VALIDATE_SRC ソースで検証を実行します
ZDM_SETUP_XTTS_SRC ソース・サーバーでZero Downtime Migrationヘルパー・モジュールを設定します
ZDM_SETUP_XTTS_TGT ターゲット・サーバーでZero Downtime Migrationヘルパー・モジュールを設定します
ZDM_VALIDATE_DATAPUMP_SETTINGS_SRC エクスポート・ディレクトリ・オブジェクトを検証し(該当する場合)、指定されたユーザーについてダンプをエクスポートするための十分なソース・データベースの領域および権限があるかどうかを確認します。
ZDM_VALIDATE_DATAPUMP_SETTINGS_TGT データ・ポンプ・インポート・ディレクトリ・オブジェクトが存在することを確認します。
ZDM_VALIDATE_XTTS_SRC 表領域の自己包含など、ソースでXTTS関連の検証を実行します
ZDM_VALIDATE_XTTS_TGT 移行に含まれている表領域名がすでに使用されていないことの確認など、ターゲットでXTTS関連の検証を実行します
ZDM_XTTS_BACKUP_FULL_SRC ソース表領域の完全バックアップを実行します(初期L0)
ZDM_XTTS_BACKUP_INCR_SRC ソース表領域の2番目のバックアップ(第1L1)
ZDM_XTTS_COPYFILES ターゲットでリストアを実行するために必要なファイル(ソース検出ファイル、トランスポートxml、TDEウォレットなど)をコピーします。
ZDM_XTTS_RESTORE_FULL_TGT ターゲットで表領域の初期リストアを実行します
ZDM_XTTS_BACKUP_INCR_RO_SRC 表領域を読取り専用に設定し、表領域の3番目および最後のバックアップを取得します(第2L1)。また、RMANで表領域のメタデータのデータポンプ・ダンプをエクスポートします
ZDM_XTTS_COPYFILES_RO 最新のトランスポートxmlとTDEウォレット(そのウォレットに対する変更内容を考慮するため)など、ターゲットでリストアを実行するために必要なファイルをコピーします
ZDM_PREPARE_DATAPUMP_SRC 必要に応じて、データ・ポンプの新しいディレクトリ・オブジェクトを作成します。
ZDM_PREPARE_DATAPUMP_TGT 必要に応じて、データ・ポンプの新しいディレクトリ・オブジェクトを作成します。
ZDM_DATAPUMP_EXPORT_METADATA_SRC RMANデータポンプ実行でエクスポートした表領域メタデータ以外の、その他のソース・メタデータ(ユーザー、PL/SQL、トリガーなど)をエクスポートします。
ZDM_TRANSFER_DUMPS_METADATA_SRC  
ZDM_DATAPUMP_IMPORT_USER_TGT 1番目のインポートとしてユーザーとプロファイルをインポートして、後続の表領域インポートを正常に実行できるようにします
ZDM_XTTS_RESTORE_INCR_TGT RMANを実行して、ZDM_XTTS_BACKUP_INCR_RO_SRCフェーズの間にRMANでエクスポートした表領域メタデータの最終リストアおよびインポートを実行します
ZDM_DATAPUMP_IMPORT_TGT 以前のインポートで実行していない、ユーザー、プロファイルおよび表領域以外のその他のメタデータをインポートします
ZDM_POST_DATAPUMP_SRC Zero Downtime Migrationによって作成されたデータ・ポンプ・ディレクトリ・オブジェクトを削除します
ZDM_POST_DATAPUMP_TGT ターゲット・データベース内の無効なオブジェクトを修正します。
ZDM_REFRESH_MVIEW_TGT  
ZDM_POST_ACTIONS  
ZDM_CLEANUP_SRC 設定フェーズの間にコピーしたヘルパー・モジュールの削除など、ソースでクリーン・アップを実行します
ZDM_CLEANUP_TGT 設定フェーズの間にコピーしたヘルパー・モジュールの削除など、ターゲットでクリーン・アップを実行します
ハイブリッド移行の場合は、次のパラメータが適用されます:
  • MIGRATION_METHOD=OFFLINE_XTTS
  • DATA_TRANSFER_MEDIUM=NFS
  • SOURCEDATABASE_CONNECTIONDETAILS_HOST
  • SOURCEDATABASE_CONNECTIONDETAILS_PORT
  • SOURCEDATABASE_CONNECTIONDETAILS_SERVICENAME
  • SOURCEDATABASE_ADMINUSERNAME
  • TARGETDATABASE_CONNECTIONDETAILS_HOST
  • TARGETDATABASE_CONNECTIONDETAILS_PORT
  • TARGETDATABASE_CONNECTIONDETAILS_SERVICENAME
  • TARGETDATABASE_ADMINUSERNAME
  • DATAPUMPSETTINGS_EXPORTDIRECTORYOBJECT_NAME
  • DATAPUMPSETTINGS_EXPORTDIRECTORYOBJECT_PATH
  • DATAPUMPSETTINGS_IMPORTDIRECTORYOBJECT_NAME
  • DATAPUMPSETTINGS_IMPORTDIRECTORYOBJECT_PATH
  • DATAPUMPSETTINGS_DATAPUMPPARAMETERS_EXPORTPARALLELISMDEGREE
  • DATAPUMPSETTINGS_DATAPUMPPARAMETERS_IMPORTPARALLELISMDEGREE
  • DATAPUMPSETTINGS_DATAPUMPPARAMETERS_NOCLUSTER=FALSE
  • DATAPUMPSETTINGS_EXPORTVERSION
  • DUMPTRANSFERDETAILS_PUBLICREAD=FALSE
  • IGNOREEXPORTERRORS
  • IGNOREIMPORTERRORS
  • RMANSETTINGS_BACKUPTAG
  • RMANSETTINGS_COMPRESSIONALGORITHM=MEDIUM
  • RMANSETTINGS_PUBLICREAD=FALSE
  • RMANSETTINGS_RETENTIONWINDOW
  • RMANSETTINGS_SECTIONSIZE=64G
  • RMANSETTINGS_SRCCHANNELS=10
  • RMANSETTINGS_TGTCHANNELS=10
  • SOURCEDATABASE_CONNECTIONDETAILS_BASTIONDETAILS_IDENTITYFILE
  • SOURCEDATABASE_CONNECTIONDETAILS_BASTIONDETAILS_IP
  • SOURCEDATABASE_CONNECTIONDETAILS_BASTIONDETAILS_PORT
  • SOURCEDATABASE_CONNECTIONDETAILS_BASTIONDETAILS_REMOTEHOSTIP
  • SOURCEDATABASE_CONNECTIONDETAILS_BASTIONDETAILS_USERNAME
  • SOURCEDATABASE_CONNECTIONDETAILS_PROXYDETAILS_HOSTNAME
  • SOURCEDATABASE_CONNECTIONDETAILS_PROXYDETAILS_PORT
  • SOURCEDATABASE_CONNECTIONDETAILS_PROXYDETAILS_PROTOCOL
  • SOURCEDATABASE_ENVIRONMENT_DBTYPE=ORACLE
  • SOURCEDATABASE_ENVIRONMENT_NAME=ORACLE
  • TABLESPACEDETAILS_EXCLUDE=
  • TARGETDATABASE_CONNECTIONDETAILS_BASTIONDETAILS_IDENTITYFILE
  • TARGETDATABASE_CONNECTIONDETAILS_BASTIONDETAILS_IP
  • TARGETDATABASE_CONNECTIONDETAILS_BASTIONDETAILS_PORT
  • TARGETDATABASE_CONNECTIONDETAILS_BASTIONDETAILS_REMOTEHOSTIP
  • TARGETDATABASE_CONNECTIONDETAILS_BASTIONDETAILS_USERNAME
  • TARGETDATABASE_CONNECTIONDETAILS_PROXYDETAILS_HOSTNAME
  • TARGETDATABASE_CONNECTIONDETAILS_PROXYDETAILS_PORT
  • TARGETDATABASE_CONNECTIONDETAILS_PROXYDETAILS_PROTOCOL
  • TARGETDATABASE_DBTYPE
  • WALLET_DATAPUMPENCRYPTION
  • WALLET_SOURCEADMIN
  • WALLET_TARGETADMIN
  • WALLET_TDEKEYSTORE
  • WALLET_TGTTDEKEYSTORE
  • WALLET_USERACTION