Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Zero Downtime Migration 技術詳細

Zero Downtime Migration 技術詳細

oracle4engineer

June 26, 2023
Tweet

More Decks by oracle4engineer

Other Decks in Technology

Transcript

  1. システムのダウンタイム極⼩化を実現するOracle Cloud へのデータベース移⾏ツール サービス概要/特徴 • Zero Downtime Migrationは、 データベースをOracle Cloudやオンプレミス

    Exadataにスムーズに移⾏可能なツールです • 従来から存在するOracle Databaseの機能や GoldenGateをツールが⾃動的に構成し、コマンド ⼀つでダウンタイムの少ない移⾏が実現できます こんな課題に役⽴ちます • 既存データベースをOracle Cloud 環境に移⾏したい • サービス停⽌時間をできるだけ短くして環境の切り替え を完了したい • IT部⾨にクラウド移⾏のノウハウが少なくてもスムーズな データベース移⾏を実現したい 価格 • 無償(*) Zero Downtime Migration • GoldenGate利用の場合、利用開始から183日間は無償利用可能 184日(6ヶ月)以上経過した場合、それ以降ライセンスが必要になる • ComputeやObject Storage などのOCI環境は別途課金対象となります (*) * 2023年3月現在 4 Copyright © 2023, Oracle and/or its affiliates
  2. 移⾏パターンの整理 物理移⾏ 論理移⾏ オフライン オンライン オフライン オンライン RMAN Backup &

    Restore Data Guard RMAN Backup & Restore Data Pump Data Pump GoldenGate + + Enterprise Editionでのみ利⽤可能 5 Copyright © 2023, Oracle and/or its affiliates
  3. • 移⾏元として指定可能なソースデータベースのプラットフォームは下記の通り • 対象プラットフォームごとにサポートされる移⾏パターンが異なる (*1)Oracle Cloud Infrastructure 共同管理データベース • Base

    Database Service (BaseDB) • Exadata Database Service on Dedicated Infrastructure (ExaDB-D) • Exadata Database Service on Cloud@Customer (ExaDB-C@C) (*2)non-CDB環境のみ サポートされるソースデータベースのプラットフォーム オンプレミス OCI 共同管理 データベース(*1) Linux-x86-64 RDS for Oracle IBM AIX Oracle Solaris 物理オフライン 物理オンライン 論理オフライン 論理オンライン (*2) 6 Copyright © 2023, Oracle and/or its affiliates
  4. Exadata On-Premises BaseDB ExaDB-D ExaDB-C@C ADB-S ADB-D 物理オフライン 物理オンライン 論理オフライン

    論理オンライン • 移⾏先として指定可能なデータベースは下記の通り • 対象データベースごとにサポートされる移⾏⽅式が異なる サポートされるターゲットデータベース 7 Copyright © 2023, Oracle and/or its affiliates
  5. • サポートされるデータベースのバージョン • Oracle データベース 11g リリース 2 (11.2.0.4) •

    Oracle データベース 12c リリース 1 (12.1.0.2) • Oracle データベース 12c リリース 2 (12.2.0.1) • Oracle データベース 18c • Oracle データベース 19c • Oracle データベース 21c • 以降のすべてのOracle Databaseリリース ※物理移⾏の場合ソース、ターゲットは同⼀のバージョン、同⼀のエディションであること(ドキュメント) サポートされるデータベースのバージョン 8 Copyright © 2023, Oracle and/or its affiliates
  6. 物理オンライン移⾏の場合 構成要素 Customer Data Center Source Database User App ZDM

    Oracle Cloud Infrastructure VPN FastConnect Dynamic Routing Gateway Service Gateway VCN Target Database ※ ZDMサービスホストは OCI Compute上にも配置可能 SSH SSH RMAN Restore RMAN Backup https Object Storage (Backups) Data Guard 9 Copyright © 2023, Oracle and/or its affiliates
  7. 論理オンライン移⾏の場合 構成要素 Customer Data Center Source Database User App ZDM

    Oracle Cloud Infrastructure VPN FastConnect Dynamic Routing Gateway Service Gateway VCN Extract Replicat Oracle GoldenGate – Database Migrations Target Database ※ ZDMサービスホストは OCI Compute上にも配置可能 SSH SSH https SQL*Net Data Pump Import Data Pump Export https Object Storage (Dump Files) SQL*Net 10 Copyright © 2023, Oracle and/or its affiliates
  8. 物理オンライン • メリット • データベース全体を物理的に移⾏するため 全てのデータをソース・データベースと ターゲット・データベースで同期可能 • 移⾏完了後に新プライマリから新スタンバイへの データ同期が可能

    • データベースの機能のみを使って移⾏が完結する ため論理オンライン移⾏と⽐べて構成の難易度は 低い • デメリット • ソース/ターゲットデータベースでOSやデータベース のバージョンが同⼀である必要がある • ソース/ターゲットデータベース共に Standard Editionは指定不可 論理オンライン • メリット • データベース全体だけでなく、スキーマやオブジェク ト単位などでの移⾏が可能 • 異なるデータベースのエディションへの移⾏が可能 • アップグレードを伴う移⾏が可能 (サポートされるOSやデータベースのバージョンにつ いてはGoldenGateのCertification Matrixを確 認) • デメリット • 移⾏完了後に逆同期は不可 • GoldenGateの利⽤における基本的な注意事項 を確認(次ページ) • データベースの機能だけでなくGoldenGate関連 の作業も求められるため 物理オンライン移⾏と⽐べて構成の難易度が⾼い 移⾏パターンの選定 11 Copyright © 2023, Oracle and/or its affiliates
  9. • ZDM固有の注意事項 • IaaS上のデータベースへの移⾏はサポート対象外 • GoldenGate利⽤に関する基本的な注意事項 • サポート対象のオブジェクトは要確認 • 必須・推奨パッチアリ

    • サプリメンタルロギング設定による負荷 • 抽出/適⽤パフォーマンスを確認(想定する移⾏時間内にターゲットDBがソースDBに追いつけるか) 利⽤上の注意事項 12 Copyright © 2023, Oracle and/or its affiliates
  10. 論理オンライン移⾏の場合 環境構築の流れ 15 ZDMサービスホストの構築 Oracle GoldenGate – Database Migrationsの構築 ターゲットデータベースの構築

    ソース/ターゲットデータベースの設定 レスポンス・ファイルの作成 Copyright © 2023, Oracle and/or its affiliates
  11. インストールの流れと前提条件 • インストールの流れ • ZDMをインストールするサーバを⽤意(OCI Computeでも可) • www.oracle.com/goto/zdmへアクセスし最新の ZDMインストール媒体をダウンロード •

    インストールに必要なグループ、ユーザ、ディレクトリを作成 • zdminstall.shを実⾏して、ZDMをインストール • 前提条件 • OSはOracle Linux 7であること • ソース、ターゲットに接続可能であること • 100GB以上の空き領域があること • 他のソフトウェアと共存できるが、RHPサーバが構成されているサーバの場合ポートが競合するため インストール後にZDMのポートを変更可能 • ツールにライセンス料等はなく無償利⽤可能(ComputeやBlock StorageなどのOCI環境は別途課⾦対象) • その他詳細はドキュメントを参照 ZDMサービスホスト 16 Copyright © 2023, Oracle and/or its affiliates
  12. • 論理オンライン移⾏の場合OCIマーケットプレイス上にある ”Oracle GoldenGate – Database Migrations”を ZDMとは別に作成する必要がある • レスポンス・ファイル内にこのインスタンスの情報を

    記載することでZDMがGoldenGateにアクセスし ExtractやReplicatなどデータ連携に必要なプロセスを ⾃動作成する • ExaDB-C@Cへの移⾏の場合、Oracle GoldenGate – Database Migrations作成後に インスタンスの中に格納されているDockerイメージをダウンロードし、オンプレミス上で展開可能 これによりお客様データセンター内で完結する移⾏が可能(ドキュメント) • GoldenGate利⽤の場合、利⽤開始から183⽇間は 無償利⽤可能184⽇(6ヶ⽉)以上経過した場合、 それ以降ライセンスが必要になる(ComputeやBlock StorageなどのOCI環境は別途課⾦対象) Oracle GoldenGate – Database Migrations 17 Copyright © 2023, Oracle and/or its affiliates
  13. ExaDB-C@Cへ論理オンライン移⾏で移⾏する場合 構成要素 Customer Data Center Source Database User App ZDM

    Extract Replicat Oracle GoldenGate – Database Migrations Docker Image Target Database SSH SSH https SQL*Net Data Pump Import Data Pump Export NFS SQL*Net 18 Copyright © 2023, Oracle and/or its affiliates
  14. 論理オンライン移⾏の例 レスポンス・ファイル 20 MIGRATION_METHOD=ONLINE_LOGICAL DATA_TRANSFER_MEDIUM=OSS #Source DB SOURCEDATABASE_ADMINUSERNAME=SYSTEM SOURCEDATABASE_CONNECTIONDETAILS_HOST=srcnode SOURCEDATABASE_CONNECTIONDETAILS_SERVICENAME=oradb

    SOURCEDATABASE_CONNECTIONDETAILS_PORT=1521 # Target DB TARGETDATABASE_ADMINUSERNAME=SYSTEM TARGETDATABASE_CONNECTIONDETAILS_HOST=tgtnode TARGETDATABASE_CONNECTIONDETAILS_PORT=1521 TARGETDATABASE_CONNECTIONDETAILS_SERVICENAME=pdb1.sub10281111 111.zdmvcn.oraclevcn.com # GoldenGate GOLDENGATEHUB_ADMINUSERNAME=oggadmin GOLDENGATEHUB_URL=https://10.0.1.239/ GOLDENGATEHUB_SOURCEDEPLOYMENTNAME=MarketplaceGGHub GOLDENGATEHUB_TARGETDEPLOYMENTNAME=MarketplaceGGHub GOLDENGATEHUB_COMPUTEID=ocid1.instance.oc1.ap-tokyo- 1.anxhiljrssl65iqc6xgpsosf5ymcsje6mk4ddtkzgk5rfvx237czzzzdij5 b SOURCEDATABASE_GGADMINUSERNAME=GGADMIN TARGETDATABASE_GGADMINUSERNAME=GGADMIN # Datapump DATAPUMPSETTINGS_JOBMODE=SCHEMA INCLUDEOBJECTS-1=owner:scott DATAPUMPSETTINGS_DATAPUMPPARAMETERS_IMPORTPARALLELISMDEGREE=8 DATAPUMPSETTINGS_DATAPUMPPARAMETERS_EXPORTPARALLELISMDEGREE=8 DATAPUMPSETTINGS_DATABUCKET_NAMESPACENAME=zdmtenant DATAPUMPSETTINGS_DATABUCKET_BUCKETNAME=zdmbucket DATAPUMPSETTINGS_EXPORTDIRECTORYOBJECT_NAME=DATA_PUMP_DIR DATAPUMPSETTINGS_EXPORTDIRECTORYOBJECT_PATH=/u01/app/oracle/a dmin/oradb/dpdump DATAPUMPSETTINGS_IMPORTDIRECTORYOBJECT_NAME=PUMP_DIR DATAPUMPSETTINGS_IMPORTDIRECTORYOBJECT_PATH=/mnt/FileSystem/p ump_dir # OCICLI OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_USERID=ocid1.user.oc1. .aaaaaaaac64752xd64ushyxauaacjf42bbbbjzlxng4aaaaaajgeh6aaaaaa OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_TENANTID=ocid1.tenancy .oc1..aaaaaaaa3mb7wrcy2ls3u3jsy2soq5ck3lc3q4aaaaaaaaambuazc5t kguca OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_FINGERPRINT=36:f9:a3:a 5:d7:25:09:1d:yr:0f:62:65:0c:ea:5r:1a OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_PRIVATEKEYFILE=/home/z dmuser/.oci/oci_api_key.pem OCIAUTHENTICATIONDETAILS_REGIONID=ap-tokyo-1 # Other TABLESPACEDETAILS_REMAPTARGET=ZDMTESTPDB RUNCPATREMOTELY=TRUE Copyright © 2023, Oracle and/or its affiliates
  15. • 物理移⾏時にはソース・データベースをバックアップし、ターゲット・データベースでリストアする • ZDMによる移⾏プロセスの中でバックアップを取得したり、既存のバックアップセットを利⽤したりすることができる • レスポンス・ファイル内のDATA_TRANSFER_MEDIUMにて以下の値を指定する 物理移⾏におけるソース・データベースのバックアップについて 21 Copyright ©

    2023, Oracle and/or its affiliates 指定する値 説明 OSS 移⾏プロセスの中でOracle Cloud Infrastructure Object Storageへバックアップを取得する ZDLRA Zero Data Loss Recovery Applianceに存在するバックアップセットにアクセスし移⾏に使⽤する (移⾏プロセスの中ではバックアップを取得しない) NFS 移⾏プロセスの中でネットワーク・ファイル・システムへバックアップを取得する DIRECT 移⾏プロセスの中でアクティブなデータベースからの複製を実⾏ 中間バックアップメディアを使⽤しない EXTBACKUP 既存のバックアップにアクセスし移⾏に使⽤する DISK、SBT_TAPEなどが利⽤可能
  16. • 論理移⾏時にはソース・データベースからターゲット・データベースへデータを転送する • レスポンス・ファイル内のDATA_TRANSFER_MEDIUMにて以下の値を指定する 論理移⾏におけるソース・データベースのデータ転送について 22 Copyright © 2023, Oracle

    and/or its affiliates 指定する値 説明 OSS Oracle Cloud Infrastructure Object Storageへダンプファイルを格納する NFS ネットワークファイルシステムへダンプファイルを格納する DBLINK データベース・リンクを介してデータを直接転送する COPY 中間データ転送メディアを介さずソース・データベースからターゲットデータベースへ 直接ダンプファイルを転送する AMAZONS3 Amazon Simple Storage Serviceバケットへダンプファイルを格納する ソース・データベースにRDS for Oracleを指定しているときのみ利⽤可能
  17. • 移⾏前にZDMの評価コマンドを実⾏する • 移⾏コマンドであるzdmcliのmigrate databaseコマンドに –eval のオプションを付与することで移⾏前の評価を実施可能 • 移⾏コマンド実⾏時にも評価は実施されるがオプションを付与することで評価フェーズのみ実⾏可能となる •

    コマンドの中で作成したレスポンス・ファイルの情報を指定して実⾏ • 実⾏するとジョブIDが発⾏される 評価コマンドの実⾏ 25 $ZDM_HOME/bin/zdmcli migrate database -sourcedb srcdb -sourcenode srcnode -srcroot - targetnode tgtnode -rsp /home/zdmuser/physical_online.rsp -tgtauth zdmauth -tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/.ssh/zdm.ppk -tgtarg3 sudo_location:/usr/bin/sudo -eval Operation "zdmcli migrate database" scheduled with the job ID "44". Copyright © 2023, Oracle and/or its affiliates
  18. • migrate databaseコマンドでジョブを発⾏後、発⾏したジョブを確認するために query jobコマンドを実⾏することで各フェーズごとの状況を確認可能 • エラーがあった場合“FAILED”と表⽰され、エラーの詳細はログファイルに記載されている 評価コマンドの確認 $ZDM_HOME/bin/zdmcli query

    job -jobid 44 Job ID:4 User: zdmuser Client: zdm-servicenode Scheduled job command: "zdmcli migrate database -sourcedb srcdb -sourcenode srcnode -srcroot -targetnode tgtnode -rsp /home/zdmuser/physical_online.rsp -tgtauth zdmauth -tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/.ssh/zdm.ppk -tgtarg3 sudo_location:/usr/bin/sudo -eval " Scheduled job execution start time:2020-X. Equivalent local time:2020-X Current status:SUCCEEDED Result file path: "/u01/app/oracle/zdmbase/chkbase/scheduled/job-4-2020-05.log" Job execution start time:2020-05-06 20:11:49 Job execution end time:2020-05-06 20:15:15 Job execution elapsed time:3 minutes 25 seconds ZDM_GET_SRC_INFO................... COMPLETED ZDM_GET_TGT_INFO....................COMPLETED ZDM_SETUP_SRC.......................COMPLETED ZDM_SETUP_TGT.......................COMPLETED ZDM_GEN_RMAN_PASSWD.................COMPLETED ZDM_PREUSERACTIONS .................COMPLETED ZDM_PREUSERACTIONS_TGT..............COMPLETED ZDM_VALIDATE_SRC....................COMPLETED ZDM_VALIDATE_TGT....................COMPLETED 26 Copyright © 2023, Oracle and/or its affiliates
  19. • ZDMの移⾏コマンドを実⾏する • zdmcliのmigrate databaseコマンドで実⾏ 評価コマンドで実⾏したコマンドの-evalを削除する • -pauseafterパラメータを指定することでジョブの⼀時停⽌が可能 下記コマンド例ではZDM_CONFIGURE_DG_SRCフェーズでジョブを⼀時停⽌している 移⾏コマンドの実⾏

    $ZDM_HOME/bin/ zdmcli migrate database -sourcedb db1_phx -sourcenode sourcezdm - srcauth zdmauth -srcarg1 user:opc -srcarg2 identity_file:/home/zdmuser/.ssh/zdm- servicenode.ppk -srcarg3 sudo_location:/usr/bin/sudo -targetnode targetzdm - targethome /u01/app/oracle/product/18.01 -backupuser bkpuser -rsp /u01/response/zdm_template.rsp -tgtauth zdmauth -tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/.ssh/zdm-spk -tgtarg3 sudo_location:/usr/bin/sudo -ignore ALL -pauseafter ZDM_CONFIGURE_DG_SRC 27 Copyright © 2023, Oracle and/or its affiliates
  20. ZDM物理オンライン移⾏によって⾃動実⾏されるフェーズ(1/3) • ZDM_GET_SRC_INFO • ZDM_GET_TGT_INFO • ZDM_SETUP_SRC • ZDM_SETUP_TGT •

    ZDM_PREUSERACTIONS • ZDM_PREUSERACTIONS_TGT • ZDM_VALIDATE_SRC • ZDM_VALIDATE_TGT • ZDM_OBC_INST_SRC • ZDM_OBC_INST_TGT • ZDM_BACKUP_FULL_SRC • ZDM_BACKUP_INCREMENTAL_SRC 移⾏コマンドのフェーズ 28 • -evalにて実行される内容と同じフェーズ • 各リソースの評価を実施 • RMANによるバックアップフェーズ • Oracle Database Backup Moduleをインストールし フルバックアップと増分バックアップを取得する Copyright © 2023, Oracle and/or its affiliates
  21. ZDMによって⾃動実⾏されるフェーズ(2/3) • ZDM_DISCOVER_SRC • ZDM_COPYFILES • ZDM_SETUP_TDE_TGT • ZDM_PREPARE_TGT •

    ZDM_CLONE_TGT • ZDM_FINALIZE_TGT • ZDM_CONFIGURE_DG_SRC • ZDM_MONITOR_APPLY_LAG • ZDM_SWITCHOVER_SRC • ZDM_SWITCHOVER_TGT 移⾏コマンドのフェーズ 29 • Data Guard構成のための事前準備フェーズ • パスワードファイル、TDEウォレットのコ ピーなどを実施する • Data Guardによるデータ同期フェーズ • データの同期を開始後に適用ラグを監視し、 スイッチオーバーまで実施する Copyright © 2023, Oracle and/or its affiliates
  22. ZDMによって⾃動実⾏されるフェーズ(3/3) • ZDM_POST_DATABASE_OPEN_TGT • ZDM_DATAPATCH_TGT • ZDM_SHUTDOWN_SRC • ZDM_POSSTUSERACTIONS •

    ZDM_POSTUSERACTIONS_TGT • ZDM_CLEANUP_SRC • ZDM_CLEANUP_TGT • TIMEZONE_UPGRADE_PREPARE_TGT • TIMEZONE_UPGRADE_TGT 移⾏コマンドのフェーズ 30 • 最終処理フェーズ • Datapatchの実行や必要に応じてタイムゾーンの アップグレードを実施し処理を完了する Copyright © 2023, Oracle and/or its affiliates
  23. 物理オンライン移⾏の場合 ZDMによるデータ同期の確認 • ZDMはData GuardのREDO適⽤が完了したタイミングでスイッチオーバーを開始し、 ⾃動的にプライマリとスタンバイを⼊れ替える • REDO適⽤の完了はZDM_APPLY_LAG_MONITORING_INTERVALパラメータの 設定に従って監視する ⼿動でのデータ同期の確認

    • 例えば移⾏当⽇にデータの追いつき具合を⼿動で確認したい場合には -pauseafterパラメータでZDM_CONFIGURE_DG_SRCを指定する • ZDM_CONFIGURE_DG_SRCフェーズまで実⾏されたタイミングでZDMのジョブは⼀時停⽌するものの、 Data Guardによるデータ同期は継続して実⾏される • この間にソース、ターゲットデータベースにアクセスしてデータを確認する • ソースとターゲットのデータ差異がゼロ、もしくは極⼩化したタイミングでアプリケーションを停⽌し、 ZDMのジョブを再実⾏する(zdmcli resume job -jobid XX) データ同期の確認 31 Copyright © 2023, Oracle and/or its affiliates
  24. • query jobコマンドを実⾏しZDMジョブの実⾏状況を確認 • 全てのフェーズがCOMPLETEDになったことを確認し移⾏完了となる 移⾏コマンドの確認 32 $ZDM_HOME/bin/zdmcli query job

    -jobid 45 host-10-5-1-150.sub10280400000.vcnkix.oraclevcn.com: Audit ID: 419 Job ID: 45 User: zdmuser ~~~~~中略~~~~~~~~ ZDM_CONFIGURE_DG_SRC ..........COMPLETED ZDM_SWITCHOVER_SRC ............COMPLETED ZDM_SWITCHOVER_TGT ............COMPLETED ZDM_NONCDBTOPDB_PRECHECK ......COMPLETED ZDM_NONCDBTOPDB_CONVERSION ....COMPLETED ZDM_POSTUSERACTIONS ...........COMPLETED ZDM_POSTUSERACTIONS_TGT .......COMPLETED ZDM_CLEANUP_SRC ...............COMPLETED ZDM_CLEANUP_TGT ...............COMPLETED Copyright © 2023, Oracle and/or its affiliates
  25. • 移⾏前にZDMの評価コマンドを実⾏する • 移⾏コマンドであるzdmcliのmigrate databaseコマンドに –eval のオプションを付与することで移⾏前の評価を実施可能 • 移⾏コマンド実⾏時にも評価は実施されるがオプションを付与することで評価フェーズのみ実⾏可能となる •

    コマンドの中で作成したレスポンス・ファイルの情報を指定して実⾏ • 実⾏するとジョブIDが発⾏される 評価コマンドの実⾏ 35 $ZDM_HOME/bin/zdmcli migrate database -sourcedb srcdb -sourcenode srcnode -srcroot - targetnode tgtnode -rsp /home/zdmuser/logical_online.rsp -tgtauth zdmauth -tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/.ssh/zdm.ppk -tgtarg3 sudo_location:/usr/bin/sudo -eval Operation "zdmcli migrate database" scheduled with the job ID "44". Copyright © 2023, Oracle and/or its affiliates
  26. • migrate databaseコマンドでジョブを発⾏後、発⾏したジョブを確認するために query jobコマンドを実⾏することで各フェーズごとの状況を確認可能 • エラーがあった場合“FAILED”と表⽰され、エラーの詳細はログファイルに記載されている 評価コマンドの確認 $ZDM_HOME/bin/zdmcli query

    job -jobid 6 host-10-5-1-150.sub10280400000.vcnkix.oraclevcn.com: Audit ID: 418 Job ID: 6 User: zdmuser Client: host-10-5-1-150 Job Type: "EVAL" Scheduled job command: "$ZDM_HOME/bin/zdmcli migrate database -sourcedb srcdb -sourcenode srcnode -srcroot -targetnode tgtnode -rsp /home/zdmuser/logical_online.rsp -tgtauth zdmauth -tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/.ssh/zdm.ppk -tgtarg3 sudo_location:/usr/bin/sudo -eval" Scheduled job execution start time: 2023-03-02T07:32:53Z. Equivalent local time: 2023-03-02 07:32:53 Current status: SUCCEEDED Result file path: "/home/zdmuser/zdmbase/chkbase/scheduled/job-6-2023-03-02-07:33:07.log" Excluded objects file path: "/home/zdmuser/zdmbase/chkbase/scheduled/job-6-filtered-objects-2023-03-02T07:33:22.418.json" Job execution start time: 2023-03-02 07:33:08 Job execution end time: 2023-03-02 07:33:43 Job execution elapsed time: 35 seconds ZDM_VALIDATE_TGT ...................... COMPLETED ZDM_VALIDATE_SRC ...................... COMPLETED ZDM_SETUP_SRC ......................... COMPLETED ZDM_PRE_MIGRATION_ADVISOR ............. COMPLETED ZDM_VALIDATE_GG_HUB ................... COMPLETED ZDM_VALIDATE_DATAPUMP_SETTINGS_SRC .... COMPLETED ZDM_VALIDATE_DATAPUMP_SETTINGS_TGT .... COMPLETED ZDM_PREPARE_DATAPUMP_SRC .............. COMPLETED ZDM_CLEANUP_SRC ....................... COMPLETED 36 Copyright © 2023, Oracle and/or its affiliates
  27. 実際のエラー例 ログの確認 37 [zdmuser@host-10-5-1-150 ~]$ cat /home/zdmuser/zdmbase/chkbase/scheduled/job-1-2023-03-02-05:24:37.log host-10-5-1-150: 2023-03-02T05:24:37.923Z :

    Starting zero downtime migrate operation ... host-10-5-1-150: 2023-03-02T05:24:37.954Z : Executing phase ZDM_VALIDATE_TGT host-10-5-1-150: 2023-03-02T05:24:51.654Z : Fetching details of Oracle Database Appliance "target19_pdb1.sub10280358451.peeringvcn.oraclevcn.com" host-10-5-1-150: 2023-03-02T05:24:51.656Z : Type of database : "On Premises Oracle Database Appliance" host-10-5-1-150: 2023-03-02T05:24:51.756Z : Verifying configuration and status of target database "target19_pdb1.sub10280358451.peeringvcn.oraclevcn.com" host-10-5-1-150: 2023-03-02T05:24:56.556Z : Global database name: TARGET19_PDB1.SUB10280358451.PEERINGVCN.ORACLEVCN.COM host-10-5-1-150: 2023-03-02T05:24:56.557Z : Target PDB name : TARGET19_PDB1 host-10-5-1-150: 2023-03-02T05:24:56.558Z : Database major version : 19 host-10-5-1-150: 2023-03-02T05:24:56.559Z : obtaining database TARGET19_PDB1.SUB10280358451.PEERINGVCN.ORACLEVCN.COM tablespace configuration details... host-10-5-1-150: 2023-03-02T05:25:00.276Z : Database parameter ENABLE_GOLDENGATE_REPLICATION is set to true. host-10-5-1-150: 2023-03-02T05:25:00.277Z : Oracle GoldenGate database administrator user "GGADMIN" has required privileges. host-10-5-1-150: 2023-03-02T05:25:00.277Z : Execution of phase ZDM_VALIDATE_TGT completed host-10-5-1-150: 2023-03-02T05:25:00.356Z : Executing phase ZDM_VALIDATE_SRC host-10-5-1-150: 2023-03-02T05:25:00.457Z : Verifying configuration and status of source database "oradb" host-10-5-1-150: 2023-03-02T05:25:00.459Z : source database host source service oradb host-10-5-1-150: 2023-03-02T05:25:02.920Z : Global database name: ORADB host-10-5-1-150: 2023-03-02T05:25:02.922Z : Database major version : 12 host-10-5-1-150: 2023-03-02T05:25:02.923Z : Validating database time zone compatibility... PRGZ-1144 : Database "ORADB" is not in ARCHIVELOG mode. Copyright © 2023, Oracle and/or its affiliates
  28. • ZDMにはCPATが組み込まれており、評価コマンド、移⾏コマンド実⾏時には CPATによるデータベースの評価が⾏われている(ZDM_PRE_MIGRATION_ADVISORフェーズで実⾏) • CPATはJavaベースで実装されたOracle Database 11.2.0.4以上で動作するツールであり、 GoldenGateでサポートされないデータタイプが使⽤されていないかなど、データベースに簡単なクエリを発⾏し 結果をレポートファイルとして出⼒するツールとなっている •

    ツールの詳細は下記ドキュメントに記載 Cloud Premigration Advisor Tool (CPAT) Analyzes Databases for Suitability of Cloud Migration (Doc ID 2758371.1) • サポートされないデータ型等が⾒つかった場合も評価コマンド⾃体はステータス︓SUCCEEDED で表⽰され、そのまま移⾏コマンドも発⾏できてしまう • 評価コマンド発⾏後は必ずCPATレポートを確認すること Cloud Premigration Advisor Tool (CPAT)について 38 Copyright © 2023, Oracle and/or its affiliates
  29. • CPATレポートの結果サマリと格納場所は実⾏コマンドのログファイル内に記載されている • ログにはPassedやAction Requiredなどのサマリ結果が記載されている CPATレポートの格納場所 host-10-5-1-150: 2023-03-02T07:33:27.685Z : Premigration

    advisor output: Cloud Premigration Advisor Tool Version 22.5.2 Cloud Premigration Advisor Tool completed with overall result: Action Required Cloud Premigration Advisor Tool generated report location: /home/zdmuser/zdmbase/crsdata/host-10-5-1- 150/rhp/temp/zdm/zdm_oradb_6/out/premigration_advisor_report.json Cloud Premigration Advisor Tool generated report location: /home/zdmuser/zdmbase/crsdata/host-10-5-1- 150/rhp/temp/zdm/zdm_oradb_6/out/premigration_advisor_report.txt CPAT exit code: 3 RESULT: Action Required 39 Copyright © 2023, Oracle and/or its affiliates
  30. エラーの例 • ソースデータベースとターゲットデータベースでnls_character_setが異なる場合の記載 CPATレポートの確認 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Check Name: nls_character_set_conversion Check Result:

    Action Required ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Description: Check for issues caused by conversion of character data from the source to the target database character set, such as expansion of character values beyond column length or loss of invalid character codes. Failure Impact: During migration you will encounter ORA-1401 or loss of invalid character codes due to character set conversion from the source to the target database character set. Status Message: The source database character set is WE8MSWIN1252 and the target cloud database character set is AL32UTF8. In order to check for those issues, perform the database scan of the source database using Database Migration Assistant for Unicode (DMU). Action: Scan the schemas to be migrated using Database Migration Assistant for Unicode (DMU) and analyze all possible convertibility issues. 40 Copyright © 2023, Oracle and/or its affiliates
  31. • ZDMの移⾏コマンドを実⾏する • zdmcliのmigrate databaseコマンドで実⾏ 評価コマンドで実⾏したコマンドの-evalを削除する • -pauseafterパラメータを指定することでジョブの⼀時停⽌が可能 下記コマンド例ではZDM_MONITOR_GG_LAGフェーズでジョブを⼀時停⽌している 移⾏コマンドの実⾏

    $ZDM_HOME/bin/zdmcli migrate database -sourcedb srcdb -sourcenode srcnode -srcroot - targetnode tgtnode -rsp /home/zdmuser/logical_online.rsp -tgtauth zdmauth -tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/.ssh/zdm.ppk -tgtarg3 sudo_location:/usr/bin/sudo -pauseafter ZDM_MONITOR_GG_LAG 41 Copyright © 2023, Oracle and/or its affiliates
  32. ZDM論理オンライン移⾏によって⾃動実⾏されるフェーズ(1/3) • ZDM_VALIDATE_TGT • ZDM_VALIDATE_SRC • ZDM_SETUP_SRC • ZDM_PRE_MIGRATION_ADVISOR •

    ZDM_VALIDATE_GG_HUB • ZDM_VALIDATE_DATAPUMP_SETTINGS_SRC • ZDM_VALIDATE_DATAPUMP_SETTINGS_TGT • ZDM_PREPARE_DATAPUMP_SRC • ZDM_DATAPUMP_ESTIMATE_SRC • ZDM_PREPARE_GG_HUB • ZDM_ADD_HEARTBEAT_SRC • ZDM_ADD_SCHEMA_TRANDATA_SRC • ZDM_CREATE_GG_EXTRACT_SRC • ZDM_PREPARE_DATAPUMP_TGT 移⾏コマンドのフェーズ 42 • -evalにて実行される内容と同じフェーズ • 各リソースの評価を実施 • 移行前の事前作業フェーズ • Data Pump関連の事前作業、 GoldenGateのExtractプロセス生成、ハートビート 表の作成などを実施 Copyright © 2023, Oracle and/or its affiliates
  33. ZDMによって⾃動実⾏されるフェーズ(2/3) • ZDM_DATAPUMP_EXPORT_SRC • ZDM_UPLOAD_DUMPS_SRC • ZDM_DATAPUMP_IMPORT_TGT • ZDM_POST_DATAPUMP_SRC •

    ZDM_POST_DATAPUMP_TGT • ZDM_ADD_HEARTBEAT_TGT • ZDM_ADD_CHECKPOINT_TGT • ZDM_CREATE_GG_REPLICAT_TGT • ZDM_MONITOR_GG_LAG • ZDM_SWITCHOVER_APP 移⾏コマンドのフェーズ 43 • Data Pumpによる初期移行フェーズ • エクスポート、ダンプ・ファイルの移動、 インポートなどを実施 • GoldenGateによるデータ連携フェーズ • Replicatプロセスやチェックポイント表などを 生成し、初期移行データからの差分同期を実施 • Replicatによるデータ同期の完了をZDMが判断し Extract、Replicatプロセスを停止する Copyright © 2023, Oracle and/or its affiliates
  34. ZDMによって⾃動実⾏されるフェーズ(3/3) • ZDM_RM_GG_EXTRACT_SRC • ZDM_RM_GG_REPLICAT_TGT • ZDM_DELETE_SCHEMA_TRANDATA_SRC • ZDM_RM_HEARTBEAT_SRC •

    ZDM_RM_CHECKPOINT_TGT • ZDM_RM_HEARTBEAT_TGT • ZDM_CLEAN_GG_HUB • ZDM_POST_ACTIONS • ZDM_CLEANUP_SRC 移⾏コマンドのフェーズ 44 • 最終処理フェーズ • ZDMが自動生成したGoldenGateプロセスや オブジェクトの削除を実施 Copyright © 2023, Oracle and/or its affiliates
  35. 論理オンライン移⾏の場合 ZDMによるデータ同期の確認 • ZDMはソース・データベースの更新が⼀定期間停⽌し、ラグが閾値以下になった場合Extractプロセスを停⽌する (GOLDENGATESETTINGS_ACCEPTABLELAGパラメータで閾値を設定) • Replicatプロセスがデータを適⽤するまで待機し、完了後にReplicatプロセスを停⽌する • 上記のような流れでデータが最新まで追いついていると判断している •

    データの整合性チェックは⾏っていない ⼿動でのデータ同期の確認 • 例えば移⾏当⽇にデータの追いつき具合を⼿動で確認したい場合には -pauseafterパラメータでZDM_MONITOR_GG_LAGを指定する • ZDM_MONITOR_GG_LAGフェーズまで実⾏されたタイミングでZDMのジョブは⼀時停⽌するものの、 GoldenGateによるデータ連携は継続して実⾏される • この間にソース、ターゲットデータベースにアクセスしてデータを確認する • ソースとターゲットのデータ差異がゼロ、もしくは極⼩化したタイミングでアプリケーションを停⽌し、 ZDMのジョブを再実⾏する(zdmcli resume job -jobid XX) データ同期の確認 45 Copyright © 2023, Oracle and/or its affiliates
  36. • query jobコマンドを実⾏しZDMジョブの実⾏状況を確認 • 全てのフェーズがCOMPLETEDになったことを確認し移⾏完了となる 移⾏コマンドの確認 46 $ZDM_HOME/bin/zdmcli query job

    -jobid 7 host-10-5-1-150.sub10280400000.vcnkix.oraclevcn.com: Audit ID: 419 Job ID: 7 User: zdmuser ~~~~~中略~~~~~~~~ ZDM_MONITOR_GG_LAG .................... COMPLETED ZDM_SWITCHOVER_APP .................... COMPLETED ZDM_RM_GG_EXTRACT_SRC ................. COMPLETED ZDM_RM_GG_REPLICAT_TGT ................ COMPLETED ZDM_DELETE_SCHEMA_TRANDATA_SRC ........ COMPLETED ZDM_RM_HEARTBEAT_SRC .................. COMPLETED ZDM_RM_CHECKPOINT_TGT ................. COMPLETED ZDM_RM_HEARTBEAT_TGT .................. COMPLETED ZDM_CLEAN_GG_HUB ...................... COMPLETED ZDM_POST_ACTIONS ...................... COMPLETED ZDM_CLEANUP_SRC ....................... COMPLETED Copyright © 2023, Oracle and/or its affiliates
  37. • マニュアル https://docs.oracle.com/en/database/oracle/zero-downtime-migration/ • オンプレミスからOracle DBCS/ExaCSへの論理的移⾏と 並⾏アップグレードに関するステップ・バイ・ステップ・ガイド https://www.oracle.com/jp/a/tech/docs/oracle-zdm-logical-migration-step-by-step-guide-ja.pdf • Oracle

    ZDMを使⽤した物理的移⾏のステップ・バイ・ステップ・ガイド https://www.oracle.com/jp/a/tech/docs/oracle-zdm-step-by-step-guide-ja.pdf • LiveLabs • Zero Downtime Migration: Logical Online Migration to Oracle Autonomous Database https://apexapps.oracle.com/pls/apex/dbpm/r/livelabs/view-workshop?wid=937 • Zero Downtime Migration - Logical Offline Migration to ADB https://apexapps.oracle.com/pls/apex/r/dbpm/livelabs/view-workshop?wid=850 • Zero Downtime Migration : Physical Offline Migration to Co-Managed Databases in OCI https://apexapps.oracle.com/pls/apex/r/dbpm/livelabs/view-workshop?wid=3568 参考資料 48 Copyright © 2023, Oracle and/or its affiliates
  38. • Speaker Deck • GoldenGate Docker Imageを使⽤したZDMによる On-Premises ExadataからExaDB-C@Cへの論理オンライン移⾏ https://speakerdeck.com/oracle4engineer/goldengate-docker-imagewoshi-yong-

    sitazdmniyoruon-premises-exadatakaraexadb-c-at-chenolun-li-onrainyi-xing • Oracle Database Technology Night #44 Zero Downtime Migration 21c https://speakerdeck.com/oracle4engineer/oracledatabasetechnologynight44zdm • Oracle Database Technology Night #69 Oracle Databaseクラウド移⾏ツールさわってみた https://speakerdeck.com/oracle4engineer/oracle-database-technology-night-number-69- oracle-databasekuraudoyi-xing-turusawatutemita • Zero Downtime Migration 論理オンライン移⾏における構築⼿順 https://speakerdeck.com/oracle4engineer/zerodowntimemigration-lun-li-onrainyi-xing- niokeruhuan-jing-gou-zhu-shou-shun 参考資料 49 Copyright © 2023, Oracle and/or its affiliates
  39. • YouTube • https://www.youtube.com/playlist?list=PLdtXkK5KBY56_sMVg5zUzDJ7DX-95rynG • お客様事例 • Cognizant様 https://www.oracle.com/customers/cognizant/ •

    Logicalis様 https://blogs.oracle.com/maa/post/logicalis-customer-uses-zdm-to-migrate-databases-to- oracle-cloud 参考資料 50 Copyright © 2023, Oracle and/or its affiliates
  40. • Object Storageを利⽤する場合 • zdmサービスホストへのOCI CLIのインストール、レスポンスファイル内のパラメータを確認 • OCI CLIのインストールについては下記ガイドのP.24〜25を確認 https://www.oracle.com/jp/a/tech/docs/oracle-zdm-logical-migration-step-by-step-guide-ja.pdf

    • レスポンスファイルには下記パラメータが記載されていること • NFS、DBLINKを利⽤する場合 • ターゲットのOCIDをレスポンスファイル内で指定している場合 TARGETDATABASE_OCID=XXXを削除 PRGZ-1166 52 [zdmuser@ocimig5zdm05w bin]$ cat /home/zdmuser/zdmbase/chkbase/scheduled/job-1-2022-07-13-08:24:32.log ocimig5zdm05w: 2022-07-13T08:24:32.609Z : Starting zero downtime migrate operation ... ocimig5zdm05w: 2022-07-13T08:24:32.643Z : Executing phase ZDM_VALIDATE_TGT PRGZ-1166 : payload is missing information about OCI user who will call OCI REST APIs OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_USERID=ocid1.user.oc1..aaaaaaaazzop2 ~~~ OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_TENANTID=ocid1.tenancy.oc1..aaaaaaaa~~~ OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_FINGERPRINT=cf:65:9a:fd:ec:72:29:77:01: ~~~ OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_PRIVATEKEYFILE=/home/zdmuser/.oci/oci_api_key.pem OCIAUTHENTICATIONDETAILS_REGIONID=ap-tokyo-1 Copyright © 2023, Oracle and/or its affiliates
  41. • レスポンスファイル内の項⽬を再確認し、サービス名などの情報にミスがないか 不要な空⽩が含まれていないかなどを確認 • DATA_TRANSFER_MEDIUMにDBLINK,NFSを指定しており、 ターゲットのOCIDをレスポンスファイル内で指定している場合 TARGETDATABASE_OCID=XXXを削除し、コマンド内にてターゲットに関する情報を記載する 例︓ $ZDM_HOME/bin/zdmcli migrate

    database -targetnode target -rsp /home/zdmuser/zdm_logical_template3.rsp -tgtauth zdmauth -tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/.ssh/zdm.ppk -tgtarg3 sudo_location:/usr/bin/sudo -eval PRGC-1001 53 [zdmuser@ocimig5zdm05w ~]$ cat "/home/zdmuser/zdmbase/chkbase/scheduled/job-5-2022-07-13-09:37:02.log" ocimig5zdm05w: 2022-07-13T09:37:02.492Z : Starting zero downtime migrate operation ... ocimig5zdm05w: 2022-07-13T09:37:02.503Z : Executing phase ZDM_VALIDATE_TGT ocimig5zdm05w: 2022-07-13T09:37:02.506Z : Fetching details of user-managed OCI database "ocid1.database.oc1.ap-tokyo-1.anxhiljrehac7uyagy7dv7qbhtxaksfnjjat3kl5t7dzfcdsmgvv5zh3cbja" PRGZ-1159 : OCI REST API for database "ocid1.database.oc1.ap-tokyo-1.anxhiljrehac7uyagy7dv7qbhtxaksfnjjat3kl5t7dzfcdsmgvv5zh3cbja" failed. PRGC-1001 : OCI API "GetDatabase" called by OCI user "ocid1.user.oc1..aaaaaaaazzop2cxzihhubhga5d64kfaw4radoocdrxwlf56zydgvw34qdvza" failed for resource with OCID "ocid1.database.oc1.ap- tokyo-1.anxhiljrehac7uyagy7dv7qbhtxaksfnjjat3kl5t7dzfcdsmgvv5zh3cbja". (404, NotAuthorizedOrNotFound, false) Authorization failed or requested resource not found. (opc-request-id: 1B3282860DF04B1C8D0BE3DC9D8D4AF2/E500E30F122D93E141C3BB3E921887EE/F6B85F8E0A266206D9E89108D20D0F46) Copyright © 2023, Oracle and/or its affiliates
  42. ORA-01017 • レスポンスファイルのパラメータ SOURCEDATABASE_CONNECTIONDETAILS_SERVICENAMEに正しいサービス名が記載されており DBユーザのユーザ名/パスワードが正しいことを確認 PRGD-1002 54 [zdmuser@ocimig5zdm05w ~]$ cat

    /home/zdmuser/zdmbase/chkbase/scheduled/job-8-2022-07-14-02:15:04.log ocimig5zdm05w: 2022-07-14T02:15:04.335Z : Starting zero downtime migrate operation ... ocimig5zdm05w: 2022-07-14T02:15:04.340Z : Executing phase ZDM_VALIDATE_TGT ocimig5zdm05w: 2022-07-14T02:15:19.141Z : Fetching details of Oracle Database Appliance "pdb.migpocin031.vcnpoc01.oraclevcn.com" ocimig5zdm05w: 2022-07-14T02:15:19.142Z : Type of database : "On Premises Oracle Database Appliance" MIGRATION_METHOD=OFFLINE_LOGICAL ocimig5zdm05w: 2022-07-14T02:15:19.208Z : Verifying configuration and status of target database "pdb.migpocin031.vcnpoc01.oraclevcn.com" ocimig5zdm05w: 2022-07-14T02:15:24.343Z : Global database name: PDB.MIGPOCIN031.VCNPOC01.ORACLEVCN.COM ocimig5zdm05w: 2022-07-14T02:15:24.343Z : Target PDB name : PDB ocimig5zdm05w: 2022-07-14T02:15:24.344Z : Database major version : 19 ocimig5zdm05w: 2022-07-14T02:15:24.346Z : obtaining database PDB.MIGPOCIN031.VCNPOC01.ORACLEVCN.COM tablespace configuration details... ocimig5zdm05w: 2022-07-14T02:15:25.041Z : Execution of phase ZDM_VALIDATE_TGT completed ocimig5zdm05w: 2022-07-14T02:15:25.076Z : Executing phase ZDM_VALIDATE_SRC ocimig5zdm05w: 2022-07-14T02:15:25.150Z : Verifying configuration and status of source database "RDSCDB_A" ocimig5zdm05w: 2022-07-14T02:15:25.151Z : connecting to source database environment AMAZON database type RDS_ORACLE ocimig5zdm05w: 2022-07-14T02:15:25.151Z : source database host rdsikoorcl.chicef5i53xd.ap-northeast-1.rds.amazonaws.com service RDSCDB_A PRGZ-1141 : failed to verify configuration and status of Oracle database "rdsikoorcl.chicef5i53xd.ap-northeast-1.rds.amazonaws.com:1521/RDSCDB_A" PRGD-1013 : query to retrieve information from GLOBAL_NAME failed PRGD-1002 : SELECT statement "SELECT * FROM GLOBAL_NAME" execution as user "admin" failed for database with Java Database Connectivity (JDBC) URL "jdbc:oracle:thin:@(description=(address=(protocol=tcp)(port=1521)(host=rdsikoorcl.chicef5i53xd.ap-northeast-1.rds.amazonaws.com))(connect_data=(service_name=RDSCDB_A)))" ORA-01017: invalid username/password; logon denied Copyright © 2023, Oracle and/or its affiliates
  43. • ソースDBのSTREAMS_POOL_SIZEパラメータを変更する • 例︓alter system set streams_pool_size = 2G; PRGZ-1201

    55 [zdmuser@ocimig5zdm05w ~]$ cat /home/zdmuser/zdmbase/chkbase/scheduled/job-9-2022-07-14-04:08:04.log ocimig5zdm05w: 2022-07-14T04:08:04.611Z : Starting zero downtime migrate operation ... ocimig5zdm05w: 2022-07-14T04:08:04.620Z : Executing phase ZDM_VALIDATE_TGT ocimig5zdm05w: 2022-07-14T04:08:10.428Z : Fetching details of Oracle Database Appliance "pdb.migpocin031.vcnpoc01.oraclevcn.com" ocimig5zdm05w: 2022-07-14T04:08:10.429Z : Type of database : "On Premises Oracle Database Appliance" ocimig5zdm05w: 2022-07-14T04:08:10.499Z : Verifying configuration and status of target database "pdb.migpocin031.vcnpoc01.oraclevcn.com" ocimig5zdm05w: 2022-07-14T04:08:15.419Z : Global database name: PDB.MIGPOCIN031.VCNPOC01.ORACLEVCN.COM ocimig5zdm05w: 2022-07-14T04:08:15.420Z : Target PDB name : PDB ocimig5zdm05w: 2022-07-14T04:08:15.421Z : Database major version : 19 ocimig5zdm05w: 2022-07-14T04:08:15.421Z : obtaining database PDB.MIGPOCIN031.VCNPOC01.ORACLEVCN.COM tablespace configuration details... ocimig5zdm05w: 2022-07-14T04:08:15.780Z : Execution of phase ZDM_VALIDATE_TGT completed ocimig5zdm05w: 2022-07-14T04:08:15.802Z : Executing phase ZDM_VALIDATE_SRC ocimig5zdm05w: 2022-07-14T04:08:15.882Z : Verifying configuration and status of source database "pocdb" ocimig5zdm05w: 2022-07-14T04:08:15.883Z : connecting to source database environment AMAZON database type RDS_ORACLE ocimig5zdm05w: 2022-07-14T04:08:15.883Z : source database host rdsikoorcl.chicef5i53xd.ap-northeast-1.rds.amazonaws.com service pocdb ocimig5zdm05w: 2022-07-14T04:08:17.980Z : Global database name: POCDB ocimig5zdm05w: 2022-07-14T04:08:17.981Z : Source PDB name : POCDB PRGZ-1201 : Oracle database parameter STREAMS_POOL_SIZE is currently not set for source database "POCDB" Copyright © 2023, Oracle and/or its affiliates
  44. RDS for Oracleの場合 RDS for Oracleの場合はalter systemで変更できないため以下の対応となる • AWSコンソールからパラメータグループのSTREAMS_POOL_SIZEパラメータを変更する •

    デフォルトパラメータグループがソースDBに対してアタッチされている場合 パラメータを変更できないため以下の対応となる • 新規にパラメータグループを作成し、STREAMS_POOL_SIZEパラメータを変更する • 作成したパラメータグループをデータベース画⾯右上の[modify]から変更する • 変更後にRDSを再起動する(必須) STREAMS_POOL_SIZEの変更 56 Copyright © 2023, Oracle and/or its affiliates
  45. • ソースとターゲットのtime zone versionを統⼀する • 変更⽅法は次のページに記載 PRGZ-1253 57 [zdmuser@ocimig5zdm05w ~]$

    cat /home/zdmuser/zdmbase/chkbase/scheduled/job-10-2022-07-14-05:30:34.log ocimig5zdm05w: 2022-07-14T05:30:34.698Z : Starting zero downtime migrate operation ... ocimig5zdm05w: 2022-07-14T05:30:34.703Z : Executing phase ZDM_VALIDATE_TGT ocimig5zdm05w: 2022-07-14T05:30:40.124Z : Fetching details of Oracle Database Appliance "pdb.migpocin031.vcnpoc01.oraclevcn.com" ocimig5zdm05w: 2022-07-14T05:30:40.125Z : Type of database : "On Premises Oracle Database Appliance" ocimig5zdm05w: 2022-07-14T05:30:40.203Z : Verifying configuration and status of target database "pdb.migpocin031.vcnpoc01.oraclevcn.com" ocimig5zdm05w: 2022-07-14T05:30:44.902Z : Global database name: PDB.MIGPOCIN031.VCNPOC01.ORACLEVCN.COM ocimig5zdm05w: 2022-07-14T05:30:44.903Z : Target PDB name : PDB ocimig5zdm05w: 2022-07-14T05:30:44.903Z : Database major version : 19 ocimig5zdm05w: 2022-07-14T05:30:44.904Z : obtaining database PDB.MIGPOCIN031.VCNPOC01.ORACLEVCN.COM tablespace configuration details... ocimig5zdm05w: 2022-07-14T05:30:45.709Z : Execution of phase ZDM_VALIDATE_TGT completed ocimig5zdm05w: 2022-07-14T05:30:45.729Z : Executing phase ZDM_VALIDATE_SRC ocimig5zdm05w: 2022-07-14T05:30:45.786Z : Verifying configuration and status of source database "pocdb" ocimig5zdm05w: 2022-07-14T05:30:45.787Z : connecting to source database environment AMAZON database type RDS_ORACLE ocimig5zdm05w: 2022-07-14T05:30:45.787Z : source database host rdsikoorcl.chicef5i53xd.ap-northeast-1.rds.amazonaws.com service pocdb ocimig5zdm05w: 2022-07-14T05:30:47.807Z : Global database name: POCDB ocimig5zdm05w: 2022-07-14T05:30:47.808Z : Source PDB name : POCDB ocimig5zdm05w: 2022-07-14T05:30:47.808Z : Database major version : 19 ocimig5zdm05w: 2022-07-14T05:30:47.809Z : Validating database time zone compatibility... PRGZ-1253 : Target database time zone version 36 is lower than that of source version 37 Copyright © 2023, Oracle and/or its affiliates
  46. 変更例︓DBCSのタイムゾーンバージョンを36から37にアップグレード Updated DST Transitions and New Time Zones in Oracle

    RDBMS and OJVM Time Zone File Patches (Doc ID 412160.1) • 変更したいDBバージョン、タイムゾーンバージョンのパッチをMOSからダウンロードする 19cのDBを37にアップグレードする場合は33613829 • ターゲットDBサーバのoracleユーザにzipファイルを格納しunzip • Opatchのパスを設定 export PATH=$PATH:/u01/app/oracle/product/19.0.0.0/dbhome_1/OPatch • DBを停⽌する • Unzip後のパッチ番号のフォルダに移動(cd 33613829/)しopatch apply • この段階でデータベースを起動しタイムゾーンを確認するとLATESTのみ変更されている タイムゾーンバージョンのアップグレード 58 SQL> select tz_version from registry$database; TZ_VERSION ---------- 36 SQL> SQL> SELECT DBMS_DST.get_latest_timezone_version FROM dual; GET_LATEST_TIMEZONE_VERSION --------------------------- 37 Copyright © 2023, Oracle and/or its affiliates
  47. 変更例︓DBCSのタイムゾーンバージョンを36から37にアップグレード タイムゾーンバージョンのアッグレードを適⽤するスクリプト(まずはチェックスクリプト)を実⾏ スクリプトは$ORACLE_HOME/rdbms/adminの中にあり タイムゾーンバージョンのアップグレード 59 SQL> alter session set container=PDB;

    Session altered. SQL> @utltz_upg_check.sql Session altered. INFO: Starting with RDBMS DST update preparation. INFO: NO actual RDBMS DST update will be done by this script. INFO: If an ERROR occurs the script will EXIT sqlplus. INFO: Doing checks for known issues ... INFO: Database version is 19.0.0.0 . INFO: This database is a Multitenant database. INFO: This database is a PDB. INFO: Current PDB is PDB . INFO: Database RDBMS DST version is DSTv36 . INFO: No known issues detected. INFO: Now detecting new RDBMS DST version. A prepare window has been successfully started. INFO: Newest RDBMS DST version detected is DSTv37 . INFO: Next step is checking all TSTZ data. INFO: It might take a while before any further output is seen ... A prepare window has been successfully ended. INFO: A newer RDBMS DST version than the one currently used is found. INFO: Note that NO DST update was yet done. INFO: Now run utltz_upg_apply.sql to do the actual RDBMS DST update. INFO: Note that the utltz_upg_apply.sql script will INFO: restart the database 2 times WITHOUT any confirmation or prompt. Session altered. Copyright © 2023, Oracle and/or its affiliates
  48. 変更例︓DBCSのタイムゾーンバージョンを36から37にアップグレード チェック後に変更スクリプトを実⾏ タイムゾーンバージョンのアップグレード 60 SQL> @utltz_upg_apply.sql Session altered. INFO: If

    an ERROR occurs, the script will EXIT SQL*Plus. INFO: The database RDBMS DST version will be updated to DSTv37 . INFO: This database is a Multitenant database. INFO: This database is a PDB. INFO: Current PDB is PDB . WARNING: This script will restart the database 2 times WARNING: WITHOUT asking ANY confirmation. WARNING: Hit control-c NOW if this is not intended. INFO: Restarting the database in UPGRADE mode to start the DST upgrade. Pluggable Database closed. Pluggable Database opened. INFO: Starting the RDBMS DST upgrade. INFO: Upgrading all SYS owned TSTZ data. INFO: It might take time before any further output is seen ... An upgrade window has been successfully started. INFO: Restarting the database in NORMAL mode to upgrade non-SYS TSTZ data. Pluggable Database closed. Pluggable Database opened. INFO: Upgrading all non-SYS TSTZ data. INFO: It might take time before any further output is seen ... INFO: Do NOT start any application yet that uses TSTZ data! INFO: Next is a list of all upgraded tables: Table list: "GSMADMIN_INTERNAL"."AQ$_CHANGE_LOG_QUEUE_TABLE_L" Number of failures: 0 Table list: "GSMADMIN_INTERNAL"."AQ$_CHANGE_LOG_QUEUE_TABLE_S" Number of failures: 0 Table list: "MDSYS"."SDO_DIAG_MESSAGES_TABLE" Number of failures: 0 Table list: "DVSYS"."AUDIT_TRAIL$" Number of failures: 0 Table list: "DVSYS"."SIMULATION_LOG$" Number of failures: 0 INFO: Total failures during update of TSTZ data: 0 . An upgrade window has been successfully ended. INFO: Your new Server RDBMS DST version is DSTv37 . INFO: The RDBMS DST update is successfully finished. INFO: Make sure to exit this SQL*Plus session. INFO: Do not use it for timezone related selects. Session altered. Copyright © 2023, Oracle and/or its affiliates
  49. • https://docs.oracle.com/en/database/oracle/zero-downtime- migration/21.2/zdmrn/index.html#ZDMRN-GUID-11EDB7C0-071B-4159-A814-5EA174E82A55 • ターゲットPDBでGLOBAL_NAMESパラメータをFalseに設定する • PDB> alter system set

    GLOBAL_NAMES = false; PRGZ-1177 62 ocimig5zdm05w: 2022-07-14T08:16:22.444Z : Execution of phase ZDM_PRE_MIGRATION_ADVISOR completed ocimig5zdm05w: 2022-07-14T08:16:22.465Z : Executing phase ZDM_VALIDATE_DATAPUMP_SETTINGS_SRC ocimig5zdm05w: 2022-07-14T08:16:23.257Z : Execution of phase ZDM_VALIDATE_DATAPUMP_SETTINGS_SRC completed ocimig5zdm05w: 2022-07-14T08:16:23.285Z : Executing phase ZDM_VALIDATE_DATAPUMP_SETTINGS_TGT ocimig5zdm05w: 2022-07-14T08:16:26.057Z : Execution of phase ZDM_VALIDATE_DATAPUMP_SETTINGS_TGT completed ocimig5zdm05w: 2022-07-14T08:16:26.073Z : Executing phase ZDM_PREPARE_DATAPUMP_SRC ocimig5zdm05w: 2022-07-14T08:16:26.075Z : obtaining database POCDB tablespace configuration details... ocimig5zdm05w: 2022-07-14T08:16:26.567Z : Execution of phase ZDM_PREPARE_DATAPUMP_SRC completed ocimig5zdm05w: 2022-07-14T08:16:26.588Z : Executing phase ZDM_PREPARE_DATAPUMP_TGT ocimig5zdm05w: 2022-07-14T08:16:26.589Z : setting up database link dblink_to_rds ocimig5zdm05w: 2022-07-14T08:16:27.291Z : Validating database link "dblink_to_rds" PRGZ-1177 : Database link "dblink_to_rds" is invalid and unusable. Copyright © 2023, Oracle and/or its affiliates
  50. • ソース側のDBがCDB構成の場合CDBに関連するパラメータをレスポンスファイルに記載する • SOURCECONTAINERDATABASE_ADMINUSERNAME=ADMIN • SOURCECONTAINERDATABASE_CONNECTIONDETAILS_HOST=rdsikoorcl.chicef5i53xd.ap- northeast-1.rds.amazonaws.com • SOURCECONTAINERDATABASE_CONNECTIONDETAILS_PORT=1521 •

    SOURCECONTAINERDATABASE_CONNECTIONDETAILS_SERVICENAME=pocdb • SOURCECONTAINERDATABASE_GGADMINUSERNAME=GGADMIN PRGZ-1135 63 ocimig5zdm05w: 2022-07-21T09:10:07.816Z : Global database name: POCDB ocimig5zdm05w: 2022-07-21T09:10:07.817Z : Source PDB name : POCDB ocimig5zdm05w: 2022-07-21T09:10:07.817Z : Database major version : 19 ocimig5zdm05w: 2022-07-21T09:10:07.818Z : Validating database time zone compatibility... ocimig5zdm05w: 2022-07-21T09:10:07.820Z : Archive log mode : ARCHIVELOG ocimig5zdm05w: 2022-07-21T09:10:07.820Z : Minimal supplemental logging : YES ocimig5zdm05w: 2022-07-21T09:10:07.821Z : Force logging : YES ocimig5zdm05w: 2022-07-21T09:10:07.821Z : Database parameter ENABLE_GOLDENGATE_REPLICATION is set to true. ocimig5zdm05w: 2022-07-21T09:10:07.822Z : Oracle GoldenGate database administrator user "GGADMIN" has required privileges. PRGZ-1135 : password for user "ADMIN" was not specified Copyright © 2023, Oracle and/or its affiliates
  51. <解決⽅法> • ZDMの移⾏コマンドのオプションが正しいか確認する • -srcrootが加えられていることを確認する PRCZ-2006 65 $ZDM_HOME/bin/zdmcli migrate database

    -sourcedb dbm51 -sourcenode ariesdb01 -srcroot -targetnode ecc2c5n1 -rsp /home/zdmuser/logical_online.rsp -tgtauth zdmauth -tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/.ssh/zdm.ppk -tgtarg3 sudo_location:/usr/bin/sudo -pauseafter ZDM_CREATE_GG_EXTRACT_SRC 移行コマンド例 Copyright © 2023, Oracle and/or its affiliates
  52. <解決⽅法> • ソース・データベースのSTREAMS_POOL_SIZEパラメータを変更する • 例︓alter system set streams_pool_size = 2G;

    • RAC構成の場合、両ノードをrunning状態でv$parameterを変更する場合、SIDの指定が必須 • 例︓alter system set streams_pool_size=2G scope=BOTH SID='dbm512’; • https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=433143388948713&parent=EXTERNA L_SEARCH&sourceId=PROBLEM&id=2573221.1&_afrWindowMode=0&_adf.ctrl-state=p0mblr75e_4 PRGZ-1154 66 Copyright © 2023, Oracle and/or its affiliates