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パラメータ。
ノート:
暗号化されていないソースはターゲットで暗号化されないため、移行後に暗号化を実行する必要があります。 - ZDMCLIコマンドラインを使用して、
- ソース・データベースでTDEが使用され、表領域が暗号化されている場合、ターゲット・データベースにもTDEが構成されている必要があります。次のいずれかのオプションを使用して、ソースおよびターゲットのTDEパスワードを指定します:
-
文字セット関連の制限事項
- ソース・データベースとターゲット・データベースでキャラクタ・セットの互換性があることを確認してください。(同じキャラクタ・セットおよび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