ZDMによるAutonomous Migrationの基礎とCPATとの連携 (2022/03/31)

ZDMによるAutonomous Migrationの基礎とCPATとの連携 (2022/03/31)

https://www.thatfinnishguy.blog/2022/03/31/basics-of-autonomous-migration-with-zdm-and-integration-with-cpat/


今回で3回目の投稿になりますが、ZDM(Zero Downtime Migration)を使った移行について、以前はオフラインとオンラインの物理的な移行について書きました。今回は、OracleがAutonomous Databaseについてよく話しているので、Autonomousへの移行についてどんなオプションがあるか見てみましょう。


Autonomousへの移行には、論理的なオフライン移行と論理的なオンライン移行の2つのオプションがあります。専門用語で言うと、1つ目はデータポンプを使った移行で、2つ目はGoldenGateを使った移行であります。この記事では、オフラインマイグレーションの部分に焦点を当てます。



移行時のCPAT


今回はAutonomous Databaseに移行する際に問題がないことを確認したいと思います。OracleにはSchema Advisorというツールがあり、移行元のデータベースで実行することで移行に問題がないことを確認できることを覚えているかと思います。このツールの最新版はCloud Premigration Analyser Toolと呼ばれ、詳細はnote 2758371.1に記載されています。


このツールは現在、ZDMと統合されています。zdmcliから実行することで、結果にアクセスすることができます。


まず、zdm_logical_template.rsp という論理テンプレートから新しいレスポンスファイルを作成します。物理テンプレートと比較して、こちらはオプションや設定変数が非常に多くなっています。


レスポンスファイルの設定が完了したと仮定して、フラグ -advisor を指定して zdmcli migrate を実行します。これで、ソースノードから見つけることができるレポートが作成されます。zdm サーバから探すのはやめましょう!


ZDM ログファイルには、レポート自体からの出力が残っており、最初にそれを確認してから、CPAT レポートをドリルダウンすることができます。

bastion: 2022-03-22T15:05:14.405Z : Running CPAT (Cloud Premigration Advisor Tool) on the source node prod ...
bastion: 2022-03-22T15:05:28.994Z : Premigration advisor output:
Cloud Premigration Advisor Tool Version 22.5.2
Cloud Premigration Advisor Tool completed with overall result: WARNING
Cloud Premigration Advisor Tool generated report location: /u01/app/oracle/zdm/zdm_PROD_6/out/premigration_advisor_rep
ort.json
Cloud Premigration Advisor Tool generated report location: /u01/app/oracle/zdm/zdm_PROD_6/out/premigration_advisor_rep
ort.txt
 
 CPAT exit code: 2
 RESULT: WARNING
 
Schemas Analyzed (2): PDBUSER,TFG
A total of 47 checks were performed
There were 0 checks with FATAL results
There were 0 checks with BLOCKER results
There were 2 checks with WARNING results: xdb_resource_view_has_entries (78 relevant objects), has_directories (3 rele
vant objects)
There were 5 checks with INFORMATIONAL results: modified_db_parameters_serverless (32 relevant objects), has_enabled_s
cheduler_jobs (14 relevant objects), has_default_tablespace_not_data (2 relevant objects), options_in_use_not_availabl
e_serverless (1 relevant objects), has_trusted_server_entries (1 relevant objects) xdb_resource_view_has_entries
         RESULT: WARNING
 
Schemas Analyzed (2): PDBUSER,TFG
A total of 47 checks were performed
There were 0 checks with FATAL results
There were 0 checks with BLOCKER results
There were 2 checks with WARNING results: xdb_resource_view_has_entries (78 relevant objects), has_directories (3 rele
vant objects)
There were 5 checks with INFORMATIONAL results: modified_db_parameters_serverless (32 relevant objects), has_enabled_s
cheduler_jobs (14 relevant objects), has_default_tablespace_not_data (2 relevant objects), options_in_use_not_availabl
e_serverless (1 relevant objects), has_trusted_server_entries (1 relevant objects) xdb_resource_view_has_entries
         RESULT: WARNING
         DESCRIPTION: XDB Repository is not supported in ADB.  Entries in RESOURCE_VIEW will not migrate.
         ACTION: Applications must be updated to remove their dependencies on XDB Repository.
