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

本当に使える?AutoUpgrade の新機能を実践検証してみた

本当に使える?AutoUpgrade の新機能を実践検証してみた

2025年6月19日実施のOracle Database Technology Night#90における
「本当に使える?AutoUpgrade の新機能を実践検証してみた」の資料です。

Avatar for oracle4engineer

oracle4engineer

June 20, 2025
Tweet

More Decks by oracle4engineer

Other Decks in Technology

Transcript

  1. 本当に使える? AutoUpgradeの 新機能を実践検証してみた Oracle Database Technology Night #90 - 2

    山田 恭平 日本オラクル株式会社 クラウド事業統括 製品事業統括 AI Data Platform COE本部 データベース・ソリューション部
  2. The following is intended to outline our general product direction.

    It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, timing, and pricing of any features or functionality described for Oracle’s products may change and remains at the sole discretion of Oracle Corporation. Safe harbor statement 2 Copyright © 2025, Oracle and/or its affiliates
  3. リフレッシュ可能クローンとは 9 Copyright © 2025, Oracle and/or its affiliates TechNight#88

    「Multitenant 23ai の全貌 - 機能・設計・実装・運用からマイクロサービスまで」より
  4. リフレッシュ可能クローンとは 10 Copyright © 2025, Oracle and/or its affiliates TechNight#88

    「Multitenant 23ai の全貌 - 機能・設計・実装・運用からマイクロサービスまで」より
  5. 2025年3月開催分の第88回でMultitenantについてご紹介しております Multitenant 23ai の全貌 - 機能・設計・実装・運用からマイクロサービスまで Copyright © 2025, Oracle

    and/or its affiliates 11 資料: https://speakerdeck.com/oracle4engineer/multitenant-23ai-noquan-mao-ji-neng-she-ji-shi-zhuang-yun-yong-karamaikurosabisumade セミナー動画: https://youtu.be/L3QHFaylbOY
  6. データベース・リンクの作成 • データベース・リンクユーザの作成 • ソースデータベースにアクセスし、データベース・リンク用のユーザを作成 14 Copyright © 2025, Oracle

    and/or its affiliates [oracle@host-10-5-1-79 ~]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Mon Apr 7 01:49:31 2025 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> create user dblinkuser identified by Welcome#1Welcome#1; User created. SQL> grant create session, create pluggable database, select_catalog_role to dblinkuser; Grant succeeded. SQL> grant read on sys.enc$ to dblinkuser; Grant succeeded. ソースDB
  7. データベース・リンクの作成 • データベース・リンクユーザの作成 • ターゲットDBのtnsnames.oraにソースDBのサービスを追記 15 Copyright © 2025, Oracle

    and/or its affiliates source = (DESCRIPTION= (ADDRESS = (PROTOCOL = TCP)(HOST = 10.5.1.79)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl.sub1028040XXXX.peeringvcnkix.oraclevcn.com) ) ) ターゲットDB
  8. データベース・リンクの作成 • データベース・リンクの作成 16 Copyright © 2025, Oracle and/or its

    affiliates [oracle@targetyama]$ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Mon Apr 7 14:44:34 2025 Version 19.26.0.0.0 Copyright (c) 1982, 2024, Oracle. All rights reserved. Connected to: Oracle Database 19c EE High Perf Release 19.0.0.0.0 - Production Version 19.26.0.0.0 SQL> create database link clonepdb connect to dblinkuser identified by Welcome#1Welcome#1 using 'source’; Database link created. SQL> ALTER SYSTEM SET GLOBAL_NAMES = FALSE; System altered. ターゲットDB
  9. AutoUpgradeのダウンロードと設定 • Configファイルを作成し、ソース、ターゲットのホストに配置する 19 Copyright © 2025, Oracle and/or its

    affiliates [oracle@targetyama ~]$ vi noncdb1.cfg [oracle@targetyama ~]$ [oracle@targetyama ~]$ cat noncdb1.cfg global.autoupg_log_dir=/home/oracle/AutoUpgradeLog global.keystore=/u01/app/oracle/cfgtoollogs/keystore upg1.source_home=/u01/app/oracle/product/12.2.0.1/dbhome_1 upg1.target_home=/u01/app/oracle/product/19.0.0.0/dbhome_1 upg1.sid=oradb upg1.target_cdb=DB0606 upg1.target_pdb_name.oradb=PDB5 upg1.source_dblink.oradb=clone2 1800 upg1.target_version=19 upg1.target_pdb_copy_option.oradb=file_name_convert=none upg1.start_time=+2h ソースDB ターゲットDB
  10. Configファイル解説 global.autoupg_log_dir=/home/oracle/AutoUpgradeLog global.keystore=/u01/app/oracle/cfgtoollogs/keystore upg1.source_home=/u01/app/oracle/product/12.2.0.1/dbhome_1 upg1.target_home=/u01/app/oracle/product/19.0.0.0/dbhome_1 upg1.sid=oradb upg1.target_cdb=DB0606 upg1.target_pdb_name.oradb=PDB5 upg1.source_dblink.oradb=clone2 1800

    upg1.target_version=19 upg1.target_pdb_copy_option.oradb=file_name_convert=none upg1.start_time=+2h 20 Copyright © 2025, Oracle and/or its affiliates • グローバル・パラメータ • global.で指定 • AutoUpgradeはソースとターゲットのセットを複数指定するこ とで、複数のデータベースを一括アップグレード することができる • グローバルパラメータはすべてのアップグレードに影響する パラメータとなる • global.autoupg_log_dir(オプション) • ログ・ファイルの場所を指定 • 設定しない場合のデフォルトは ORACLE_BASE/cfgtoollogs/autoupgrade • global.keystore(オプション) • AutoUpgradeがパスワードやその他の機密情報を各異能す るために使用する 専用ソフトウェア・キーストアの場所を指定
  11. Configファイル解説 global.autoupg_log_dir=/home/oracle/AutoUpgradeLog global.keystore=/u01/app/oracle/cfgtoollogs/keystore upg1.source_home=/u01/app/oracle/product/12.2.0.1/dbhome_1 upg1.target_home=/u01/app/oracle/product/19.0.0.0/dbhome_1 upg1.sid=oradb upg1.target_cdb=DB0606 upg1.target_pdb_name.oradb=PDB5 upg1.source_dblink.oradb=clone2 1800

    upg1.target_version=19 upg1.target_pdb_copy_option.oradb=file_name_convert=none upg1.start_time=+2h 21 Copyright © 2025, Oracle and/or its affiliates • ローカルパラメータ • upg1. upg2.など任意の単語を接頭辞に記載する • 接頭辞ごとにパラメータを記載することで複数のデータベース を一括アップグレード可能 • sales. employee.などシステムごとに記載することも可能 • source.home(必須) • アップグレードのソースとなるOracleホームパスを記載 • アップグレード・モードの場合はオプション • target.home(必須) • アップグレードのターゲットとなるOracleホームパスを記載 • 分析、修正モードの場合はオプション • sid(必須) • アップグレードするデータベースのOracleシステム識別子(SID) を指定
  12. Configファイル解説 global.autoupg_log_dir=/home/oracle/AutoUpgradeLog global.keystore=/u01/app/oracle/cfgtoollogs/keystore upg1.source_home=/u01/app/oracle/product/12.2.0.1/dbhome_1 upg1.target_home=/u01/app/oracle/product/19.0.0.0/dbhome_1 upg1.sid=oradb upg1.target_cdb=DB0606 upg1.target_pdb_name.oradb=PDB5 upg1.source_dblink.oradb=clone2 1800

    upg1.target_version=19 upg1.target_pdb_copy_option.oradb=file_name_convert=none upg1.start_time=+2h 22 Copyright © 2025, Oracle and/or its affiliates • target_cdb(オプション) • ソースDBが非CDB場合必須 • ターゲットCDBのSIDを指定 • target_pdb_name.xxx(オプション) • 作成するターゲットPDBの名前を指定 • xxxにはソースデータベース名を指定 • source_dblink.xxx(オプション) • 作成したデータベース・リンク名を指定 • xxxにはソースデータベース名を指定 • オプションでPDBのリフレッシュ間隔を指定(秒) • 秒数ではなくCLONE_ONLYと記載すると、 リフレッシュしないクローンとなる (ソースDBが12.1.0.2の場合に指定が必須)
  13. Configファイル解説 global.autoupg_log_dir=/home/oracle/AutoUpgradeLog global.keystore=/u01/app/oracle/cfgtoollogs/keystore upg1.source_home=/u01/app/oracle/product/12.2.0.1/dbhome_1 upg1.target_home=/u01/app/oracle/product/19.0.0.0/dbhome_1 upg1.sid=oradb upg1.target_cdb=DB0606 upg1.target_pdb_name.oradb=PDB5 upg1.source_dblink.oradb=clone2 1800

    upg1.target_version=19 upg1.target_pdb_copy_option.oradb=file_name_convert=none upg1.start_time=+2h 23 Copyright © 2025, Oracle and/or its affiliates • target_version(オプション) • ソースとターゲットでホストが異なる場合に必須 • ターゲットDBのバージョンを指定 • target_pdb_copy_option.xxx=file_name_convert (オプション) • 非CDBのデータベースをPDBに変換する場合や、 既存のPDBをターゲットCDBのPDBに変換する場合に使用 • xxxにはソースDBの名前を指定 • データ・ファイル名を変換することができる • start_time(オプション) • アップグレードを開始する時間を設定することができる • リフレッシュ可能クローンを実行する場合は、このパラメータで 指定するアップグレード時間までにリフレッシュを繰り返す
  14. ソースDBで事前チェックコマンドを実行 • -mode analyzeを指定して実行することで、ソースDBの事前チェックを行う 24 Copyright © 2025, Oracle and/or

    its affiliates [oracle@host-10-5-1-79 ~]$ java -jar autoupgrade.jar -mode analyze -config /home/oracle/noncdb1.cfg AutoUpgrade 25.1.250212 launched with default internal options Processing config file ... +--------------------------------+ | Starting AutoUpgrade execution | +--------------------------------+ 1 Non-CDB(s) will be analyzed Type 'help' to list console commands upg> Job 101 completed ------------------- Final Summary -------------------- Number of databases [ 1 ] Jobs finished [1] Jobs failed [0] Please check the summary report at: /home/oracle/AutoUpgradeLog/cfgtoollogs/upgrade/auto/status/status.html /home/oracle/AutoUpgradeLog/cfgtoollogs/upgrade/auto/status/status.log ソースDB
  15. ソースDBで事前チェックコマンドを実行 /home/oracle/AutoUpgradeLog/cfgtoollogs/upgrade/auto/status/status.html 25 Copyright © 2025, Oracle and/or its affiliates

    結果の確認 ※エラー:TARGET_CDB_AVAILABILITYとは ソースとターゲットが別ホスト上にある場合、ソースホストからター ゲットDBの分析ができないため、必ず発生する
  16. ターゲットDBでアップグレードコマンドを実行 • ソースDBで作成したConfigファイルをターゲットDBにコピーする • -mode deployを指定して実行 26 Copyright © 2025,

    Oracle and/or its affiliates [oracle@targetyama ~]$ java -jar autoupgrade.jar -config noncdb.cfg -mode deploy AutoUpgrade 25.1.250212 launched with default internal options Processing config file ... Loading AutoUpgrade keystore AutoUpgrade keystore was successfully loaded +--------------------------------+ | Starting AutoUpgrade execution | +--------------------------------+ 1 Non-CDB(s) will be processed Type 'help' to list console commands upg> Copying remote database 'ORCL' as ‘PDB1' for job 100 ターゲットDB
  17. リフレッシュの仕様について • コマンドを発行してから、指定したアップグレード開始時間までにリフレッシュを繰り返す 例: upg1.start_time= 2025/06/19 21:00:00 • リフレッシュ間隔はdblinkパラメータで指定 例:

    upg1.source_dblink.oradb=clone2 1800 • クローン終了後と、アップグレード開始前にはそれぞれ間隔に関係なく、リフレッシュが行われる • 実運用を想定すると業務停止後、最後の更新データをリフレッシュし、アップグレードや後処理がおこなれる時間がダウンタイムとなる 29 Copyright © 2025, Oracle and/or its affiliates 前処理 クローン リフレッシュ アップグレード 後処理 コマンド発行 start_time ダウンタイム
  18. 検証環境構成図 32 Copyright © 2025, Oracle and/or its affiliates 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.79 host-10-5-1-66 Tenancy 10.5.0.140 host-10-5-0-140 10.0.1.52 targetyama
  19. 検証結果 • ソースDB • 12.2.0.1.0 • Non-CDB • データ量 1TB

    • ターゲットDB • 19.27.0.0.0 • PDB • 実行条件 • シンプルなクローンで実施(リフレッシュなし) 33 Copyright © 2025, Oracle and/or its affiliates AutoUpgrade クローンによる1TBのデータベース移行とアップグレード 処理 時間 PREUPGRADE 0:00:00 DRAIN 0:00:03 CLONEPDB 0:47:46 DBUPGRADE 0:13:56 NONCDBTOPDB 0:02:38 POSTCHECKS 0:00:16 POSTFIXUPS 0:03:00 POSTUPGRADE 0:00:01 SYSUPDATES 0:00:00 合計 1:07:40 ※本検証における前提条件に基づく結果であり、その他の環境における実行結果を保証するものではありません。
  20. 検証結果 • ソースDB • 12.2.0.1.0 • Non-CDB • データ量 1TB

    + リフレッシュ前に10GBデータを追加 • ターゲットDB • 19.27.0.0.0 • PDB • 実行条件 • アップグレード時間を2時間後に設定(start_time=+2h) • 30分に一回リフレッシュを設定 (source_dblink.oradb=clonelink 1800 ) • リフレッシュ完了後にスケジュールを変更しアップグレード (- proceed コマンドを実行) 34 Copyright © 2025, Oracle and/or its affiliates AutoUpgrade リフレッシュ可能クローンによる1TB + 10GBのデータベース移行とアップグレード ※本検証における前提条件に基づく結果であり、その他の環境における実行結果を保証するものではありません。 処理 時間 PREUPGRADE 0:00:00 DRAIN 0:00:03 CLONEPDB 0:48:00 REFRESHPDB 0:41:11 DBUPGRADE 0:14:01 NONCDBTOPDB 0:02:38 POSTCHECKS 0:00:16 POSTFIXUPS 0:02:48 POSTUPGRADE 0:00:01 SYSUPDATES 0:00:00 合計 1:48:58 実際のリフレッシュ 時間は次ページ を参照
  21. 検証結果 • /home/oracle/AutoUpgradeLog5/oradb/100/clonepdb/refresh_pdb_pdb5.logを確認 • 一部抜粋したログ • 15:07にALTER PLUGGABLE DATABASE PDB5

    REFRESH;が実行されている • 実行時間は470秒 35 Copyright © 2025, Oracle and/or its affiliates 追加した10GBのリフレッシュ時間 ※本検証における前提条件に基づく結果であり、その他の環境における実行結果を保証するものではありません。 2025-06-13 15:07:04.155 INFO [0EFB06] Executing SQL [/* [0EFB06] */ALTER PLUGGABLE DATABASE PDB5 REFRESH;] in [DB0606, container:null] - SQLClient.run#101 2025-06-13 15:14:54.533 INFO [0EFB06] End - ExecuteSql.quickSQL#691 2025-06-13 15:14:54.533 INFO PDB PDB5 was refreshed, it took 470 seconds - DatabaseMigrationTask.refreshPDB#96 2025-06-13 15:14:54.536 INFO End - DatabaseMigrationTask.refreshPDB#103 前処理 クローン リフレッシュ アップグレード 後処理 ダウンタイム 8分 14分 6分 28分
  22. 検証結果 • ソース・データベースのシェイプ情報 • シェイプ:Compute VM.Standard.E4.Flex • OCPU:4 • ネットワーク帯域幅(Gbps):4

    • メモリー(GB):64 • Block volume:4.88TB 20VPU • CPU使用率 • user:(Avg.) 16.46% • user+sys(Avg.) 23.1% 36 Copyright © 2025, Oracle and/or its affiliates ソースDBの負荷情報 ※本検証における前提条件に基づく結果であり、その他の環境における実行結果を保証するものではありません。
  23. 検証結果 • メモリー使用率 • (Avg.) 99.16% • I/O Read Throughput

    kB/s , Read IOPS • (Avg.) 224154kB/s , (Avg.) 456.56 w/s 37 Copyright © 2025, Oracle and/or its affiliates ソースDBの負荷情報 ※本検証における前提条件に基づく結果であり、その他の環境における実行結果を保証するものではありません。
  24. 検証結果 • ターゲット・データベースのシェイプ情報 • シェイプ:BaseDB VM.Standard.E5.Flex • OCPU:4 • ネットワーク帯域幅(Gbps):4

    • メモリー(GB):64 • Total Storage Size:5320GB • エディション:Enterprise Edition High Performance • CPU使用率 • user:(Avg.) 12.18% • user+sys(Avg.) 16.03% 38 Copyright © 2025, Oracle and/or its affiliates ターゲットDBの負荷情報 ※本検証における前提条件に基づく結果であり、その他の環境における実行結果を保証するものではありません。
  25. 検証結果 • メモリー使用率 • (Avg.) 99.37% • I/O Write Throughput

    kB/s , Write IOPS • (Avg.) 191165kB/s , (Avg.) 227.24 w/s 39 Copyright © 2025, Oracle and/or its affiliates ターゲットDBの負荷情報 ※本検証における前提条件に基づく結果であり、その他の環境における実行結果を保証するものではありません。
  26. 検証結果まとめ 40 Copyright © 2025, Oracle and/or its affiliates AutoUpgradeを利用することで高速で簡単なアップグレードが可能

    ※本検証における前提条件に基づく結果であり、その他の環境における実行結果を保証するものではありません。 1TBデータベースの移行とアップグレードは1時間 追加した10GBのリフレッシュは8分 コマンドがシンプルで、設定ファイルを記載するだけで即実行 事前チェックやアップグレード後修正など付帯作業を自動実行 簡単 高速
  27. なぜAutoUpgradeを使うべきなのか 41 Copyright © 2025, Oracle and/or its affiliates •

    コマンド、SQLなどを調べる時間はほぼ必要なし • タイムゾーンアップグレード、ディクショナリ統計/固定オブジェクト統計の収集、 無効オブジェクトの再コンパイルなどをアップグレード後に自動実行 • フェーズごとにログファイルが分かれていて見やすい • エラーが起こっても調査が楽 • Oracle Supportに送るログの作成コマンドまでツールが教えてくれる 手動でのリフレッシュ可能クローンも比較的簡単 それでもAutoUpgradeを使う理由は? とにかくラクで簡単
  28. 参考資料 • Oracle Support Document 2485457.1 (AutoUpgrade Tool) https://support.oracle.com/epmos/faces/DocumentDisplay?id=2485457.1 •

    Oracle® Database データベース・アップグレード・ガイド - Oracle DatabaseアップグレードでのAutoUpgradeの使用 https://docs.oracle.com/cd/G11854_01/upgrd/using-autoupgrade-oracle-database-upgrades.html • How to Upgrade to Oracle Database 19c and Migrate to a PDB Using Refreshable Clone PDBs https://dohdatabase.com/2023/09/27/how-to-upgrade-to-oracle-database-19c-and-migrate-to-a-pdb-using-refreshable- clone-pdbs/ • AutoUpgrade New Features: Control Start Time When Using Refreshable Clone PDBs https://dohdatabase.com/2025/03/27/autoupgrade-new-features-control-start-time-when-using-refreshable-clone-pdbs/ • A Few Details about Using Refreshable Clone PDB for Non-CDB to PDB Migration https://dohdatabase.com/2024/08/28/a-few-details-about-using-refreshable-clone-pdb-for-non-cdb-to-pdb-migration/ 42 Copyright © 2025, Oracle and/or its affiliates