4 Zero Downtime Migrationを使用したデータベースの移行

データベース移行ジョブを評価し、ジョブを実行し、データベースの移行中または移行後にその他の操作を実行します。

既知の問題、My Oracle Supportノートおよびランブックの最新情報は、Zero Downtime Migrationリリース・ノートを参照してください。

移行ジョブの評価

Zero Downtime Migrationには、移行ジョブを本番データベースに対して実行する前に評価するためのオプションおよびツールが用意されています。

このトピックの移行手順を開始する前に、必ずすべての前提条件を満たし、データベース移行の準備で説明されている必要な準備を完了しておきます。

また、次のタスクが完了していることを確認してください。

  • 必要なアクセス資格証明を取得します。

    Oracle Cloud Infrastructure Object Storageをバックアップ媒体として使用する場合は、Object Storageのアクセス資格証明を取得します。Oracle Cloud Infrastructureコンソール・ユーザーの場合はユーザーIDが、Object Storageの場合は認証トークンが必要です。既存の認証トークンを使用していない場合は、Oracle Cloud Infrastructureコンソールを使用して新しい認証トークンを生成できます。

    ソース・データベース・サーバーにrootユーザーでアクセスする場合は、rootユーザーのパスワードが必要です。ソース・データベース・サーバーとターゲット・データベース・サーバーに秘密キー・ファイルを使用してアクセスする場合は、秘密キー・ファイルが必要です。ソース・データベース環境のSYSパスワードも必要です。

    Zero Data Loss Recovery Applianceをバックアップ媒体として使用する場合は、Zero Data Loss Recovery Appliance仮想プライベート・カタログ(VPC)のユーザー資格証明を取得します。

  • Zero Downtime Migrationのレスポンス・ファイルを準備します。

    データベースの移行は、タスクを完遂するために不可欠なパラメータを取得するレスポンス・ファイルによって決定されます。

    特定のソース、ターゲットおよびバックアップ環境のレスポンス・ファイルを設定するために必要なエントリ例に、$ZDM_HOME/rhp/zdm/template/ファイルのサンプルRSPテンプレートを使用します。

ZDMCLI migrate databaseコマンドには、本番で実行する前に移行をテストできるオプションがあります。次の構文例では、オプションが強調表示されています。

Autonomous Database移行のZDMCLI migrate database構文:

zdmuser> $ZDM_HOME/bin/zdmcli migrate database
 -rsp file_path
 -sourcedb source_db_unique_name_value
 -sourcenode host
 -srcauth zdmauth
 -srcarg1 user:username
 -srcarg2 identity_file:ssh_key_path
 -srcarg3 sudo_location:sudo_path
 -eval [-advisor [-ignoreadvisor] | -skipadvisor]]

共同管理データベース移行のZDMCLI migrate database構文:

zdmuser> $ZDM_HOME/bin/zdmcli migrate database
 -rsp file_path
 -sourcedb source_db_unique_name_value
 -sourcenode host
 -srcauth zdmauth
 -srcarg1 user:username
 -srcarg2 identity_file:ssh_key_path
 -srcarg3 sudo_location:sudo_path
 -targetnode host
 -tgtauth zdmauth
 -tgtarg1 user:username
 -tgtarg2 identity_file:ssh_key_path 
 -tgtarg3 sudo_location:sudo_path
 -eval [-advisor [-ignoreadvisor] | -skipadvisor]]
ZDMCLI migrate databaseオプションを使用して移行を評価する方法の詳細は、次の各トピックを参照してください。

ZDMCLI MIGRATE DATABASE -evalオプションの使用

本番データベースのデータベース移行ジョブを発行する前に、テスト移行を実行して、ご使用の構成および設定でプロセスがどこまで対応できるかを判断します。

移行のたびに、まずmigrate databaseを評価モードで実行することをお薦めします。この評価により、本番データベースで実際の移行を実行する前に、設定および構成の潜在的な問題を修正できるようになります。

評価モードでは、移行プロセスが変更に影響を与えずに実行されます。実際の移行ジョブを実行する前に、-evalオプションを必要な回数だけ使用してコマンドを実行しても安全です。

