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

Oracle Database Technology Night #54 Oracle Databaseのアップグレードとクラウド移行実践 GoldenGateとReal Application Testingの活用

Oracle Database Technology Night #54 Oracle Databaseのアップグレードとクラウド移行実践 GoldenGateとReal Application Testingの活用

Oracle Databaseをアップグレードしたり、クラウド移行する際に頭を悩ますのがダウンタイムやアプリのテストです。
今回のTech Nightでは、Oracle Consulting Serviceのメンバーが中心となり、実プロジェクトでの経験を交えながらGoldenGateとReal Application Testingを活用してそれらの悩みを解決する方法を、その効果やTipsと共にご紹介します。

oracle4engineer
PRO

March 29, 2022
Tweet

More Decks by oracle4engineer

Other Decks in Technology

Transcript

  1. Oracle Technology Night #54
    Oracle Databaseのアップグレードとクラウド移行実践
    GoldenGateとReal Application Testingの活用
    日本オラクル株式会社
    2022年3月24日

    View Slide

  2. 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明する
    ものです。また、情報提供を唯一の目的とするものであり、いかなる契約に
    も組み込むことはできません。以下の事項は、マテリアルやコード、機能を提
    供することを確約するものではないため、購買決定を行う際の判断材料に
    なさらないで下さい。
    オラクル製品に関して記載されている機能の開発、リリース、時期及び価
    格については、弊社の裁量により決定され、変更される可能性があります。
    Safe harbor statement
    2 Copyright © 2022, Oracle and/or its affiliates

    View Slide

  3. GoldenGate と OCI GoldenGate
    OCI GoldenGate を理解する
    3 Copyright © 2022, Oracle and/or its affiliates

    View Slide

  4. Copyright © 2021, Oracle and/or its affiliates
    4
    Business
    Continuity
    99.999% Data Availability
    No Downtime Migrations
    GoldenGate
    Data requirements for mission-critical, cloud & multi-cloud
    Timely
    Insights
    Stream Analytics
    Real-time Data Warehouse,
    Data Lake, Data Lakehouse
    Continuous
    Integration
    Ground to Cloud to Multi-cloud
    Event-based Data Integration
    GoldenGate はリアルタイムデータ連携を実現するテクノロジー
    マルチ・クラウド環境においても最適なデータ連携を提供可能な基盤

    View Slide

  5. OCI GoldenGate - フルマネージド型の違い
    5 Copyright © 2021, Oracle and/or its affiliates
    OCI GoldenGate GG OCI Marketplace GoldenGate
    Solution Management
    GoldenGate 環境の作成・管理 < ----------------- 顧客側管理 ----------------- >
    Platform Services
    Oracle Cloud Automations
    Oracle
    マネージド
    未提供 未提供
    自動スケーリング (最大3倍)
    OCIモニタリング/サービス・テレメトリー
    分単位での計測・課金
    Control Plane/Data PlaneのREST API管理
    顧客側管理 顧客側管理
    DRおよびバックアップ/リストア
    アップグレードとパッチ適用(*)
    Private Endpoints と Secure Vault
    自律型DBとのウォレットの統合
    OS管理
    Infrastructure Management
    仮想化とTerraformのスタックオートメーション
    Oracle提供 Oracle提供 顧客側提供
    インストール / 高速プロビジョニング
    サーバー管理
    Storage and Durability Guarantees
    Core Networking
    (*)2021年10月時点、アップグレードが利用可能になってから手動で適用する方式とな
    ります。自動でのアップグレードは今後提供を計画しています。

    View Slide

  6. • 構成の違いを理解する
    • OCI GoldenGate は v21.3 Microservice Architecture (以下MA) で提供される
    • MA は REST ベースで実装されており、従来の Classic Architecture とは操作や実装が異なる
    • 抽出プロセス(Extract) や 適用プロセス(Replicat)およびTrail ファイルについては従来からの技術を継承している
    OCI GoldenGate の技術的な理解
    Copyright © 2022, Oracle and/or its affiliates
    6
    Server
    Process
    従来提供されてきた、
    【Classic Architecture】
    Source Target
    TCP/IP
    Server
    Process
    Trail File Trail File
    Manager Manager

    View Slide

  7. • 構成の違いを理解する
    • 以下の図は OCI GoldenGateではなく、一般的な MA構成例である
    • 抽出プロセス(Extract) や 適用プロセス(Replicat)およびTrail ファイルについては従来からの技術を継承している
    • ブラウザからの操作で環境構築、レプリケーション操作・管理が可能になる
    OCI GoldenGate の技術的な理解
    Copyright © 2022, Oracle and/or its affiliates
    7
    【Microservices Architecture】
    Source Target
    Distribution Receiver
    Service
    Manager
    Service
    Manager
    Administration
    Server
    Administration
    Server
    REST
    Trail File Trail File

    View Slide

  8. • 構成の違いを理解する
    • OCI GoldenGate および、GG OCI Marketplace では GG HUB構成となる
    OCI GoldenGate の技術的な理解
    Copyright © 2022, Oracle and/or its affiliates
    8
    Source Target
    Trail File
    remote
    capture
    remote
    delivery
    (replicat)
    Deployment
    Service
    Manager
    Administration
    Server
    実装・管理・制御
    Distribution /Receiver
    (必要に応じて実装する)
    現時点では、以下に注意
    -> コマンドラインI/F(AdminClient) を持たない
    -> デプロイメント(実行環境コンテナ)やTrail Fileの維持・管理が少し違う
    -> Exadata [email protected] は未サポート
    -> 管理系の実装が異なる
    https://docs.oracle.com/en-us/iaas/releasenotes/services/goldengate/

    View Slide

  9. OCI GoldenGate の理解 ~ 自動スケーリング
    • Autonomous Database同様、ベースサイズを選択
    し自動スケーリングをONにすると、最大3倍までの自
    動スケーリングが可能
    • 自動スケーリングは最大24OCPU
    • スケーリングはダウンタイムなくオンラインで実行され、1
    時間あたりに消費されたOCPUの実平均が課金対象
    (例:3OCPUでAuto ScalingをONにすると最大9OCPUとなり、1
    時間あたりの平均消費OCPUが60%であれば6OCPU分が課金され
    ます)
    9 Copyright © 2022, Oracle and/or its affiliates
    0
    4
    8
    12
    Dynamic Auto-Scale
    自動的に3倍までスケールアップ
    ゼロダウンタイムでのスケーリング
    OCI GoldenGate
    CPU Usage
    ワークロードの時間経過
    利用実態に応じた課金のため、小規模ではじめても大規模トランザクションに対応可能

    View Slide

  10. 2021年3月時点
    OCI GoldenGate 価格(日本円)
    Copyright © 2022, Oracle and/or its affiliates
    10
    Pay as
    You Go
    Annual
    Flex
    Metric Metric Minimum
    Oracle Cloud Infrastructure - GoldenGate ¥161.292 ¥161.292 OCPU Per Hour -
    Oracle Cloud Infrastructure - GoldenGate - BYOL ¥38.71 ¥38.71 OCPU Per Hour -
    【補足】
    • 金額は1$=120円換算の日本円表記です
    • BYOLの換算率については、Oracle PaaS and IaaS Universal Credits Service Descriptions を御確認下さい
    https://www.oracle.com/us/corporate/contracts/paas-iaas-universal-credits-3940775.pdf

    View Slide

  11. GoldenGate 案件におけるオブジェクトのアセスメント工程について
    GoldenGate 案件で Database の把握は重要
    1. データ型やファンクションの制約を知る
    サポート対象の理解
    https://docs.oracle.com/cd/F51462_01/oracle-db/1-understanding-whats-supported.html#GUID-702F5D2B-58AB-4F08-9E20-50B95661B98B
    2. サポートされるデータ型、されないデータ型 (DBA_GOLDNEGATE_SUPPORT_MODE : R11.2.0.4 以降 )
    3. サポートされるDDL、されないDDLなどのチェック
    4. 移行やデータ連携の要件(サービス停止時間の有無、単方向・双方向、変換有無など)
    上記を含むGoldenGate連携における難易度把握や要件整理工程は必須Tips
    11 Copyright © 2022, Oracle and/or its affiliates

    View Slide

  12. 参考資料 : Cloud Premigration Advisor Tool(CPAT)を活用しよう
    12 Copyright © 2022, Oracle and/or its affiliates
    https://oracle-japan.github.io/ocitutorials/database/adb302-cpat/
    Cloud Premigration Advisor Tool (CPAT) Analyzes Databases for Suitability of Cloud Migration (ドキュメントID 2758371.1)
    コマンドの例
    ./premigration.sh -connectstring
    jdbc:oracle:thin:@xxxx.xx.xxxx.com:1521:orcl -u sys
    --targetcloud Default --sysdba
    --migrationmethod GOLDENGATE
    -r text (or json)

    View Slide

  13. DDL伝播
    あり
    なし
    GoldenGate 案件で Database の把握は重要
    要件の明確化と難易度の見極め
    13 Copyright © 2022, Oracle and/or its affiliates
    連携パターン
    Oracle-Oracle
    (On-P, OCI に関わらず)
    Oracle-Oracle
    (他社Cloudが絡む場合)
    Non-Oracle
    (Oracle以外のRDBMSがある)
    RDBMS以外
    (Big Data などが絡む場合)
    移行か常時連携か
    移行案件
    常時連携
    変換の有無
    表構造はそのまま
    表構造が変わる
    連携対象数
    1:1
    1:n や n:1
    連携方向
    単方向
    双方向
    CDR(競合)
    競合なし
    競合あり
    難易度(高)
    難易度(低)
    常時連携の要件は?
    DR(RPO,RTO)
    Zero Downtimeメンテナンス対応
    他(BCPに必須なデータのみの連携など)
    ※ For Big Data 以外
    シンプルな移行案件のパターン

    View Slide

  14. Oracle Databaseのアップグレードとクラウド移行実践
    GoldenGateとReal Application Testingの活用
    クラウド移行でGoldenGateを活用する場合の構成事例とTips
    Oracle Database Technology Night #54
    日本オラクル株式会社
    コンサルティングサービス事業統括
    テクノロジーコンサルティング事業本部
    浅井 純
    2022年3月24日

    View Slide

  15. GoldenGateの構成例について
    15 Copyright © 2022, Oracle and/or its affiliates. All rights reserved.

    View Slide

  16. On-premise から Cloud への移行にも利用できます
    『移行時のダウンタイムを短くしたい』と要件がある場合、GoldenGateは検討すべき移行方式のひとつです。
    移行当日に行う作業を大幅に削減できるため、移行当日の手戻り等のリスクを低減することができます。
    逆伝播を構成することで、切り戻しを見越した構成をとることも可能です。
    16
    現行システム 新システム 現行システム 新システム 旧システム 新システム
    Application Application Application
    1) システム移行前 2) システム切替当日 3) システム移行後
    現行システムによるサービス提供 新システムによるサービス提供
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.

    View Slide

  17. GoldenGateの構成例(①一般的な構成)
    17
    On-Premise DC
    Source
    DB
    GoldenGate
    Trail
    File
    OCI Tokyo Region
    REDO
    ソースDBサーバ
    Target
    DB
    GoldenGate
    Trail
    File
    ターゲットDBサーバ
    • ソース、ターゲットの各DBサーバにGoldenGateをインストール
    • ソースDBサーバ上にCapture、ターゲットDBサーバ上にReplicatを構成
    【対応可能製品/アーキテクチャ】
    GoldenGate Classic Architecture / GoldenGate Microservices Architecture
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    ※ 以下は構成イメージであり、記載されていないコンポーネントもあります。

    View Slide

  18. GoldenGateの構成例(②外部アクセス構成)
    18
    On-Premise DC
    Source
    DB
    OCI Tokyo Region
    REDO
    ソースDBサーバ
    Target
    DB
    GoldenGate
    Trail
    File
    ターゲットDBサーバ
    • 中間サーバにGoldenGateとOracle Database Clientをインストール
    • 中間サーバにCapture/Replicatを構成して、ソースDBとターゲットDBにはリモートアクセスを行う
    【対応可能製品/アーキテクチャ】
    GoldenGate Classic Architecture / GoldenGate Microservices Architecture /
    OCI GoldenGate Microservices Architecture
    中間サーバ
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    ※ 以下は構成イメージであり、記載されていないコンポーネントもあります。

    View Slide

  19. GoldenGateの構成例(③ダウンストリーム構成 - 中間サーバなし)
    19
    • マイニングDBサーバを別途用意し、Oracle Databaseを構築する
    • マイニングDBサーバ上にCapture、ターゲットDBサーバ上にReplicatを構成
    【対応可能製品/アーキテクチャ】
    GoldenGate Classic Architecture / GoldenGate Microservices Architecture
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    On-Premise DC
    Source
    DB
    OCI Tokyo Region
    REDO
    ソースDBサーバ
    Target
    DB
    GoldenGate
    Trail
    File
    ターゲットDBサーバ
    Mining
    DB
    REDO
    マイニングDBサーバ
    GoldenGate
    Trail
    File
    ※ 以下は構成イメージであり、記載されていないコンポーネントもあります。

    View Slide

  20. GoldenGateの構成例(③ダウンストリーム構成 - 中間サーバあり)
    20
    • マイニングDBサーバを別途用意し、Oracle Databaseを構築する
    • 中間サーバにCapture/Replicatを構成して、マイニングDBとターゲットDBにはリモートアクセスを行う
    【対応可能製品/アーキテクチャ】
    GoldenGate Classic Architecture / GoldenGate Microservices Architecture /
    OCI GoldenGate Microservices Architecture
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    On-Premise DC
    Source
    DB
    OCI Tokyo Region
    REDO
    ソースDBサーバ
    Target
    DB
    GoldenGate
    Trail
    File
    ターゲットDBサーバ
    中間サーバ
    Mining
    DB
    REDO
    マイニングDBサーバ
    ※ 以下は構成イメージであり、記載されていないコンポーネントもあります。

    View Slide

  21. GoldenGate と OCI GoldenGate どちらを利用するか?
    OCI GoldenGate は移行元のDBバージョンによっては利用できない場合がある。
    移行元のソース側は GoldenGate、移行先のターゲット側は OCI GoldenGate といった構成も可能。
    • OCI GoldenGateのバージョンは現在『21c』、アーキテクチャは『Microservice Architecture』
    ✓ GoldenGate 21c で CertifyされているOracle Databaseのバージョンは、11.2.0.4, 12.1.0.2, 19c, 21c
    Certification Matrixにて対応を確認可能( https://www.oracle.com/middleware/technologies/fusion-certification.html )
    OS情報(種類/バージョン/ビット数)、DB情報(バージョン)から対応を確認する
    ✓ Oracle Database 11.2.0.4でMicroservices Architectureを利用する場合、必須パッチが存在
    参考: Oracle GoldenGate -- Oracle RDBMS Server Recommended Patches (Doc ID 1557031.1)
    参考: Latest GoldenGate/Database (OGG/RDBMS) Patch recommendations (Doc ID 2193391.1)
    21 Copyright © 2022, Oracle and/or its affiliates. All rights reserved.

    View Slide

  22. GoldenGate導入時の影響について
    22 Copyright © 2022, Oracle and/or its affiliates. All rights reserved.

    View Slide

  23. 各構成例の影響比較(サマリ)
    23
    • 現行DBサーバ(ソースDBサーバ)へのリソース影響やデータ伝播性能、構成の複雑性を考慮し、GoldenGateの
    構成を検討する
    • 統合キャプチャ利用前提での比較(GoldenGate18c(18.1.0)以上のリリースでクラシック・キャプチャは非推奨)
    構成パターン ソースDBサーバ
    OSリソース影響
    ソースDBサーバ
    DBリソース影響
    構成複雑度 データ伝播性能
    ①一般的な構成 大 大 小 小
    ②外部アクセス構成 中 大 中 大
    ③ダウンストリーム構成 小 小 大 中
    【凡例】
    大/中/小:各評価項目内(縦軸)を比較した相対評価です
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.

    View Slide

  24. 各構成例の影響比較(1/2)
    24
    • 現行DBサーバ(ソースDBサーバ)へのリソース影響やデータ伝播性能、構成の複雑性を考慮し、GoldenGateの
    構成を検討する
    • 統合キャプチャ利用前提での比較(GoldenGate18c(18.1.0)以上のリリースでクラシック・キャプチャは非推奨)
    構成パターン ソースDBサーバOSリソース影響 ソースDBサーバDBリソース影響
    ①一般的な構成

    • インストールファイル、Trailファイルを保持するディ
    スク領域の考慮
    • プロセスによるメモリ、CPU、I/Oへの考慮

    • 統合キャプチャ実行用のStreamsプールの確保
    • REDOログをマイニングするためのバックグラウンド
    プロセスが稼働
    ②外部アクセス構成

    • ①と比べてメモリ/CPUへの影響は小さい
    • I/Oは中間サーバからのREDO読込み
    • ディスク領域の考慮は不要

    • 統合キャプチャ実行用のStreamsプールの確保
    • REDOログをマイニングするためのバックグラウンド
    プロセスが稼働
    ③ダウンストリーム構成

    • ①と比べてメモリ/CPUへの影響は小さい
    • I/OはマイニングDBへのREDO転送
    • ディスク領域の考慮は不要

    • 統合キャプチャ実行用のStreamsプールはマイニ
    ングDBで確保
    • REDOログをマイニングするためのバックグラウンド
    プロセスはマイニングDBで稼働
    【凡例】
    大/中/小:各評価項目内(縦軸)を比較した相対評価です
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.

    View Slide

  25. 各構成例の影響比較(2/2)
    25
    • 現行DBサーバ(ソースDBサーバ)へのリソース影響やデータ伝播性能、構成の複雑性を考慮し、GoldenGateの
    構成を検討する
    • 統合キャプチャ利用前提での比較(GoldenGate18c(18.1.0)以上のリリースでクラシック・キャプチャは非推奨)
    構成パターン 構成複雑度 データ伝播性能
    ①一般的な構成

    • ソースDBとターゲットDBのみで構成できる

    • GoldenGateがDBサーバ上で構成されるため、
    伝播性能は高い
    ②外部アクセス構成

    • 中間サーバが必要
    • Oracle Database Clientによる接続設定が必


    • Oracle Netによるアクセスはネットワーク帯域に
    依存
    • 全てのREDOログ情報を中間サーバに持っていく
    必要がある
    ③ダウンストリーム構成

    • マイニングDBへのREDOログ転送設定が必要

    • REDOログ転送はネットワーク帯域に依存
    • 全てのREDOログ情報をマイニングDBサーバに
    持っていく必要がある
    【凡例】
    大/中/小:各評価項目内(縦軸)を比較した相対評価です
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.

    View Slide

  26. GoldenGate 利用にあたってのOracle Databaseへの設定項目(1/2)
    1. アーカイブログモードの設定(ソースDBのみ)
    • CaptureプロセスがREDOログ情報を参照するための必須の設定
    • 設定変更時にはDB再起動が必要
    2. 各種ロギングの設定(ソースDBのみ)
    • 強制ロギング(force logging)の設定【alter database文で設定】
    ✓NOLOGGING処理も含め、全てのトランザクションをキャプチャする目的で、GoldenGateでは設定を強く推奨
    • 最小サプリメンタルロギングの設定【alter database文で設定】
    ✓GoldenGateにおいて必須の設定
    ✓トランザクション発生中に設定した場合にハングする事象が確認されているため、MOUNT状態での実施を検討する
    参考: ALTER DATABASE ADD/DROP SUPPLEMENTAL LOG DATA 文の実行がハングする(KROWN:160831) (Doc ID 1763279.1)
    ✓設定時に共有プールのフラッシュが行われるため、SQLの再解析により実行計画変動の可能性
    参考: サプリメンタル・ロギングについて(KROWN:34739) (Doc ID 1711572.1)
    • 表単位/スキーマ単位のサプリメンタルロギングの設定【ggsciコマンドで設定】
    ✓伝播に必要な列(主キーや一意キー、GoldenGateで定義した代替キー)の論理的な値の情報がREDOに出力される
    ✓設定によりREDO生成量は増加するが、増量は10%未満であることがほとんど。主キーなし表がある場合は増分傾向が大きい
    26 Copyright © 2022, Oracle and/or its affiliates. All rights reserved.

    View Slide

  27. GoldenGate 利用にあたってのOracle Databaseへの設定項目(2/2)
    3. 推奨DBパッチの適用(ソースDB,マイニングDB,ターゲットDB)
    • データベースに対するパッチを確認し、必要に応じて適用する
    ✓基本的な考えとして、最新のDBBP/RU+Merge Patch の適用が推奨される
    ✓OCI GoldenGateをDB11.2で利用する場合は、Microservices Architectureを利用するための必須パッチが存在
    参考: Oracle GoldenGate -- Oracle RDBMS Server Recommended Patches (Doc ID 1557031.1)
    参考: Latest GoldenGate/Database (OGG/RDBMS) Patch recommendations (Doc ID 2193391.1)
    4. enable_goldengate_replication初期化パラメータの変更(ソースDB,マイニングDB,ターゲットDB)
    • 11.2.0.4/12.1.0.2以降のDBバージョンでは、enableへの変更が必須
    5. GoldenGate用DBユーザの作成(ソースDB,マイニングDB,ターゲットDB)
    • 専用のDBユーザを準備し、要件に応じた適切な権限付与を行う
    6. Streamsプールの確保(ソースDB or マイニングDB,ターゲットDB)
    • ダウンストリーム構成の場合、マイニングDBでStreamsプールを確保できればよい
    27 Copyright © 2022, Oracle and/or its affiliates. All rights reserved.

    View Slide

  28. クラウド移行案件におけるGoldenGate構成事例
    について
    28 Copyright © 2022, Oracle and/or its affiliates. All rights reserved.

    View Slide

  29. クラウド移行案件におけるGoldenGate構成事例①
    29
    Source DB Target DB 使用製品 GoldenGate構成
    Exadata
    Oracle 11.2.0.4
    ExaCS
    Oracle 19c
    現行: GoldenGate CA 12.2, 19.1
    新: GoldenGate CA 19.1
    一般的な構成
    逆伝播(ターゲット):外部アクセス構成
    OCI Osaka Region
    ExaCS
    On-Premise DC
    Primary
    11.2.0.4
    Linux 5.x
    中間サーバ(Linux 7.x)
    GG
    12.2
    GG
    19.1
    GG
    19.1
    Trail
    File
    New
    Primary
    19c
    OCI Tokyo Region
    ExaCS
    New
    Standby
    19c
    DG
    Standby
    11.2.0.4
    DG
    順伝播
    逆伝播
    29
    ※ CA: Classic Architecture
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.

    View Slide

  30. クラウド移行案件におけるGoldenGate構成事例①
    30
    Source DB Target DB 使用製品 GoldenGate構成
    Exadata
    Oracle 11.2.0.4
    ExaCS
    Oracle 19c
    現行: GoldenGate CA 12.2, 19.1
    新: GoldenGate CA 19.1
    一般的な構成
    逆伝播(ターゲット):外部アクセス構成
    OCI Osaka Region
    ExaCS
    On-Premise DC
    Primary
    11.2.0.4
    Linux 5.x
    中間サーバ(Linux 7.x)
    GG
    12.2
    GG
    19.1
    GG
    19.1
    Trail
    File
    ソース・ターゲットで
    GGバージョンが異なる
    逆伝播構成での
    GGバージョン
    New
    Primary
    19c
    OCI Tokyo Region
    ExaCS
    New
    Standby
    19c
    DG
    Standby
    11.2.0.4
    DG
    順伝播
    逆伝播
    30
    ※ CA: Classic Architecture
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    ソースDBサーバのOSとDBの
    組合せでCertifyされるGG
    バージョンを選択
    〇:GG12.2→GG19c
    ×:GG19c→GG12.2

    View Slide

  31. 31
    On-Premise DC OCI Tokyo Region
    クラウド移行案件におけるGoldenGate構成事例②
    ADG
    Primary
    12.2.0.1
    Standby
    12.2.0.1 ADG
    Standby
    12.2.0.1
    Mining
    12.2.0.1
    REDO転送
    (Archのみモード)
    GoldenGate
    Standby
    12.2.0.1
    ExaCS
    ADG
    Upgrade
    to 19c
    New
    Primary
    19c
    Source DB Target DB 使用製品 GoldenGate構成
    Exadata
    Oracle 12.2.0.1
    ExaCS
    Oracle 19c
    GoldenGate CA 19.1 ダウンストリーム構成
    (中間サーバなし)
    ※ CA: Classic Architecture
    31 Copyright © 2022, Oracle and/or its affiliates. All rights reserved.

    View Slide

  32. 32
    On-Premise DC OCI Tokyo Region
    クラウド移行案件におけるGoldenGate構成事例②
    ADG
    Primary
    12.2.0.1
    Standby
    12.2.0.1 ADG
    Standby
    12.2.0.1
    Mining
    12.2.0.1
    REDO転送
    (Archのみモード)
    GoldenGate
    Standby
    12.2.0.1
    ExaCS
    ADG
    Upgrade
    to 19c
    マイニングDBをOCI上に
    構成
    DGカスケード構成の活用
    New
    Primary
    19c
    Source DB Target DB 使用製品 GoldenGate構成
    Exadata
    Oracle 12.2.0.1
    ExaCS
    Oracle 19c
    GoldenGate CA 19.1 ダウンストリーム構成
    (中間サーバなし)
    ※ CA: Classic Architecture
    32 Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    クラウド上にマイニングDBを
    構成するとリソースチューニン
    グがしやすい
    オンプレミス側の設定変更を
    軽減するため、クラウド側に
    スタンバイDBを構成
    初期データ移行はカスケード
    先のスタンバイDBから
    Upgradeする方式

    View Slide

  33. OCI Tokyo Region
    ExaCS
    クラウド移行案件におけるGoldenGate構成事例③
    33
    On-Premise DC
    DG
    Primary
    11.2.0.4
    Standby
    11.2.0.4
    Mining
    19c
    REDO転送
    (Archのみモード)
    OCI GoldenGate
    New
    Primary
    19c
    OCI GoldenGate
    Source DB Target DB 使用製品 GoldenGate構成
    Oracle 11.2.0.4 ExaCS
    Oracle 19c
    OCI GoldenGate MA 21c ダウンストリーム構成
    (中間サーバあり)
    ※ MA: Microservices Architecture
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.

    View Slide

  34. OCI Tokyo Region
    ExaCS
    クラウド移行案件におけるGoldenGate構成事例③
    34
    On-Premise DC
    DG
    Primary
    11.2.0.4
    Standby
    11.2.0.4
    Mining
    19c
    REDO転送
    (Archのみモード)
    OCI GoldenGate
    New
    Primary
    19c
    OCI GoldenGate
    パッチ適用影響の軽減
    REDO転送モード
    の検討
    Source DB Target DB 使用製品 GoldenGate構成
    Oracle 11.2.0.4 ExaCS
    Oracle 19c
    OCI GoldenGate MA 21c ダウンストリーム構成
    (中間サーバあり)
    ※ MA: Microservices Architecture
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    11.2.0.4の場合、MA用DBパッチ適用が必要
    マイニングDBをクラウド側に19cで構築することで
    パッチ適用は不要に
    アーカイブREDOログのみをキャプチャするモードの
    伝播性能 vs パッチ適用影響のトレードオフ

    View Slide

  35. 日本オラクル株式会社
    テクノロジーコンサルティング事業本部
    Platform Solution本部
    大森慎司
    2022/3
    Oracle Databaseのアップグレードとクラウド移行実践
    ~アップグレード案件における
    Real Application Testing活用パターン事例~
    Oracle Database Technology Night #54

    View Slide

  36. 36
    以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一
    の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルや
    コード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判
    断材料になさらないで下さい。
    オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により
    決定されます。
    OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商
    標です。
    文中の社名、商品名等は各社の商標または登録商標である場合があります。
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.

    View Slide

  37. 37
    [経歴] SIerでアプリエンジニア->DBA -> オラクルコンサル
    • オラクル歴 約 10年半 (DB関連案件~Cloud関連案件を担当)
    日本オラクル Web記事掲載
    実践データベース性能テストの極意:Oracle Real Application Testingを使ってみよう
    https://www.oracle.com/jp/technical-resources/article/first/real-application-testing.html
    『書籍: Oracleの現場を効率化する100の技』共著
    • 第5章システムテストのTips などを担当
    自己紹介:大森 慎司(おおもり しんじ)
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.

    View Slide

  38. 38
    1. 19c UpgradeとRAT概要
    2. RAT(SPA)活用パターン事例
    3. SPA実行効果の実例
    4. 案件事例Tips
    アジェンダ
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.

    View Slide

  39. 39 Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    19c UpgradeとRAT概要

    View Slide

  40. 40 Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    ⇒ 今、19cへの移行案件が増えています
    Oracle Databaseサポート・ライフサイクル
    2009
    2010
    2011
    2012
    2013
    2014
    2015
    2016
    2017
    2018
    2019
    2020
    2021
    2022
    2023
    2024
    2025
    2026
    2027
    EXTENDED
    2027/4まで
    18c (12.2.0.2相当)
    従来 12.2.0.2として計画されていたリリースはRelease 18となります。また、12.2.0.3として計画されていたリリースはRelease 19となりま
    す。Release 18, 19は12.2のライフタイムサポートポリシーの範囲でサポート期間が定められます。Oracle Database 19cが12.2の最終リ
    リースになります。各リリースにおいて最終リリースを適用いただく事でのExtended Supportの適用が可能となります。
    11.2.0.4 EXTENDED
    12.1.0.2
    Paid Extended Support
    Premier Waived Extended Support fee
    12.2.0.1
    Oracle 19Or
    Oracle 19
    12.2ファミリー
    最終リリース
    各サポートレベルでの提供内容*
    Premier Support :
    24x365日の技術問い合わせ、不具合修正とパッチ提供、
    セキュリティ・アラートおよび修正、OS等の新規認証
    Extended Support:
    24x365日の技術問い合わせ、不具合修正とパッチ提供、
    セキュリティ・アラートおよび修正
    Sustaining Support:
    24x365日の技術問い合わせ、作成済のパッチ提供
    *詳細は Oracle Software テクニカル・サポート・ポリシー参照
    12.2 ファミリー
    MOS Note#742060.1 参照
    Market Driven Support
    LIMITED
    ERROR
    CORRECTION
    Limited Error Correction
    EXTENDED
    19c (12.2.0.3相当) 2024/4まで
    MARKET
    DRIVEN
    SUPPORT

    View Slide

  41. 41
    Upgradeのテストに大きな工数をかけるのは難しい
    DBアップグレード時のテスト範囲
    Upgrade時のテストパターン(事例)
    1. ほとんどやらない
    ➢ 本番稼働後に、性能トラブル多発し、「そんな影響あるとは知らなかった」というケースもあり
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    2. バッチ処理のみテスト(バッチウィンドウに収まること)
    ➢ 性能劣化しそう/したときに影響が大きい処理=負荷の高い処理(SQL) =バッチ
    ➢ それ以外で性能トラブルが発生した場合は、そのとき対処
    3. バッチ処理+オンライン処理抜粋(※)してテスト
    (※)主要/重要な処理 、性能懸念の処理などから選定
    ➢ オンライン処理の中でも「検索/レポート出力処理」など、重そうな処理を見繕ってテスト
    ➢ 検索条件など、動的にSQL生成されるものはパターン網羅性に課題あり

    View Slide

  42. 42
    Real Application Testing(RAT)とは?
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    Oracle Real Application Testing(以下RAT) は、主にUpgradeなどのシステム
    変更時に使用できる、高品質かつ低作業コストでテストするためのEEオプションです。
    Real Application Testing
    SQL Performance Analyzer (SPA)
    ⚫ SQL単体テスト(性能/非互換検出)
    ⚫ システム変更前後でのSQLの実行計画やパフォー
    マンスの比較レポートを生成
    Database Replay
    ⚫ システムテスト
    ⚫ 本番環境のトランザクションを記録(キャプチャ)し、テスト環
    境で再現(リプレイ)、比較レポートを生成

    【RATメリット】:テスト大幅効率化(テスト工数削減)、テスト期間短縮
    実行計画や単体性能、SQL
    互換性(エラー有無)のチェックに
    スループットのチェック、
    リソース使用量のチェックに

    View Slide

  43. 43
    RATのユースケース
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    • アップグレード時のSQL互換性やSQL性能影響をチェック
    – SPAを使用し、数万本のSQLからエラーの発生するSQLを発見
    – SPAを使用し、数万本のSQLから性能劣化するSQLを発見
    • 定期パッチ適用/メンテナンスによる安定運用
    – SPA/DB Replayにより、定期パッチの適用や環境設定変更に必要なテストを
    ルーティン化
    • H/W移行にともなう性能影響の調査
    – DB Replayにより、新しいH/Wでのリソース使用量の調査や新たなボトルネックの調査

    View Slide

  44. 44
    SPA選定理由
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    • SQLの網羅的なテストができる(オンラインの動的SQL等)
    • SQL非互換の観点での評価が容易にできる
    • OCI DBSystemではRATオプションライセンスも不要
    (EEのみで使用可、 Diagnostics/Tuning Packも同様)

    View Slide

  45. 45
    SPA実施/評価の流れ
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    実行計画が変化したSQL数 実行計画が変化しないSQL数
    性能が劣化した
    SQL数
    性能が変わらないSQL数
    性能が向上するSQL数
    テスト対象のSQL数
    実行計画の比較
    (EXPLAIN PLAN)
    性能比較
    (EXECUTE)
    チューニング対象
    • 問題となるSQLの絞り込み
    – テスト対象のSQLの実行計画の比較⇒実行計画が変化したSQLの性能比較⇒性能が低下するSQLのチューニ
    ングを実行
    – 取得したSTSをフィルタし、再利用してテストすることで、テスト準備にかかる時間、コストを抑え効率的にテストを実









    View Slide

  46. 46
    SPA技術詳細について
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    • SPAの技術詳細や、実施手順の詳細説明、および比較レポートイメージ/見方などは、
    今回は内容として割愛します。
    下記の過去Technology Nightの資料をご参照ください。
    [2020/4/9(木)開催]
    Oracle Database Technology Night #35「データベース・アップグレード成功のために知っておきたいこと」
    – データベースアップグレードに有効 Real Application Testing再入門(PDF)

    View Slide

  47. 47 Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    RAT(SPA)活用パターン事例
    1. Exadataリプレイス(SQL非互換テスト)
    2. DBCS 移行
    3. ExaCS 移行 using DataGuard

    View Slide

  48. 48
    1. Exadataリプレイス(SQL非互換テスト)
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    Exadata X8M
    Exadata X5
    現行基盤 新基盤
    STS
    DBCS
    ORACLE CLOUD INFRASTRUCTURE (TOKYO REGION)
    実行計画比較 ①SQL非互換評価を目的として
    Oracle Cloud(DBCS)を利用してテスト
    + 12c/19c環境を迅速に作成できる
    + OnPの構築スケジュールと独立した評価が可能
    ②実行計画変動のある
    SQLに対して、
    OnP Exadata(新基盤)
    を利用してテスト
    + 実データを利用して性能
    評価を実施可能

    ➢ ExadataのOnP移行(X5->X8Mリプレイス)
    ➢ OCI環境を使ってSQLバージョン非互換/実行計画変動の評価を実施

    メリット:新Exadata機器導入までの期間を有効に使ってスピーディに環境構築し、テストが可能。
    データを持って行かずに実施するため、よりライトに実施可能。短期間の使用のため、Cloud費用はかなり低価格に収めら
    れる。(本案件はDBCSではあるが)ExaCSを使ったテストもコストを抑えて実施可能。
    STS

    View Slide

  49. 49
    2. DBCS 移行
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    ➢ 本番環境が11gR2 OCI DBCSで運用していたものを19c DBCSに移行
    ➢ Cloud UI機能を利用してテスト環境を作成しSQL単体性能テストをRAT(SPA)で実施
    Object
    Storage
    スタンドアロン
    バックアップ
    RATテスト用
    Database(11.
    2)
    DB
    本番
    Database(11.
    2)
    DB RATテスト用
    Database(19c)
    DB Upgrade
    メリット:本番データを使って、SQL性能テスト(SPA)を実施。
    SQL性能テスト時も、SPAでは本番相当のCPUを用意する必要もないため、コストは抑えられる。
    DBCS環境ではバックアップからのDB複製がGUI操作で容易にできるため、
    DBCS環境で本番稼働している場合はRATテスト環境の構築も、より簡単に実施可能

    View Slide

  50. 50
    3. ExaCS 移行 using DataGuard
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    ➢ 本番環境をOnP Exadataで運用していたものをOCI ExaCS(19c)に移行
    ➢ DataGuard機能/Cloud UI機能を使って、OnP->OCIにデータ移行/アップグレードを実施
    12.2.0.1
    OnPデータセンター
    19c
    Tokyoリージョン
    12.2.0.1
    Active
    DataGuard
    Upgrade
    (Cloud UI)
    12.2.0.1
    Active
    DataGuard
    12.2.0.1
    12.2.0.1 Active
    DataGuard
    Active
    DataGuard DG切離し現行Verテスト
    環境を作成
    DG切離し現行Ver/新Ver
    のテストDB環境を
    それぞれ作成
    メリット:DataGuardの複製から19c環境を作っているため、オブジェクト/データの移行が不要なだけでなく、
    STSの移行も不要。
    ExaCS環境で、DBを複数複製することで、複数環境で同時に別々のテストが可能。
    ※固定OCPU/Memoryの範囲であれば、同一筐体内のDB/DBhomeの数は、OCIコスト上の影響はなし。
    STS取得
    Primary Standby

    View Slide

  51. 51 Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    SPA実行効果の実例

    View Slide

  52. STS(SQLキャプチャ)の例
    52 Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    本番環境で取得したSTSのSQL_IDの件数とPlan Hash Value(PHV)の件数(種類)の遷移グラフ(一例)です。
    • RAC(2ノード)の環境のため、それぞれのノードでSTSを取得しています。
    • キャプチャの後半になるにつれてSQL_ID/PHVともにグラフの傾斜が緩やかになり、収束傾向にあること
    がわかります。⇒SQLの種類の網羅性は高い状況にあるといえます。
    ※SQL_ID Count は、DBA_SQLSETのSTATEMENT_COUNT から取得
    PHV Count は、DBA_SQLSET_STATEMENTS の COUNT(DISTINCT PLAN_HASH_VALUE) から取得

    View Slide

  53. SQL非互換の例
    53 Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    「副問い合わせ内で GROUP BY 句使用時の
    SELECT リストの制限事項の変更について
    (KROWN:141697) (Doc ID 1749380.1)」に
    該当した例
    • 11gR2からの変更(仕様の厳格化)によりエラーが発生する事例
    (以前のバージョンでは)EXISTS 句内の副問い合わせで GROUP BY 句に
    含まれない列が SELECT 句に指定された場合、それを無視する動作とな
    ります。
    Oracle Database 11g Relase 2(11.2.0) にて動作が変更され、EXISTS 句
    内の副問い合わせでも、GROUP BY 句で指定した以外の列が SELECT
    句に指定されていれば、ORA-979 が発生するようになっています。

    View Slide

  54. SQL非互換の例
    54 Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    エラーコード
    /メッセージ
    SQLサンプル 説明
    ORA-00937: 単一グルー
    プのグループ関数ではあ
    りません。
    select nvl(min(a.col1),(select
    max(b.col1) from table2 b)) from
    table1 a;
    11gR1->11gR2(11.2.0.4)での非互換です。
    グループ関数と NVL 関数を含むクエリに
    副問い合わせが含まれていると ORA-937
    が発生します (Doc ID 2539061.1)
    ORA-00918: 列の定義が
    未確定です。
    SELECT
    FROM a JOIN
    b on a. =
    b.
    JOIN c on
    a. = c.;
    10gR2->11gR1での非互換です。
    同名の列を持つ表を ANSI JOIN で結合した
    際、ORA-918 が発生する
    (KROWN:128950) (Doc ID 1743172.1)
    ORA-00913: 値の個数が
    多すぎます。
    insert into hist_dba_profiles select
    sysdate,a.* from dba_profiles a
    DBAディクショナリのカラムがバージョン
    アップによって増えたことによるエラー
    (select * 使用が原因)【バージョン非互
    換】です。

    View Slide

  55. SQL実行計画比較の例
    55 Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    以下、SPA実行計画比較の実行結果サマリの一例です。
    分類 SQL本数 割合 コメント
    対象SQL 約64,000本 -
    実行計画変動なし 約47,600本 74.4% 比較元と比較先のDBでオプティマイザが作成した実行計画が一致していたSQLです。
    実行計画変動あり 約10,000本 15.6% 比較元と比較先のDBでオプティマイザが作成した実行計画が変動したSQLです。
    エラー発生 約6,400本 10.0% SPAによる検証時に、エラーが発生したSQLです。
    サポート対象外 0本 0%
    SPAが仕様上評価できないSQLです。
    今回、対象となるSQLはありませんでした。
    • 「エラー発生」の対象SQLの大半は「ORA-00907: 右カッコがありません。」であり、これはダイナミック・サンプリ
    ング機能により発行された内部SQLで発生することが確認されており無視可能です。
    • その他のエラーに関してもすべて、旧・新のバージョンでのSPA実行でどちらでも発生しており、SQLバージョン非互
    換のエラーはありませんでした。
    • SQL実行計画の変動があったSQLに対して、SQL性能比較を実施します。

    View Slide

  56. SPAにおける制限事項
    56 Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    SPAではサポートされるSQLとサポートされない(SPAでは評価できない)SQLが存在するため、
    SPAでのテスト対象SQLを明確化することが重要です。
    SQL 評価可否
    • SQL実行計画が作成される問い合わせSQL
    • INSERT文(SELECT文を含むものは実行計画が作成される
    為、評価可能)
    • DDL文(TABLE/INDEX作成、TABLE LOCK等)
    • Private DB Link経由のSQL
    • Export/Import処理
    • パラレルDML
    • Mview Refresh
    • オプティマイザ統計情報収集
    • Dynamic SamplingのSQL
    調査/評価の要否を検討。
    必要な場合は、別途単体テ
    ストを検討する。
    SPA単体性能テスト実施

    View Slide

  57. SQL性能比較の例
    57 Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    以下、SPA性能比較の実行結果サマリの一例です。
    分類 SQL本数 割合 コメント
    対象SQL 約10,000本 - 比較元と比較先のDBでオプティマイザが作成した実行計画が変動したSQLです。
    性能変動なし 約9,770本 97.7% SPAによる検証時に、比較元と比較先で性能変動がなかったSQLです。
    SQL性能改善 6件 SPAによる検証時に、比較元より比較先で性能が改善したSQLです。
    SQL性能劣化発生 4本 SPAによる検証時に、比較元より比較先で性能劣化が発生したSQLです。
    タイムアウト発生 1本 SPAによる検証時に、タイムアウト(600秒超過) が発生したSQLです。
    エラー発生 約180本 1.8% SPAによる検証時に、エラーが発生したSQLです。
    サポート対象外 約40本 0.4% SPAが仕様上評価できないSQLです。
    • SQL性能劣化発生のSQLについては、対象SQLの個別分析を実施の上、SQLチューニングを検討/実施
    • タイムアウト発生のSQLについては、タイムアウト値を引き上げて再実行して検証。
    • エラー発生のSQLについては、全て12c/19c共通のエラーで、SQL非互換のエラーは見受けられませんでした。
    • サポート対象外のSQLについては、すべて「パラレルDML」でした。

    View Slide

  58. 58 Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    SQL性能比較の例
    SPA性能比較の実行結果は以下パラメータ値に基づき分類分けされます(参考)
    WORKLOAD_IMPACT_THRESHOLD: ワークロードに対するSQL文の影響のしきい値。
    (※SQLの「Execution Frequency」(=STS内のExecutions情報)に基づいて、そのSQLのSTSワークロード全体に対する影響が計算される)
    SQL_IMPACT_THRESHOLD: SQLに対する変更の影響のしきい値。

    View Slide

  59. 59 Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    案件事例Tips

    View Slide

  60. 60
    SPA実行Tips
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    【事象】メタデータのみ(データ無し)のインポートにもかかわらず、表領域が大量に使用され領域枯渇が発生
    【原因】STORAGE句のMINEXTENTSが大きな値となっていたため
    (本番環境などでは予めデータサイズを見込んでMINEXENTSを大きくしていることがあるため注意)
    【対処】impdpオプションとしてTRANSFORM=STORAGE:n(TRANSFORM=SEGMENT_ATTRIBUTES:n)を設定
    準備: メタデータ(DBオブジェクト)のインポート
    Oracle Database Release 19 ユーティリティ
    3 Oracleデータ・ポンプ・インポート
    3.4.51 TRANSFORM
    SEGMENT_ATTRIBUTES:[Y | N]
    この変換は、CLUSTER、CONSTRAINT、INDEX、ROLLBACK_SEGMENT、TABLEおよびTABLESPACEの各オブジェクト型に対して有効です。
    値をYに指定すると、適切なDDLにセグメント属性(物理属性、記憶域属性、表領域およびロギング)が指定されます。デフォルトはYです。
    STORAGE:[Y | N]
    この変換は、CLUSTER、CONSTRAINT、INDEX、ROLLBACK_SEGMENTおよびTABLEの各オブジェクト型に対して有効です。
    値をYに指定すると、適切なDDLにSTORAGE句が指定されます。デフォルトはYです。SEGMENT_ATTRIBUTES=Nの場合、このパラメータは無視されます。

    View Slide

  61. 61
    SPA実行Tips
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    【事象】STSキャプチャに長時間かかる
    【原因】 カーソルキャッシュからの一括取得にてSTS取得する場合にキャッシュサイズが大きくSQL本数が膨大なため
    【対処】定期的な取得(DBMS_SQLTUNE.CAPTURE_CURSOR_CACHE_SQLSET)を使い、取得インターバル内に実行さ
    れたSQLの増分取得を行うことで1回あたりのSTSキャプチャ本数を減らし、かつ、SQLの網羅性を高めることが可能
    STS取得:
    比較項目 定期的に複数回取得 コマンド実行時に1回だけ取得
    本番負荷影響
    あり
    ・CPU使用率への影響【低】
    あり
    ・CPU使用率への影響【一定時間1コア占有】
    (コア占有時間は共有プールのサイズ/対象SQL本数
    /抽出フィルタ条件に依存)
    収集期間
    長い (方針次第)
    月次バッチや年次バッチなど、特定日に実行される
    処理も収集する場合は長い期間が必要となる。
    短い
    即時収集が可能。
    SQL収集網羅性
    高い (方針次第)
    定期的に取得件数をモニタリングすることでSQL本
    数の収束傾向が確認可能
    低い (方針次第)
    実行時点でカーソル・キャッシュに存在するSQLの
    みが取得対象となる。

    View Slide

  62. 62
    SPA実行Tips
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    【事象】リテラルSQLが多い環境でのSTSキャプチャはSYSAUX表領域の使用サイズが膨れ上がるケースがある
    【原因】 バインド変数化されていないリテラルSQLは個々のSQLが別SQL_IDとなり
    キャプチャされるSQL本数が収束せず膨大となるため
    【対処】STSキャプチャのSQL本数とPHVの種類を定期的にロギングして観察することで収束ポイントを判断する
    (リテラルSQLのSQL_ID(本数)は収束しないがPHVは収束するため)
    その他、CURSOR_SHARING=FORCE 設定の対処が可能かも検討する
    取得したSQL_IDの数
    時間
    0
    バインド変数が
    多い環境
    リテラルSQLが
    多い環境
    バインド変数化しているかどうか
    でSQL_IDの
    増え方が異なる
    本数
    時間
    0
    SQL_ID数(リテラル)
    PHVの累積数
    PHVは増加しなくなる
    SQL_ID数(バインド)
    STS取得:

    View Slide

  63. 63
    SPA実行Tips
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    SPA試行:
    PL/SQLパッケージおよびタイプ・リファレンス
    165 DBMS_SQLPA
    165.3.9 SET_ANALYSIS_TASK_PARAMETERプロシージャ
    LOCAL_TIME_LIMIT: 文単位のタイムアウト(秒)。
    TEST_EXECUTE_DOP: SPAタスクを実行する際に必要な同時実行性のレベルを指定します。
    【事象】 SPAタスクの実行に長時間かかる
    【原因】 TEST EXECUTEでは、実際にSQLをシリアルに実行するためSQL本数に応じて時間がかかる
    【対処1】LOCAL_TIME_LIMITパラメータを活用することで長時間SQLはタイムアウトさせ個別実行する
    【対処2】TEST_EXECUTE_DOPパラメータを活用することでSQLを並列に同時実行する(★18c以降)

    View Slide

  64. 64
    SPA実行Tips
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    SPA比較実行:
    PL/SQLパッケージおよびタイプ・リファレンス
    165 DBMS_SQLPA
    165.3.9 SET_ANALYSIS_TASK_PARAMETERプロシージャ
    PLAN_LINES_COMPARISON:
    - ALWAYS --すべてのシナリオの計画を行ごとに比較します。
    【事象】実行計画が同じにもかかわらず、plan_change=y と判定される
    【原因】Endianの変更(例Solaris<->Linux) を伴うOS移行をした場合にはplan hash value(PHV)が異なるため、
    同じ実行計画でもplan_change=Yと判断される
    【対処】 PLAN_LINES_COMPARISONパラメータをALWAYSに設定することで、
    PHVの比較ではなく実行計画の行レベルの比較を行う
    ➢ Different Plan Hash Value due to Migration from Solaris to Linux Causing SQL Performance Analyzer to Report
    Incorrect Plan Changes (Doc ID 2065831.1)

    View Slide

  65. 65
    SPA実行Tips
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    SELECT
    P1.SQL_ID AS SQLID,
    P1.PLAN_HASH_VALUE AS PHV_12C,P2.PLAN_HASH_VALUE AS PHV_19C
    FROM
    DBA_ADVISOR_SQLSTATS P1,
    DBA_ADVISOR_SQLSTATS P2
    WHERE P1.TASK_NAME = AND P1.EXECUTION_NAME = AND
    P2.TASK_NAME = AND P2.EXECUTION_NAME = AND
    P1.SQL_ID = P2.SQL_ID AND
    P1.PLAN_HASH_VALUE <> P2.PLAN_HASH_VALUE
    /
    SPAレポート作成:
    【事象】 SPAレポート(HTML)のサイズが膨大になり出力に時間がかかる
    【原因】 レポートに出力させるSQL詳細の本数を指定する top_sql の値(デフォルト100本)を大きくしすぎると
    出力情報が多すぎHTMLファイルが膨大になる
    ※TYPE => HTML / TOP_SQL => 1000 / SECTION => ALLでの実サイズ例:約640MB
    【対処】 SECTION => SUMMARYでサマリ情報のみを取得する(全SQLの詳細情報を出力させることはナンセンス)
    実行計画が変動したSQL(PHV)一覧を取得したければ、以下例のようなSQLで抽出可能

    View Slide

  66. 66
    SPA実行Tips
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    【課題】 SPA実行結果でエラーが発生した場合に、それがSQL非互換なのか、SPA実行上の問題(SPA制約/環境問題)
    なのか、の区別が難しい
    【対処】ERRORSのレポートを、(COMPAREに対して出力するのではなく) 各SPA実行(旧Ver/新Ver)に対して出力する
    SPA評価(SQL非互換):
    新旧バージョンともにエラー
    の内容/件数が一致している
    ⇒エラーはバージョン非互換に
    よるものではない、と判定で
    きる
    新旧バージョンともにエラー
    の内容/件数が一致している
    ⇒エラーはバージョン非互換に
    よるものではない、と判定で
    きる

    View Slide

  67. Thank you
    67 Copyright © 2022, Oracle and/or its affiliates [Date]

    View Slide

  68. View Slide

  69. Our mission is to help people see
    data in new ways, discover insights,
    unlock endless possibilities.

    View Slide