has_directories
         RESULT: WARNING
         DESCRIPTION: There are directories objects in the source database.
         ACTION: Recreate the directories on the Autonomous database instance.
 
bastion: 2022-03-22T15:05:28.996Z : Execution of phase ZDM_PRE_MIGRATION_ADVISOR completed


私のソースデータベースは、私が作成した1つのスキーマを持つダミーPDBであるため、実際のレポートには多くの項目が発生しないのです。データベースサーバーからレポートをダウンロードして、詳しく見ることができます。


CPATは、例えば、ROWIDカラムがあると移行されないなど、移行に関する警告やショーストッパーを表示します。ですから、移行する前に必ずレポートをよく見てください。


CPATの例ですが、実際はもっと長く、各フェーズについて詳しく書かれています。

  Number of checks run:           A total of 47 checks were performed
 
  Number of schemas analyzed:     2
 
  Number of schemas in source DB: 37
 
  List of schemas analyzed:       PDBUSER, TFG
 
  Fatal Checks:                   There were 0 checks with FATAL results
 
  Blocking Checks:                There were 0 checks with BLOCKER results
 
  Warning Checks:                 There were 2 checks with WARNING results: xdb_resource_view_has_entries (78 relevant
 objects),
                                  has_directories (3 relevant objects)
 
  Informational Checks:           There were 5 checks with INFORMATIONAL results: modified_db_parameters_serverless (3
2 relevant
                                  objects), has_enabled_scheduler_jobs (14 relevant objects), has_default_tablespace_n
ot_data (2
                                  relevant objects), options_in_use_not_available_serverless (1 relevant objects),
 
                                  has_trusted_server_entries (1 relevant objects)
 
  Passing Checks:                 There were 40 checks with PASS results: max_data_files_allowed (4 relevant objects),
 
                                  has_low_streams_pool_size (2 relevant objects), timezone_table_compatibility_higher
(1 relevant
                                  objects), has_data_in_other_tablespaces_serverless (1 relevant objects),
 
                                  has_user_defined_objects_in_sys (0 relevant objects), lcm_super_admin_user_exists (0
 relevant
                                  objects), has_fmw_registry_in_system (0 relevant objects), has_users_with_10g_passwo