コマンド結果出力には、評価移行ジョブのジョブIDが示されます。このIDを使用して、ジョブのステータスを問い合せることができます。

移行プロセスの評価を実行するには、次の例に示すように、ZDMCLIコマンドmigrate database-evalオプションを指定して実行します。

Zero Downtime Migrationサービス・ホストにログインし、zdmuserインストール・ユーザーに切り替えます。

su - zdmuser

ソース・データベース・サーバーへの接続がルート資格証明によって行われる場合、コマンドは次のようになります。

zdmuser> $ZDM_HOME/bin/zdmcli migrate database -sourcedb source_db_unique_name_value
-sourcenode source_database_server_name -srcroot 
-targetnode target_database_server_name 
-backupuser Object_store_login_user_name  
-rsp response_file_location
-tgtauth zdmauth 
-tgtarg1 user:target_database_server_login_user_name 
-tgtarg2 identity_file:ZDM_installed_user_private_key_file_location
-tgtarg3 sudo_location:/usr/bin/sudo -eval

プロンプトに、ソース・データベースのSYSパスワードと、ソース・データベース・サーバーのrootユーザーのパスワードを指定します。バックアップ先がObject Store (バケット)の場合は、ユーザーswift認証トークンを指定します。バックアップ先がStorage Classic (コンテナ)の場合は、テナンシ・ログイン・パスワードを指定します。

次に例を示します。

zdmuser> $ZDM_HOME/bin/zdmcli migrate database -sourcedb zdmsdb -sourcenode ocicdb1
-srcroot -targetnode ocidb1 -backupuser backup_user@example.com
-rsp /u01/app/zdmhome/rhp/zdm/template/zdm_template_zdmsdb.rsp -tgtauth zdmauth 
-tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/.ssh/zdm_service_host.ppk -tgtarg3
sudo_location:/usr/bin/sudo -eval

Enter source database zdmsdb SYS password:
Enter source user "root" password:
Enter user "backup_user@example.com" password:

ソース・データベース・サーバーへの接続がSSHキーによって行われる場合、コマンドは次のようになります。

zdmuser> $ZDM_HOME/bin/zdmcli migrate database -sourcedb source_db_unique_name_value
-sourcenode source_database_server_name -srcauth zdmauth 
-srcarg1 user:source_database_server_login_user_name 
-srcarg2 identity_file:ZDM_installed_user_private_key_file_location 
-srcarg3 sudo_location:/usr/bin/sudo -targetnode target_database_server_name 
-backupuser Object_store_login_user_name -rsp response_file_location 
-tgtauth zdmauth -tgtarg1 user:target_database_server_login_user_name 
-tgtarg2 identity_file:ZDM_installed_user_private_key_file_location  
-tgtarg3 sudo_location:/usr/bin/sudo -eval

プロンプトに、ソース・データベースのSYSパスワードを指定します。バックアップ先がObject Store (バケット)の場合は、ユーザーswift認証トークンを指定します。バックアップ先がStorage Classic (コンテナ)の場合は、テナンシ・ログイン・パスワードを指定します。

zdmuser> $ZDM_HOME/bin/zdmcli migrate database -sourcedb zdmsdb -sourcenode ocicdb1 -srcauth zdmauth 
-srcarg1 user:opc -srcarg2 identity_file:/home/zdmuser/.ssh/zdm_service_host.ppk 
-srcarg3 sudo_location:/usr/bin/sudo -targetnode ocidb1 -backupuser backup_user@example.com 
-rsp /u01/app/zdmhome/rhp/zdm/template/zdm_template_zdmsdb.rsp -tgtauth zdmauth -tgtarg1 user:opc 
-tgtarg2 identity_file:/home/zdmuser/.ssh/zdm_service_host.ppk -tgtarg3 sudo_location:/usr/bin/sudo -eval

Enter source database zdmsdb SYS password:
Enter user "backup_user@example.com" password:

ソースのシングル・インスタンス・データベースがGrid Infrastructureホームなしでデプロイされている場合、前述のコマンドでは、-sourcedbのかわりに-sourcesidを使用します。

