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

ZeroDowntimeMigration 論理オンライン移行における環境構築手順

ZeroDowntimeMigration 論理オンライン移行における環境構築手順

関連資料
・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/zero-downtime-migration-tech-detail

oracle4engineer

August 22, 2023
Tweet

More Decks by oracle4engineer

Other Decks in Technology

Transcript

  1. 論理オンライン移⾏の場合 環境構築の流れ Copyright © 2023, Oracle and/or its affiliates 2

    ZDMサービスホストの構築 Oracle GoldenGate – Database Migrationsの構築 ターゲットデータベースの構築 ソース/ターゲットデータベースの設定 各リソースの疎通設定とレスポンス・ファイルの作成
  2. ap-osaka-1 ap-tokyo-1 AD1 環境構成図 AD1 VCN(ソース) : peeringVCN_Kix Public (10.5.0.0/24)

    Private (10.5.1.0/24) VCN(ターゲット) : peeringVCN Private (10.0.1.0/24) Internet Internet GW DRG DRG Remote Peering 踏み台サーバ ターゲットDB ソースDBサーバ 10.5.1.66 host-10-5-1-66 OCI Tenancy Cust Tenancy Oracle Services Network Object Storage SG-1 File Storage File Storage 10.5.0.140 host-10-5-0-140 OCI Tenancy Oracle Services Network File Storage Mount Target File Storage Mount Target Block Storage 10.0.1.100 yamada2 ZDM 10.5.1.150 host-10-5-1-150 GoldenGate 10.5.1.239 ogg21core Copyright © 2023, Oracle and/or its affiliates 3
  3. 構築⼿順概要 1. インストール環境の構築 • ZDMをインストールするサーバー(ZDMサービスホスト)を準備する • インストールに必要なグループ、ユーザー、およびディレクトリを作成する • 必要なソフトウェア・パッケージをインストールする 2.

    ZDMバイナリのダウンロード 3. インストール前の準備 • ダウンロードしたZDMバイナリをZDMサービスホストに配置してファイルの所有者権限を設定する • ZDMバイナリのインストールに必要な環境変数の設定を⾏う 4. ZDMソフトウェアのインストール • ZDMバイナリのzipファイルを展開する • zdminstall.shを実⾏して、ZDMソフトウェアをインストールする • ZDMを起動してステータスを確認する ZDMサービスホストの構築 Copyright © 2023, Oracle and/or its affiliates 4 ZDMサービスホスト
  4. 1. インストール環境の構築 • ZDMサービスホストの作成 • OCI ComputeにてOracle Linux 7.9のインスタンスを作成する •

    作成時のリソース情報は下記の通り • イメージ︓Oracle Linux 7.9 • Shape︓VM.Standard.E4.Flex 1OCPU 16GB memory • ブート・ボリューム・サイズ︓200GB • 作成したインスタンスにrootユーザーとしてログインする • ZDM⽤のグループ、ユーザー、ディレクトリを作成し、必要なソフトウェア・パッケージをインストールする ZDMサービスホストの構築 Copyright © 2023, Oracle and/or its affiliates 5 [root@zdmhost]# groupadd zdm [root@zdmhost]# useradd zdmuser -g zdm [root@zdmhost]# mkdir –p /home/zdmuser/zdminstall [root@zdmhost]# mkdir /home/zdmuser/zdmhome [root@zdmhost]# mkdir /home/zdmuser/zdmbase [root@zdmhost]# chown -R zdmuser:zdm /home/zdmuser/ [root@zdmhost]# yum -y install glibc-devel expect unzip libaio oraclelinux- developer-release-el7 ZDMサービスホスト
  5. 3. インストール前の準備 • ZDMバイナリをZDMサービスホストの/home/zdmuser/zdminstallディレクトリに配置する • zipファイルの所有者をzdmuserに変更する • ZDMユーザにログインして、ZDMソフトウェアのインストールに必要な環境変数の設定を⾏う ZDMサービスホストの構築 Copyright

    © 2023, Oracle and/or its affiliates 7 [root@zdmhost]# cd /home/zdmuser/zdminstall [root@zdmhost zdminstall]# chown zdmuser:zdm/home/zdmuser/zdminstall/zdm.zip [root@zdmhost zdminstall]# su – zdmuser [zdmuser@zdmhost ~]$ echo "ORACLE_HOME=/home/zdmuser/zdmhome; export ORACLE_HOME" >> ~/.bashrc [zdmuser@zdmhost ~]$ echo "ORACLE_BASE=/home/zdmuser/zdmbase; export ORACLE_BASE" >> ~/.bashrc [zdmuser@zdmhost ~]$ echo "ZDM_BASE=¥$ORACLE_BASE; export ZDM_BASE" >> ~/.bashrc [zdmuser@zdmhost ~]$ echo "ZDM_HOME=/home/zdmuser/zdmhome; export ZDM_HOME" >> ~/.bashrc [zdmuser@zdmhost ~]$ echo "ZDM_INSTALL_LOC=/home/zdmuser/zdminstall; export ZDM_INSTALL_LOC" >> ~/.bashrc ZDMサービスホスト
  6. 4. ZDMソフトウェアのインストール • ZDMバイナリを解凍しzdminstall.shを実⾏して、ZDMソフトウェアをインストールする ZDMサービスホストの構築 Copyright © 2023, Oracle and/or

    its affiliates 8 [zdmuser@zdmhost ~]$ source ~/.bashrc [zdmuser@zdmhost ~]$ cd /home/zdmuser/zdminstall/ [zdmuser@zdmhost zdminstall]$ unzip zdm.zip [zdmuser@zdmhost zdminstall]$ cd zdm [zdmuser@zdmhost zdm]$ ./zdminstall.sh setup oraclehome=$ZDM_HOME oraclebase=$ZDM_BASE ziploc=./zdm_home.zip -zdm ZDMサービスホスト
  7. 4. ZDMソフトウェアのインストール • ZDMを起動してステータスを確認する ZDMサービスホストの構築 Copyright © 2023, Oracle and/or

    its affiliates 9 [zdmuser@zdmhost zdm]$ $ZDM_HOME/bin/zdmservice start Return code is 0 Server started successfully. [zdmuser@zdmhost zdm]$ $ZDM_HOME/bin/zdmservice status --------------------------------------- Service Status --------------------------------------- Running: true Tranferport: Conn String: jdbc:mysql://localhost:8897/ RMI port: 8895 HTTP port: 8896 Wallet path: /home/zdmuser/zdmbase/crsdata/zdmhost/security ZDMサービスホスト
  8. • 論理オンライン移⾏の場合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 Copyright © 2023, Oracle and/or its affiliates 10
  9. 1. Oracle Cloud Infrastructure MarketplaceからGoldenGate⽤のインスタンスを作成 Oracle GoldenGate – Database Migrationsの構築

    Copyright © 2023, Oracle and/or its affiliates | Confidential: Internal/Restricted/Highly Restricted 12 GoldenGate
  10. 1. Oracle Cloud Infrastructure MarketplaceからGoldenGate⽤のインスタンスを作成 Oracle GoldenGate – Database Migrationsの構築

    Copyright © 2023, Oracle and/or its affiliates | Confidential: Internal/Restricted/Highly Restricted 13 GoldenGate
  11. 1. Oracle Cloud Infrastructure MarketplaceからGoldenGate⽤のインスタンスを作成 Oracle GoldenGate – Database Migrationsの構築

    Copyright © 2023, Oracle and/or its affiliates | Confidential: Internal/Restricted/Highly Restricted 14 GoldenGate
  12. 1. Oracle Cloud Infrastructure MarketplaceからGoldenGate⽤のインスタンスを作成 Oracle GoldenGate – Database Migrationsの構築

    Copyright © 2023, Oracle and/or its affiliates | Confidential: Internal/Restricted/Highly Restricted 15 GoldenGate
  13. 1. Oracle Cloud Infrastructure MarketplaceからGoldenGate⽤のインスタンスを作成 Oracle GoldenGate – Database Migrationsの構築

    Copyright © 2023, Oracle and/or its affiliates | Confidential: Internal/Restricted/Highly Restricted 16 GoldenGate
  14. 1. Oracle Cloud Infrastructure MarketplaceからGoldenGate⽤のインスタンスを作成 Oracle GoldenGate – Database Migrationsの構築

    Copyright © 2023, Oracle and/or its affiliates | Confidential: Internal/Restricted/Highly Restricted 17 GoldenGate
  15. 2. GoldenGateサービス・マネージャのパスワード確認 • 作成したインスタンスにSSHで接続する • opcユーザのホームディレクトリを確認する • ogg-credentials.jsonを確認する GoldenGateサービス・マネージャのユーザー名とパスワードを確認できる Oracle

    GoldenGate – Database Migrationsの構築 Copyright © 2023, Oracle and/or its affiliates | Confidential: Internal/Restricted/Highly Restricted 18 -bash-4.2$ ls ogg-credentials.json ora21c-21.8.0.0.0.tar oradiag_opc -bash-4.2$ -bash-4.2$ cat ogg-credentials.json {"username": "oggadmin", "credential": "YP0FBCJ%E.aKMili"} -bash-4.2$ GoldenGate
  16. 3. GoldenGateサービス・マネージャへの接続 • Oracle GoldenGateサービス・マネージャへ接続確認する • 任意のブラウザ上のアドレス・バーに以下の情報を⼊⼒する • https://<ホスト名.ドメイン名>:<ホストのポート番号>/ •

    jsonファイルで確認したユーザー名、パスワードを⼊⼒しサインインする Oracle GoldenGate – Database Migrationsの構築 Copyright © 2023, Oracle and/or its affiliates | Confidential: Internal/Restricted/Highly Restricted 19 GoldenGate
  17. Tips ターゲット・データベースの構築時、 ストレージサイズの指定に注意してください。 • 使⽤可能なデータ・ストレージ • DATA領域のサイズをここで指定します • リカバリ領域の記憶域 •

    RECO領域のサイズをここで指定します • ZDM実⾏時にはアーカイブREDOログの容量に注 意してください 運⽤後にもスケールアップは可能ですが、移⾏時にスト レージが⾜りなくなってしまうとZDMの実⾏はエラー終了し てしまいます。余裕を持ったサイズを指定しましょう。 ターゲット・データベースの構築 Copyright © 2023, Oracle and/or its affiliates | Confidential: Internal/Restricted/Highly Restricted 26 ターゲットDB
  18. 構築⼿順概要 1. データベースのパラメータ設定 • 強制ロギングを有効にする • ARCHIVELOGモードの設定 • データベースの最⼩サプリメンタル・ロギングを有効にする •

    初期化パラメータのENABLE_GOLDENGATE_REPLICATIONを有効にする • 初期化パラメータのSTREAMS_POOL_SIZEを2GB以上に設定する 2. GoldenGate管理ユーザの作成 • GoldenGate管理ユーザ(ggadmin)を作成する • ggadminに必要なすべての権限を付与する ソース・データベースの設定 Copyright © 2023, Oracle and/or its affiliates | Confidential: Internal/Restricted/Highly Restricted 28 ソースDB
  19. 1. データベースのパラメータ設定 • 強制ロギングを有効にする • データベースの最⼩サプリメンタル・ロギングを有効にする • 初期化パラメータのENABLE_GOLDENGATE_REPLICATIONを有効にする • 初期化パラメータのSTREAMS_POOL_SIZEを2GB以上に設定する

    • ARCHIVELOGモードの確認 ソース・データベースの設定 Copyright © 2023, Oracle and/or its affiliates | Confidential: Internal/Restricted/Highly Restricted 29 alter database add supplemental log data; alter database force logging; alter system set enable_goldengate_replication=true scope=both; alter system set streams_pool_size = 2g scope=both; select log_mode from v$database; select supplemental_log_data_min, force_logging from v$database; show parameter enable_goldengate_replication select name, value from v$parameter where name like '%pool%’; archive log list ソースDB
  20. 2. GoldenGate管理ユーザの作成 • GoldenGate管理ユーザ(ggadmin)を作成する • ggadminに必要なすべての権限を付与する ソース・データベースの設定 Copyright © 2023,

    Oracle and/or its affiliates | Confidential: Internal/Restricted/Highly Restricted 30 create user ggadmin identified by <任意のパスワード> default tablespace users temporary tablespace temp; alter user ggadmin quota 100m on users; grant unlimited tablespace to ggadmin; grant connect, resource to ggadmin; grant select any dictionary to ggadmin; grant create view to ggadmin; grant execute on dbms_lock to ggadmin; exec DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE('ggadmin'); grant dba to ggadmin; ※CDB構成の場合、共通ユーザとしてC##ggadminを作成する必要がある ソースDB
  21. 1. GoldenGate管理ユーザの作成(PDB) • GoldenGate管理ユーザ(ggadmin)を作成する • ggadminに必要なすべての権限を付与する 2. データベースのパラメータと権限の設定(CDB$ROOT) • 初期化パラメータのENABLE_GOLDENGATE_REPLICATIONを有効にする

    • Data Pumpに必要なターゲットを準備する 3. タイムゾーン・バージョンの確認 ターゲット・データベースの設定 Copyright © 2023, Oracle and/or its affiliates | Confidential: Internal/Restricted/Highly Restricted 31 ターゲットDB
  22. 1. GoldenGate管理ユーザの作成(PDB) • PDBに接続する • GoldenGate管理ユーザ(ggadmin)を作成する • ggadminに必要なすべての権限を付与する ターゲット・データベースの設定 Copyright

    © 2023, Oracle and/or its affiliates | Confidential: Internal/Restricted/Highly Restricted 32 create user ggadmin identified by <任意のパスワード> default tablespace users temporary tablespace temp; alter user ggadmin quota 100m on users; grant unlimited tablespace to ggadmin; grant connect, resource to ggadmin; grant select any dictionary to ggadmin; grant create view to ggadmin; grant execute on dbms_lock to ggadmin; exec dbms_goldengate_auth.grant_admin_privilege('ggadmin'); grant dba to ggadmin; ターゲットDB
  23. 2. データベースのパラメータと権限の設定(CDB$ROOT) • CDB$ROOTに接続する • 初期化パラメータのENABLE_GOLDENGATE_REPLICATIONを有効にする • Data Pumpに必要な権限を付与する ターゲット・データベースの設定

    Copyright © 2023, Oracle and/or its affiliates | Confidential: Internal/Restricted/Highly Restricted 33 alter system set enable_goldengate_replication=true scope=both; grant datapump_imp_full_database to system; ターゲットDB
  24. 3. タイムゾーン・バージョンの確認 • ターゲット・データベースのタイムゾーン・バージョンはソース・データベースのタイムゾーン・バージョンと 同じでなければならない • 以下の例のようにソース・データベースとターゲット・データベースのそれぞれで確認する • 同じでない場合はアップグレードする必要がある •

    アップグレード⽅法に関しては以下ドキュメントを参照 Updated DST Transitions and New Time Zones in Oracle RDBMS and OJVM Time Zone File Patches (Doc ID 412160.1) ターゲット・データベースの設定 Copyright © 2023, Oracle and/or its affiliates | Confidential: Internal/Restricted/Highly Restricted 34 SQL> select * from v$timezone_file; FILENAME VERSION CON_ID -------------------- ---------- ---------- timezlrg_36.dat 36 0 ターゲットDB
  25. 構築⼿順概要 1. ZDMサービスホストでの設定 • SSH鍵ペアを⽣成する • /etc/hostsファイルにソース・データベース、ターゲット・データベース、GoldenGate Hubの情報を⼊⼒する 2. ソース・データベースでの設定

    • ZDMサービスホストの公開鍵をauthorized_keysに追加する • /etc/hostsファイルにターゲット・データベースの接続情報を追記する 3. ターゲット・データベースでの設定 • ZDMサービスホストの公開鍵をauthorized_keysに追加する • /etc/hostsファイルにソース・データベースの接続情報を追記する 4. ZDMサービスホストからソースおよびターゲット・データベースへの接続確認 5. ソース・データベースとターゲット・データベース間の接続確認 6. GoldenGate⽤Computeでの設定 7. GoldenGate⽤Computeからソース・データベースおよびターゲット・データベースへの接続確認 各リソースの疎通設定 Copyright © 2023, Oracle and/or its affiliates | Confidential: Internal/Restricted/Highly Restricted 35
  26. 1. ZDMサービスホストでの設定 • zdmuserでログインする • .sshディレクトリを作成し、ディレクトリのアクセス権限を変更する • SSH鍵ペアを⽣成する • authorized_keysファイルに⽣成した公開鍵id_rsa.pubファイルの中⾝を追加し、ファイルのアクセス権限を変更する

    • 秘密鍵id_rsaファイルの名前をzdm.ppkに変更する 各リソースの疎通設定 Copyright © 2023, Oracle and/or its affiliates | Confidential: Internal/Restricted/Highly Restricted 36 mkdir ~/.ssh chmod 700 ~/.ssh /usr/bin/ssh-keygen –t rsa cd ~/.ssh cat id_rsa.pub >> authorized_keys chmod 600 authorized_keys mv id_rsa zdm.ppk ZDMサービスホスト
  27. 1. ZDMサービスホストでの設定 • rootユーザでログインする • /etc/hostsファイルにソース・データベース、ターゲット・データベース、GoldenGate Hubの情報を⼊⼒する 各リソースの疎通設定 Copyright ©

    2023, Oracle and/or its affiliates | Confidential: Internal/Restricted/Highly Restricted 37 [opc@host-10-5-1-150 ~]$ cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.5.1.66 host-10-5-1-66.sub102804XXXXX.peeringvcnkix.oraclevcn.com source 10.0.1.100 yamada2.sub102803XXXXX.peeringvcn.oraclevcn.com target 10.0.1.239 ogg21cora.sub102803XXXXX.peeringvcn.oraclevcn.com ogg21cora 10.5.1.150 host-10-5-1-150.sub102804XXXXX.peeringvcnkix.oraclevcn.com host- 10-5-1-150 ZDMサービスホスト
  28. 2. ソース・データベースでの設定 • ZDMサービスホストの公開鍵id_rsa.pubファイルの中⾝をソース・データベースのauthorized_keysに追加する 各リソースの疎通設定 Copyright © 2023, Oracle and/or

    its affiliates | Confidential: Internal/Restricted/Highly Restricted 38 [opc@host-10-5-1-66 .ssh]$ cat authorized_keys ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBmuPg6JzgIr4TdsCtbaBrJKF3OKZRZRKzpxcgm6tgKzR0M tVn+w6HHFJBPbJXn8Ux6fNGQpv6/5g1qwJA7ObF1lPTKwzzzPjUDqK5qJNtDpN51KnihXJ0KFbqrw IQgQQ+rdm9RYiJX9HDEO59Ymu4jJYp94DkGNXr8NxNJWZi7cvWAAxBKzKSw9C8ZQS4IRHVETYnjxZ 24vdgEJT0sJGD+BWEPuwNz/Fqhw+CUE1BqO05N6aZbEHQm0dNKqBXqcPC0BULyA1g+J9+546/5nHf AuvsVfqu/E9LKbx8y2EOZQjo8LuDwEAdyWnotUFjVv4hLBSQkMtxJVnuWI/qwUkr ssh-key- 2022-10-31 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDqBzqd+uKCwxxgzbHfH5op6IfNQcfEMMdlRxbrYUurhDoGY Rm8sqHLMJfgrrjNkgWk1N709bVgeuNk2q8m31mdITKIC5Jd+67P9c1YaDRJl+FEi3jlBIl26qbM1+ 3qaG219+63wK7GIZSegP/dOfK7GvG/rgkVcEVy5+TK+UIE9eNAmKcqfj13r4MzqKf1MUdHDKyyEfC tQecA4Rp2SO1cRD8Fjz/yIpB22Vw4FZ7Kg5vCcYwYq8ms1D7ewgooYL3lhnAfwPDmatxmaebgixcZ XXmeqqhVVIUpBSL8rGZTf7CVLbvEgQUM207nQ0fWW4LOEh4u1l4SSZrK6f3dvXF3 zdmuser@host-10-5-1-150 ソースDB
  29. 2. ソース・データベースでの設定 • /etc/hostsファイルにターゲット・データベースの接続情報を追記する 各リソースの疎通設定 Copyright © 2023, Oracle and/or

    its affiliates | Confidential: Internal/Restricted/Highly Restricted 39 [opc@host-10-5-1-66 .ssh]$ cat /etc/host cat: /etc/host: No such file or directory [opc@host-10-5-1-66 .ssh]$ cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.0.1.100 yamada2.sub10280358451.peeringvcn.oraclevcn.com target 10.0.1.239 ogg21cora.sub10280358451.peeringvcn.oraclevcn.com ogg21cora 10.5.1.150 host-10-5-1-150.sub10280400591.peeringvcnkix.oraclevcn.com zdm 10.5.1.66 host-10-5-1-66.sub10280400591.peeringvcnkix.oraclevcn.com host-10- 5-1-66 ソースDB
  30. 3. ターゲット・データベースでの設定 • ZDMサービスホストの公開鍵をauthorized_keysに追加する 各リソースの疎通設定 Copyright © 2023, Oracle and/or

    its affiliates | Confidential: Internal/Restricted/Highly Restricted 40 [opc@yamada2 .ssh]$ cat authorized_keys ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBmuPg6JzgIr4TdsCtbaBrJKF3OKZRZRKzpxcgm6tgKzR0M tVn+w6HHFJBPbJXn8Ux6fNGQpv6/5g1qwJA7ObF1lPTKwzzzPjUDqK5qJNtDpN51KnihXJ0KFbqrw IQgQQ+rdm9RYiJX9HDEO59Ymu4jJYp94DkGNXr8NxNJWZi7cvWAAxBKzKSw9C8ZQS4IRHVETYnjxZ 24vdgEJT0sJGD+BWEPuwNz/Fqhw+CUE1BqO05N6aZbEHQm0dNKqBXqcPC0BULyA1g+J9+546/5nHf AuvsVfqu/E9LKbx8y2EOZQjo8LuDwEAdyWnotUFjVv4hLBSQkMtxJVnuWI/qwUkr ssh-key- 2022-10-31 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDqBzqd+uKCwxxgzbHfH5op6IfNQcfEMMdlRxbrYUurhDoGY Rm8sqHLMJfgrrjNkgWk1N709bVgeuNk2q8m31mdITKIC5Jd+67P9c1YaDRJl+FEi3jlBIl26qbM1+ 3qaG219+63wK7GIZSegP/dOfK7GvG/rgkVcEVy5+TK+UIE9eNAmKcqfj13r4MzqKf1MUdHDKyyEfC tQecA4Rp2SO1cRD8Fjz/yIpB22Vw4FZ7Kg5vCcYwYq8ms1D7ewgooYL3lhnAfwPDmatxmaebgixcZ XXmeqqhVVIUpBSL8rGZTf7CVLbvEgQUM207nQ0fWW4LOEh4u1l4SSZrK6f3dvXF3 zdmuser@host-10-5-1-150 [opc@yamada2 .ssh]$ ターゲットDB
  31. 3. ターゲット・データベースでの設定 • /etc/hostsファイルにソース・データベースの接続情報を追記する 各リソースの疎通設定 Copyright © 2023, Oracle and/or

    its affiliates | Confidential: Internal/Restricted/Highly Restricted 41 [opc@yamada2 .ssh]$ cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.0.1.100 yamada2.sub10280358451.peeringvcn.oraclevcn.com yamada2 192.168.16.18 yamada2-priv.sub10280358451.peeringvcn.oraclevcn.com yamada2- priv 10.0.1.100 yamada2-vip.sub10280358451.peeringvcn.oraclevcn.com yamada2-vip 10.0.1.100 yamada2-scan.sub10280358451.peeringvcn.oraclevcn.com yamada2- scan 10.0.1.239 ogg21cora.sub10280358451.peeringvcn.oraclevcn.com ogg21cora 10.5.1.150 host-10-5-1-150.sub10280400591.peeringvcnkix.oraclevcn.com zdm 10.5.1.66 host-10-5-1-66.sub10280400591.peeringvcnkix.oraclevcn.com source ターゲットDB
  32. 4.ZDMサービスホストからソースおよびターゲット・データベースへの接続確認 • ZDMサービスホストのzdmuserにてソース・データベースおよびターゲット・データベースにSSHで接続を確認 各リソースの疎通設定 Copyright © 2023, Oracle and/or its

    affiliates | Confidential: Internal/Restricted/Highly Restricted 42 [opc@host-10-5-1-150 .ssh]$ ssh -i /home/opc/.ssh/zdm.ppk [email protected] Last login: Wed Jun 28 12:56:37 2023 from host-10-5-0- 140.sub10280400590.peeringvcnkix.oraclevcn.com [opc@host-10-5-1-66 ~]$ [opc@host-10-5-1-66 ~]$ exit logout Connection to 10.5.1.66 closed. [opc@host-10-5-1-150 .ssh]$ [opc@host-10-5-1-150 .ssh]$ ssh -i /home/opc/.ssh/zdm.ppk [email protected] Last login: Wed Jun 28 13:01:24 2023 from 10.5.1.150 [opc@yamada2 ~]$ ZDMサービスホスト
  33. 5. ソース・データベースとターゲット・データベース間の接続確認 • ソース・データベースとターゲット・データベース間の接続をtnspingコマンドで確認する 各リソースの疎通設定 Copyright © 2023, Oracle and/or

    its affiliates | Confidential: Internal/Restricted/Highly Restricted 43 [oracle@host-10-5-1-66 ~]$ tnsping target TNS Ping Utility for Linux: Version 12.1.0.2.0 - Production on 28-JUN-2023 13:16:58 Copyright (c) 1997, 2014, Oracle. All rights reserved. Used parameter files: /u01/app/oracle/product/12.1.0.2/dbhome_1/network/admin/sqlnet.ora Used HOSTNAME adapter to resolve the alias Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.1.100)(PORT=1521) )) OK (20 msec) [oracle@host-10-5-1-66 ~]$ ソースDB
  34. 5. ソース・データベースとターゲット・データベース間の接続確認 • ソース・データベースとターゲット・データベース間の接続をtnspingコマンドで確認する 各リソースの疎通設定 Copyright © 2023, Oracle and/or

    its affiliates | Confidential: Internal/Restricted/Highly Restricted 44 [oracle@yamada2 ~]$ tnsping source TNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 28-JUN-2023 13:18:18 Copyright (c) 1997, 2022, Oracle. All rights reserved. Used parameter files: /u01/app/oracle/product/19.0.0.0/dbhome_1/network/admin/sqlnet.ora Used HOSTNAME adapter to resolve the alias Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=tcp)(HOST=10.5.1.66)(PORT=1521)) ) OK (20 msec) [oracle@yamada2 ~]$ ターゲットDB
  35. 6. GoldenGate⽤Computeでの設定 • /etc/hostsファイルにソース・データベースとターゲット・データベースの接続情報を追記する 各リソースの疎通設定 Copyright © 2023, Oracle and/or

    its affiliates | Confidential: Internal/Restricted/Highly Restricted 45 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.5.1.66 host-10-5-1-66.sub10280400591.peeringvcnkix.oraclevcn.com source 10.0.1.100 yamada2.sub10280358451.peeringvcn.oraclevcn.com target 10.5.1.150 host-10-5-1-150.sub10280400591.peeringvcnkix.oraclevcn.com zdm 10.0.1.239 ogg21cora.sub10280358451.peeringvcn.oraclevcn.com ogg21cora GoldenGate
  36. 7. GoldenGate⽤Computeからソース・データベースおよびターゲット・データベースへの接続確認 • GoldenGate⽤ConmputeからSQL*Plusを使⽤して ソース・データベースおよびターゲット・データベースへの接続確認を⾏う • SQL*Plusは/u01/app/ogg/lib/instantclient/sqlplusに配置されている 各リソースの疎通設定 Copyright ©

    2023, Oracle and/or its affiliates | Confidential: Internal/Restricted/Highly Restricted 46 -bash-4.2$ /u01/app/ogg/lib/instantclient/sqlplus SYSTEM/Welcome#1Welcome#1@target:1521/yamada2_pdb1.sub10280358451.peeringvcn.oraclevcn.com SQL*Plus: Release 21.0.0.0.0 - Production on Wed Jun 28 13:33:51 2023 Version 21.7.0.0.0 Copyright (c) 1982, 2022, Oracle. All rights reserved. Last Successful login time: Fri Apr 14 2023 06:52:49 +00:00 Connected to: Oracle Database 19c EE High Perf Release 19.0.0.0.0 - Production Version 19.18.0.0.0 SQL> GoldenGate
  37. 記載例 レスポンス・ファイル 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.sub10281111111.zd mvcn.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.anxhiljrssl65iqc6xgpsosf5ymcsje6mk4ddtkzgk5rfvx237czzzzdij5b 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/admin/o radb/dpdump DATAPUMPSETTINGS_IMPORTDIRECTORYOBJECT_NAME=PUMP_DIR DATAPUMPSETTINGS_IMPORTDIRECTORYOBJECT_PATH=/mnt/FileSystem/pump_di r # OCICLI OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_USERID=ocid1.user.oc1..aaaaa aaac64752xd64ushyxauaacjf42bbbbjzlxng4aaaaaajgeh6aaaaaa OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_TENANTID=ocid1.tenancy.oc1.. aaaaaaaa3mb7wrcy2ls3u3jsy2soq5ck3lc3q4aaaaaaaaambuazc5tkguca OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_FINGERPRINT=36:f9:a3:a5:d7:2 5:09:1d:yr:0f:62:65:0c:ea:5r:1a OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_PRIVATEKEYFILE=/home/zdmuser /.oci/oci_api_key.pem OCIAUTHENTICATIONDETAILS_REGIONID=ap-tokyo-1 # Other TABLESPACEDETAILS_REMAPTARGET=ZDMTESTPDB RUNCPATREMOTELY=TRUE ZDMサービスホスト Copyright © 2023, Oracle and/or its affiliates 48
  38. • 移⾏前にZDMの評価コマンドを実⾏する • 移⾏コマンドであるzdmcliのmigrate databaseコマンドに –eval のオプションを付与することで移⾏前の評価を実施可能 • 移⾏コマンド実⾏時にも評価は実施されるがオプションを付与することで評価フェーズのみ実⾏可能となる •

    コマンドの中で作成したレスポンス・ファイルの情報を指定して実⾏ • 実⾏するとジョブIDが発⾏される 評価コマンドの実⾏ $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". ZDMサービスホスト Copyright © 2023, Oracle and/or its affiliates 51
  39. • 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 Copyright © 2023, Oracle and/or its affiliates 52 ZDMサービスホスト
  40. 実際のエラー例 ログの確認 Copyright © 2023, Oracle and/or its affiliates 53

    [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. ZDMサービスホスト
  41. • ZDMにはCPATが組み込まれており、評価コマンド、移⾏コマンド実⾏時には CPATによるデータベースの評価が⾏われている(ZDM_PRE_MIGRATION_ADVISORフェーズで実⾏) • 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 Copyright © 2023, Oracle and/or its affiliates 54 ZDMサービスホスト
  42. エラーの例 • ソースデータベースとターゲットデータベースで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. Copyright © 2023, Oracle and/or its affiliates 55 ZDMサービスホスト
  43. • 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 Copyright © 2023, Oracle and/or its affiliates 56 ZDMサービスホスト
  44. • query jobコマンドを実⾏しZDMジョブの実⾏状況を確認 • 全てのフェーズがCOMPLETEDになったことを確認し移⾏完了となる 移⾏コマンドの確認 Copyright © 2023, Oracle

    and/or its affiliates 57 $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 ZDMサービスホスト