rd_version (0
                                  relevant objects), nls_national_character_set (0 relevant objects), has_java_objects
 (0 relevant 


論理的オフライン移行用ZDMテンプレートファイル


テンプレートファイルを見ると、物理的な移行に比べてオプションが多くなっているので、一通り確認して、必要な設定をすべて行ったことを確認します。今回のDB接続では、Autonomous OCIDやその他の詳細を指定し、ZDMが自動的に必要な値を取得できるようにします。


いくつかの例を挙げます。


SOURCEDATABASE_ENVIRONMENT_DBTYPE は RDS_ORACLE で、Amazon RDS から移行する場合、適宜設定します。


DATAPUMPSETTINGS_JOBMODEには、FULL、SCHEMA、TABLE、TABLESPACE、TRANSPORTABLEを指定できるので、実行するデータポンプモードのオプションを提供します。


DATAPUMPSETTINGS_FIXINVALIDOBJECTS これは、マイグレーション後に無効なオブジェクトをコンパイルできるようにするものです。


基本的に、データポンプ設定には膨大な数のオプションがあり、これは素晴らしいことです。マイグレーションをできる限りカスタマイズしたいものです。オブジェクトを除外したり、含めたり、メタデータを再マッピングしたり。Golden Gateのオプションは、オンライン移行を行う場合、テンプレートファイルにも含まれています。


その他、今回の移行のためにテンプレートに設定した内容です。

TARGETDATABASE_OCID=ocid1.autonomousdatabase.oc1.phx.anyhqljt6iltiayabgknkdp7sk7ekluxtbmuuuv3reu4ge5z62eg6sq3453d
TARGETDATABASE_ADMINUSERNAME=admin
SOURCEDATABASE_ADMINUSERNAME=system
SOURCEDATABASE_CONNECTIONDETAILS_HOST=prod-scan.subnetdns.vcndns.oraclevcn.com
SOURCEDATABASE_CONNECTIONDETAILS_PORT=1521
SOURCEDATABASE_CONNECTIONDETAILS_SERVICENAME=PDB2.subnetdns.vcndns.oraclevcn.com
OCIAUTHENTICATIONDETAILS_REGIONID=us-phoenix-1
OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_TENANTID=ocid1.ten
OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_USERID=ocid1.user.o
OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_FINGERPRINT=b


今回のマイグレーションでは、他の変数には手を付けず、単純なマイグレーションとCPATを見ることが主な目的でした。



Autonomous Databaseへの移行


再びzdmcliを実行し、今度はadvisorフラグを外した状態です。これは先ほど言ったように、論理的なオフライン(データポンプ)移行になります。

[zdmuser@bastion bin]$ ./zdmcli migrate database -sourcedb PROD_yyz1c4 -sourcenode prod -rsp /home/zdmuser/zdm_offline_logical2.rsp -srcauth zdmauth -srcarg1 user:opc -srcarg2 identity_file:/home/zdmuser/.ssh/id_rsa -srcarg3 sudo_location:/usr/bin/sudo
bastion.subnetpublic.vcndns.oraclevcn.com: Audit ID: 24
Enter source database administrative user "system" password:
Enter target database administrative user "admin" password:


先ほどの記事にもありましたが、仕事の状況を問い合わせるだけで、その進捗がわかるようになっています。

Job execution elapsed time: 1 hours 2 minutes 44 seconds
ZDM_VALIDATE_TGT ...................... COMPLETED
ZDM_VALIDATE_SRC ...................... COMPLETED
ZDM_SETUP_SRC ......................... COMPLETED
ZDM_PRE_MIGRATION_ADVISOR ............. COMPLETED
ZDM_VALIDATE_DATAPUMP_SETTINGS_SRC .... COMPLETED
ZDM_VALIDATE_DATAPUMP_SETTINGS_TGT .... COMPLETED
ZDM_PREPARE_DATAPUMP_SRC .............. COMPLETED
ZDM_DATAPUMP_ESTIMATE_SRC ............. COMPLETED
ZDM_PREPARE_DATAPUMP_TGT .............. COMPLETED
ZDM_DATAPUMP_EXPORT_SRC ............... COMPLETED
ZDM_UPLOAD_DUMPS_SRC .................. COMPLETED
ZDM_DATAPUMP_IMPORT_TGT ............... COMPLETED
ZDM_POST_DATAPUMP_SRC ................. COMPLETED
ZDM_POST_DATAPUMP_TGT ................. COMPLETED
ZDM_POST_ACTIONS ...................... COMPLETED
ZDM_CLEANUP_SRC ....................... COMPLETED


すべてが完了したら、必要な検証を行い、ZDMのログファイルを見て、インポートの問題や失敗を確認することができます。もし失敗したら(以前、私が経験しました!)、特定のステップで停止するので、問題のデバッグを続けることができます。



まとめ


Autonomousへの移行は、ZDMによるもう一つのほぼ完全な自動化ステップです。データポンプの設定に注意を払う必要がありますが、おそらく正しく設定するのに数回かかるでしょう。CPATとの統合が追加されたことは歓迎すべきことです。ZDMのマイグレーションステップの一部としてCPATを持つことができれば、プロセス全体がより合理化されます。


ZDM を使って、賢くなりましょう 


コメント

このブログの人気の投稿

Oracle Database 19cサポート・タイムラインの重要な更新 (2024/11/20)

ミリ秒の問題: BCCグループとOCIが市場データ・パフォーマンスを再定義する方法(AWSに対するベンチマークを使用) (2025/11/13)

Oracle Enterprise Manager 24aiの概要 (2024/12/18)