また、ソース・データベースがPASSWORDベースのウォレット用に構成されている場合、前述のコマンドに-tdekeystorepasswdオプションを追加し、プロンプトにソース・データベースのTDEキーストア・パスワード値を指定します。

–backupuser引数は、Object Storageアクセス・ユーザーまたはZero Data Loss Recovery Appliance VPCユーザーを取り、NFSがバックアップ媒体の場合はスキップされます。NFSの場合は、ソース・データベース・ユーザーには、指定されたNFSパスに対する'rwx'アクセス権が必要です。

移行コマンドでは、ソース・ホームとターゲット・ホームのパッチ・レベル間のパッチの互換性がチェックされ、ターゲット・ホームのパッチ・レベルがソース以上であることが要求されます。ターゲット・ホームのパッチ・レベルが想定どおりでない場合、移行ジョブは停止し、欠落しているパッチがレポートされます。ターゲット・ホームに必要なパッチを適用することも、–ignore PATCH_CHECKまたは-ignore ALLオプションを移行コマンドに追加することによって移行を強制的に続行することもできます。

コマンド結果出力には、移行ジョブのジョブIDが示されます。このIDを使用して、ジョブのステータスを問い合せることができます。

コマンドラインでパスワードを指定せずにコマンドを実行する場合は、ウォレットを使用した非対話型のパスワード指定を参照してください。

クラウド移行前アドバイザ・ツールの使用

クラウド移行前アドバイザ・ツール(CPAT)は、ソース・データベースの分析を実行し、Oracleの自立型クラウド製品のいずれかに移行する際に問題のあるデータベース機能および構成の使用を探すツールです。

CPATはZero Downtime Migrationと統合されており、論理移行ジョブで使用できます。CPATには、次の利点があります。

  • データベースで使用されている、ターゲット・クラウド環境でサポートされていない機能について警告します
  • データ・ポンプ・エクスポートおよびインポート操作に使用する修正変更またはパラメータ(あるいはその両方)を提案します

ZDMCLI MIGRATE DATABASEを使用して論理移行を実行すると、CPATはデフォルトでフェーズZDM_PRE_MIGRATION_ADVISORとして実行されます。

次のオプションをZDMCLI MIGRATE DATABASEで使用して、CPATの実行方法をカスタマイズしたり、CPATフェーズをスキップできます。

  • advisorは、移行時にクラウド移行前アドバイザ・ツール(CPAT)を排他的に実行するために必要な最小限のフェーズのみを実行します。
  • ignoreadvisorは、CPATによって報告された問題またはエラーを無視します
  • skipadvisorは、移行ジョブのCPATフェーズをスキップします

コマンド・オプションの詳細は、「migrate database」を参照してください。CPATの詳細は、Cloud Premigration Advisor Tool (CPAT)によるクラウド移行の適合性に関するデータベースの分析(ドキュメントID 2758371.1)を参照してください。

データベースの移行

ZDMCLI migrate databaseコマンドを使用して、Zero Downtime Migrationでデータベースの移行を実行します。

このトピックの移行手順を開始する前に、必ずすべての前提条件を満たし、データベース移行の準備で説明されている必要な準備を完了しておきます。

特に、次のタスクが完了していることを確認してください。

  • 必要なアクセス資格証明を取得します。

    Oracle Cloud Infrastructure Object Storageをバックアップ媒体として使用する場合は、Object Storageのアクセス資格証明を取得します。Oracle Cloud Infrastructureコンソール・ユーザーの場合はユーザーIDが、Object Storageの場合は認証トークンが必要です。既存の認証トークンを使用していない場合は、Oracle Cloud Infrastructureコンソールを使用して新しい認証トークンを生成できます。

    ソース・データベース・サーバーにrootユーザーでアクセスする場合は、rootユーザーのパスワードが必要です。ソース・データベース・サーバーとターゲット・データベース・サーバーに秘密キー・ファイルを使用してアクセスする場合は、秘密キー・ファイルが必要です。ソース・データベース環境のSYSパスワードも必要です。

    Zero Data Loss Recovery Applianceをバックアップ媒体として使用する場合は、Zero Data Loss Recovery Appliance仮想プライベート・カタログ(VPC)のユーザー資格証明を取得します。

  • Zero Downtime Migrationのレスポンス・ファイルを準備します。

    データベースの移行は、タスクを完遂するために不可欠なパラメータを取得するレスポンス・ファイルによって決定されます。

    特定のソース、ターゲットおよびバックアップ環境に対してレスポンス・ファイルを設定するのに必要なエントリ例に、サンプルの$ZDM_HOME/rhp/zdm/template/zdm_template.rspファイルを使用します。

  • データベース移行を開始する前に、移行プロセスを一時停止して再開する必要があるかどうかを決定します。移行ジョブが開始されると、ジョブ・システムによって、構成されたとおりにジョブが実行されます。

    移行ジョブを特定の時点で一時停止して再開する必要がある場合、詳細は、「移行ジョブのフェーズのリスト」および「移行ジョブの一時停止および再開」の各トピック(次の相互参照)を参照してください。

ルート資格証明を使用した物理移行

データベース移行ジョブは、zdmuserユーザーがZDMCLIコマンドmigrate databaseを使用してZero Downtime Migrationサービス・ホストから発行します。

物理移行では、ソース・データベース・サーバーへの接続がルート資格証明によって行われる場合、コマンドは次のようになります。

zdmuser> $ZDM_HOME/bin/zdmcli migrate database
 -sourcedb source_db_unique_name_value 
 -sourcenode source_database_server_name
 -srcroot 
 -targetnode target_database_server_name 
 -backupuser Object_store_login_user_name 
 -rsp response_file_location
 -tgtauth zdmauth 
 -tgtarg1 user:target_database_server_login_user_name
 -tgtarg2 identity_file:ZDM_installed_user_private_key_file_location  
 -tgtarg3 sudo_location:/usr/bin/sudo

プロンプトに、ソース・データベースのSYSパスワードと、ソース・データベース・サーバーのrootユーザーのパスワードを指定します。バックアップ先がObject Store (バケット)の場合は、ユーザーswift認証トークンを指定します。バックアップ先がStorage Classic (コンテナ)の場合は、テナンシ・ログイン・パスワードを指定します。

次に例を示します。

zdmuser> $ZDM_HOME/bin/zdmcli migrate database
 -sourcedb zdmsdb
 -sourcenode ocicdb1
 -srcroot
 -targetnode ocidb1
 -backupuser backup_user@example.com
 -rsp /u01/app/zdmhome/rhp/zdm/template/zdm_template_zdmsdb.rsp
 -tgtauth zdmauth
 -tgtarg1 user:opc
 -tgtarg2 identity_file:/home/zdmuser/.ssh/zdm_service_host.ppk
 -tgtarg3 sudo_location:/usr/bin/sudo

Enter source database zdmsdb SYS password:
Enter source user "root" password:
Enter user "backup_user@example.com" password:

SSHキーを使用した物理的移行

物理移行では、ソース・データベース・サーバーへの接続がSSHキーによって行われる場合、コマンドは次のようになります。

zdmuser> $ZDM_HOME/bin/zdmcli migrate database
 -sourcedb source_db_unique_name_value 
 -sourcenode source_database_server_name
 -srcauth zdmauth 
 -srcarg1 user:source_database_server_login_user_name 
 -srcarg2 identity_file:ZDM_installed_user_private_key_file_location 
 -srcarg3 sudo_location:/usr/bin/sudo
 -targetnode target_database_server_name 
 -backupuser Object_store_login_user_name
 -rsp response_file_location 
 -tgtauth zdmauth
 -tgtarg1 user:target_database_server_login_user_name 
 -tgtarg2 identity_file:ZDM_installed_user_private_key_file_location  
 -tgtarg3 sudo_location:/usr/bin/sudo

プロンプトに、ソース・データベースのSYSパスワードを指定します。バックアップ先がObject Store (バケット)の場合は、ユーザーswift認証トークンを指定します。バックアップ先がStorage Classic (コンテナ)の場合は、テナンシ・ログイン・パスワードを指定します。

次に例を示します。

zdmuser> $ZDM_HOME/bin/zdmcli migrate database
 -sourcedb zdmsdb
 -sourcenode ocicdb1
 -srcauth zdmauth 
 -srcarg1 user:opc
 -srcarg2 identity_file:/home/zdmuser/.ssh/zdm_service_host.ppk 
 -srcarg3 sudo_location:/usr/bin/sudo
 -targetnode ocidb1
 -backupuser backup_user@example.com 
 -rsp /u01/app/zdmhome/rhp/zdm/template/zdm_template_zdmsdb.rsp
 -tgtauth zdmauth
 -tgtarg1 user:opc 
 -tgtarg2 identity_file:/home/zdmuser/.ssh/zdm_service_host.ppk
 -tgtarg3 sudo_location:/usr/bin/sudo

Enter source database zdmsdb SYS password:
Enter user "backup_user@example.com" password:

ソースのシングル・インスタンスがGrid Infrastructureホームなしでデプロイされている場合、前述のコマンドでは、-sourcedbのかわりに-sourcesidを使用します。

ソース・データベースがPASSWORDベースのウォレット用に構成されている場合、前述のコマンドに-tdekeystorepasswdオプションを追加し、プロンプトにソース・データベースのTDEキーストア・パスワード値を指定します。

–backupuser引数は、Object Storageアクセス・ユーザーまたはZero Data Loss Recovery Appliance VPCユーザーを取り、NFSがバックアップ媒体の場合はスキップされます。NFSの場合は、ソース・データベース・ユーザーには、指定されたNFSパスに対する'rwx'アクセス権が必要です。

Autonomous Databaseへの論理移行

Autonomous Databaseへの論理移行では、コマンドは次のようになります。

zdmuser> $ZDM_HOME/bin/zdmcli migrate database
 -rsp file_path
 -sourcedb source_db_unique_name_value
 -sourcenode host
 -srcauth zdmauth
 -srcarg1 user:username
 -srcarg2 identity_file:ssh_key_path
 -srcarg3 sudo_location:sudo_path
 -eval [-advisor [-ignoreadvisor] | -skipadvisor]]

共同管理データベースへの論理移行

共同管理システムへの論理移行では、コマンドは次のようになります。

zdmuser> $ZDM_HOME/bin/zdmcli migrate database
 -rsp file_path
 -sourcedb source_db_unique_name_value
 -sourcenode host
 -srcauth zdmauth
 -srcarg1 user:username
 -srcarg2 identity_file:ssh_key_path
 -srcarg3 sudo_location:sudo_path
 -targetnode host
 -tgtauth zdmauth
 -tgtarg1 user:username
 -tgtarg2 identity_file:ssh_key_path
 -tgtarg3 sudo_location:sudo_path
 [-ignoreadvisor | -skipadvisor]

パッチの互換性

移行コマンドでは、ソース・ホームとターゲット・ホームのパッチ・レベル間のパッチの互換性がチェックされ、ターゲット・ホームのパッチ・レベルがソース以上であることが要求されます。ターゲット・ホームのパッチ・レベルが想定どおりでない場合、移行ジョブは停止し、欠落しているパッチがレポートされます。ターゲット・ホームに必要なパッチを適用することも、–ignore PATCH_CHECKまたは-ignore ALLオプションを移行コマンドに追加することによって移行を強制的に続行することもできます。

ジョブID値

コマンド結果出力には、移行ジョブのジョブIDが示されます。このIDを使用して、ジョブのステータスを問い合せることができます。

非対話型の移行の実行

コマンドラインでパスワードを指定せずにコマンドを実行する場合は、ウォレットを使用した非対話型のパスワード指定を参照してください。

移行ジョブのステータスの問合せ

ジョブの実行中に、移行ジョブのステータスを問い合せることができます。

ジョブIDを指定してZDMCLI query jobコマンドを使用し、データベース移行ジョブのステータスを問い合せます。ジョブIDは、データベース移行ジョブの発行時にコマンド出力に表示されます。

zdmuser> $ZDM_HOME/bin/zdmcli query job -jobid job-id

移行ジョブのコンソール出力は、query jobコマンド出力(結果ファイルのパス)に示されているファイルで確認できます。指定されたファイルで移行の進行状況メッセージを確認できます

移行ジョブのフェーズのリスト

移行ジョブに組み込まれている操作フェーズをリストできます。

移行ジョブに組み込まれている操作フェーズをリストするには、-listphasesオプションをZDMCLI migrateコマンドに追加します。このオプションは、操作に組み込まれているフェーズをリストします。

次に例を示します。

zdmuser> $ZDM_HOME/bin/zdmcli migrate database -sourcedb zdmsdb -sourcenode ocicdb1 -srcauth zdmauth
-srcarg1 user:opc -srcarg2 identity_file:/home/zdmuser/.ssh/zdm_service_host.ppk -srcarg3 sudo_location:/usr/bin/sudo
-targetnode ocidb1 -backupuser backup_user@example.com -rsp /u01/app/zdmhome/rhp/zdm/template/zdm_template_zdmsdb.rsp
-tgtauth zdmauth -tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/.ssh/zdm_service_host.ppk
-tgtarg3 sudo_location:/usr/bin/sudo -listphases

移行ジョブの一時停止および再開

移行ジョブは、ZDM_SETUP_TGTフェーズ後の任意の時点で一時停止できます。また、いつでも再開できます。

移行ジョブを一時停止するには、ZDMCLI migrateコマンドで、一時停止する直前の有効なフェーズとともに–pauseafterオプションを指定します。

次の例で-pauseafter ZDM_SETUP_TGTと指定すると、移行ジョブはZDM_SETUP_TGTフェーズの完了後に一時停止します。

zdmuser> $ZDM_HOME/bin/zdmcli migrate database -sourcedb zdmsdb -sourcenode ocicdb1
-srcauth zdmauth -srcarg1 user:opc
-srcarg2 identity_file:/home/zdmuser/.ssh/zdm_service_host.ppk
-srcarg3 sudo_location:/usr/bin/sudo -targetnode ocidb1 
-backupuser backup_user@example.com -rsp /u01/app/zdmhome/rhp/zdm/template/zdm_template_zdmsdb.rsp -tgtauth zdmauth 
-tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/.ssh/zdm_service_host.ppk
-tgtarg3 sudo_location:/usr/bin/sudo -pauseafter ZDM_SETUP_TGT

一時停止する直前の移行ジョブ・フェーズの選択

migrate database ... -listphasesコマンド出力でリストされるZDM_CONFIGURE_DG_SRCの後の有効なフェーズを選択します。

-pauseafterオプションで指定できるフェーズは1つのみです。

次の場合は、移行ジョブを一時停止し、いくつかの手動ステップの後で再開する必要があります。

  • スタンバイ・データベースをTDEに変換する。ソースが暗号化されていない場合、ZDLRAがデータ転送媒体として使用されている場合、またはOracle Databaseのバージョンが12.2より前の場合は、ターゲット・クラウド・データベースを暗号化する必要があります。
  • Active Data Guardを有効にする(オプション)
  • スイッチオーバー前にData Guard構成ヘルスをモニターする
  • クラウド・データベースをテストする(オプション)。アプリケーション・スイッチオーバーを実行せずにスタンバイをプライマリに変換でき、これを使用してクラウドでテスト用にソース・データベースを複製できます。

物理移行ジョブの一時停止のベスト・プラクティス

物理移行では、フェーズZDM_CONFIGURE_DG_SRC-pauseafterを使用すると、フェーズの実行終了時にターゲット・データベースでスタンバイが作成され、ソース・データベースとターゲット・データベースの間で同期が発生します。

次のことを実行できるように、ZDM_CONFIGURE_DG_SRCの後に移行ジョブを一時停止することをお薦めします。

  • クラウドへのアプリケーション・スイッチオーバーを実行する
  • ZDLRAがバックアップ方法である場合、またはデータベース・リリースがOracle Database 12.2より前の場合、クラウド・データベースを手動で暗号化する
  • オンプレミス・データベースを変更せずに、フェイルオーバーを実行してクラウド・データベースをテストする

一時停止された移行ジョブ中のログ・ファイルの保持

移行ジョブの一時停止と再開の間でソース・データベース・ログ・ファイルとターゲット・データベース・ログ・ファイルがクリーン・アップされないように、ログ・ファイルはそれぞれのソース・データベース・サーバーとターゲット・データベース・サーバーの$ORACLE_BASE/zdm/zdm_db_unique_name_zdm_job_id/zdm/logに書き込まれます。

ZDM_BACKUP_INCREMENTAL_SRCフェーズ中およびフェーズ後に生成されたすべてのアーカイブ・ログが、できればスイッチオーバーまで、または少なくともターゲット・データベースとソース・データベースが同期化されるまで利用可能であることを確認します。ZDM_BACKUP_INCREMENTAL_SRCより前に生成された古いアーカイブ・ログは必要ありません。

移行ジョブの再開

一時停止されたジョブは、それぞれのジョブIDを指定してZDMCLI resume jobコマンドを実行することで、いつでも再開できます。

zdmuser> $ZDM_HOME/bin/zdmcli resume job -jobid Job_ID 
[-pauseafter valid-phase]

別の一時停止をスケジュールするには、resumeコマンドで、一時停止する直前の有効なフェーズとともに–pauseafterオプションを指定します。migrate database ... -listphasesコマンド出力にリストされるフェーズで、現在一時停止しているフェーズより後の有効なフェーズを選択します。

移行ジョブの一時停止および再開

移行ジョブはどの時点でも一時停止でき、いつでも再開できます。

移行ジョブを一時停止するには、次のコマンドを実行します。

zdmuser> $ZDM_HOME/bin/zdmcli suspend job -jobid job_id

一時停止された移行ジョブの再開

一時停止されたジョブは、それぞれのジョブIDを指定してZDMCLI resume jobコマンドを実行することで、いつでも再開できます。

zdmuser> $ZDM_HOME/bin/zdmcli resume job -jobid Job_ID 
[-pauseafter valid-phase]

オプションで、resumeコマンドで–pauseafterオプションを指定して、一時停止する有効なフェーズを指定することにより、一時停止をスケジュールできます。migrate database ... -listphasesコマンド出力にリストされるフェーズで、現在一時停止しているフェーズより後の有効なフェーズを選択します。

移行ジョブの再実行

移行ワークフローに予期しないエラーがある場合は、それらを修正して移行ジョブを再実行できます。

エラーはジョブ出力に記録され、ZDMCLI query jobコマンドを使用して問い合せることができます。エラーを解決したら、失敗したジョブを障害が発生した時点から続行できます。

次に示すように、再実行するジョブのジョブIDを指定してZDMCLI resume jobコマンドを実行し、移行ジョブを再実行します。

zdmuser> $ZDM_HOME/bin/zdmcli resume job -jobid Job_ID

実行中の移行ジョブの終了

指定したデータベースに対してデータベース移行ジョブを再発行する場合は、まず、実行中の移行ジョブを停止する必要があります。

Zero Downtime Migrationでは、データベースがすでに進行中の移行ジョブの一部である場合、指定されたデータベースに対してMIGRATE DATABASEコマンドの再実行の試行をブロックします。

指定されたデータベースのデータベース移行ジョブを再発行する場合は、まずZDMCLI ABORT JOBコマンドを使用して、EXECUTINGまたはPAUSEDのいずれかの状態にある実行中の移行ジョブを終了する必要があります。

zdmuser> $ZDM_HOME/bin/zdmcli abort job -jobid job-id

Zero Downtime Migration集中フリート移行管理

Zero Downtime Migrationでは、Object StorageサービスPAR URLを使用してフリート・レベルの移行を集中的にモニターできます。

Zero Downtime集中フリート移行管理では、次の機能が提供されます。

  • フリート・レベルの移行モニタリング
  • トラブルシューティングおよびデータ・マイニングを容易にするフリート・レベルのログ集計
  • ジョブ・メトリック収集ごとの集中移行。エグゼクティブレベルの移行ステータス・ダッシュボードおよび将来の移行予測に利用できます。

また、集中フリート移行管理により、移行が失敗した場合に操作チームがソースまたはターゲットのデータベース・サーバーにアクセスすることを禁止できます。操作チームは、指定されたZDM_LOG_OSS_PAR_URLにあるログ、または操作のトラブルシューティングのために別のOracle Cloudストレージ・バケットにさらにステージングされたログを使用して、障害をトラブルシューティングできます。

集中フリート移行管理は、物理移行ジョブでのみサポートされ、パラメータZDM_LOG_OSS_PAR_URLを次のような事前認証済URLに設定することで有効になります。

https://objectstorage.us-region.oraclecloud.com/ … /DEV_ZDM_LOGS_RGN/o/

Zero Downtime Migrationは、移行ジョブの進行中に、指定されたOSS PAR URLにジョブ固有のデータ(次の表を参照)を定期的にアップロードします。

表4-1 集中フリート移行ジョブ・データ

カテゴリ URLネームスペース接尾辞(ZDM_LOG_OSS_PAR_URLの値に付加) 内容

ジョブ・メトリック

PAR_URL/1/POD_NAME/ZDM_HOST/JOB_ID/METRICS.txt

次に例を示します。

/1/PRD_TEST_MIGRATION/s16izp/1/METRICS.txt

ジョブ・メトリックは、ワークフローおよびエラーに関連するフェーズごとのソースおよびターゲット・データベースの重要な統計とバックアップおよびリストア統計の詳細を示します。このデータは、エグゼクティブ・ダッシュボードのフリート・レベルの移行統計に使用できます。

ジョブ・ステータス

PAR_URL/1POD_NAME/ZDM_HOST/JOB_ID/CURRENT_PHASE.txt

次に例を示します。

/1/PRD_TEST_MIGRATION/s16izp/1/CURRENT_PHASE.txt

ステータス・エントリは次の形式でリストされます

Phase Name:Phase Status

例: ZDM_BACKUP_FULL_SRC:EXECUTING

フェーズ・ステータス値は、EXECUTINGPAUSEDFAILEDまたはCOMPLETEDです

フェーズ・ログ

PAR_URL/2/TIMESTAMP/POD_NAME/ZDM_HOST/JOB_ID/ACTION HOST/PHASE_NAME.log

次に例を示します。

2/2011-11-07T17:58:34.049000/PRD_TEST_MIGRATION/2-zdm-01/1/cldx01/ZDM_BACKUP_FULL_SRC.log

Zero Downtime Migrationは、UTCタイムスタンプ付きネームスペースを使用して、各フェーズの最後にフェーズ固有のログをアップロードします。ジョブの再実行時に、タイムスタンプが変更され、再実行固有のログが最新のタイムスタンプで識別されます。

フェーズ・ステータス

PAR_URL/1/POD_NAME/ZDM_HOST/JOB_ID/PHASE_NAME.txt

次に例を示します。

/1/PRD_TEST_MIGRATION/s16izp/1/ZDM_VALIDATE_TGT.txt

ファイルの内容は、フェーズが完了した場合はCOMPLETED、まだ開始されていない場合はPENDINGになります。

移行ジョブの開始時に、Zero Downtime MigrationはPENDINGステータスのすべてのフェーズ名付きファイルを作成し、各フェーズの完了時にそれらをCOMPLETEDに更新します。

PHASE_NAME.txtの作成時間を使用して、フェーズの経過時間を測定します。

進行状況メッセージ

PAR_URL/1/POD_NAME/ZDM_HOST/JOB_ID/CONSOLE.out

次に例を示します。

1/PRD_TEST_MIGRATION/s16izp/1/CONSOLE.out

Zero Downtime Migrationは、通常は受信したコンソール・メッセージのn個のチャンクごとに(たとえば、10行ごとに) CONSOLE.outを更新し、エラーが発生した場合は即座に更新します。

進行状況メッセージは次のように書式設定されます。

node name : UTC Time : Progress message

例: hxvdbfz03: 2021-02-10T09:51:11.851Z : Retrieving information from source node "hfzb06" ...