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

Oracle Database Technology Night #45 マルチテナント・アー...

Oracle Database Technology Night #45 マルチテナント・アーキテクチャ最新情報 (2021年5月)

マルチテナント・アーキテクチャは、Oracle Database 21c から中核となる技術です。
マルチテナントの技術的な機能とその実装などを中心に Converged Database の基盤として期待される技術の最新情報を付加し解説します。

oracle4engineer

May 28, 2021
Tweet

More Decks by oracle4engineer

Other Decks in Technology

Transcript

  1. 1. マルチテナント・アーキテクチャの進化 2. 基本のおさらい 3. Converged Database とマルチテナント 4. マルチテナント・アーキテクチャ機能編

    5. マルチテナント・アーキテクチャ実装編 6. Appendix Agenda Copyright © 2021, Oracle and/or its affiliates 3 2021/5/28
  2. マルチテナント・アーキテクチャの進化 Copyright © 2021, Oracle and/or its affiliates 5 (Release

    1) (Release 2) <12.1.0.1> • Oracle Multitenantオプション • マルチテナント環境でのResource Managerサポート <12.1.0.2 ~> • CDB再起動時のPDBのオープン・ モードの保持 • CREATE PLUGGABLE DATABASE文の USER_TABLESPACES句 • PDBをクローニングする場合のデータ の除外 • PDBファイル用のデフォルトのOracle Managed Filesファイル・システム・ ディレクトリまたはOracle ASMディス ク・グループ • 非CDBのクローニングによるPDBの 作成 • PDBのロギング属性 • CREATE PLUGGABLE DATABASE文のSTANDBYS句 • すべてのPDB間でのユーザーが作成 した表およびビューの問合せ • アプリケーション・コンテナ • 単一のCDBでの4096PDB(EXA) • PDBでの異なる文字セットの使用 • 別のCDBへのPDBの再配置 • プロキシPDB • ホットPDBクローニング • PDB作成時のサービスの名前変更 • CDBのコンテナ特定サービスへ切替 • PDBのメモリー使用量の管理 SGA_MIN_TARGET • PDB単位でI/Oを制限 • PDBパフォーマンス・プロファイル • Resource ManagerによるPDBの 監視 • PDBアップグレード優先順位の設定 • CDBのUNDOモード • PDBの作成の並列化 • アーカイブ・ファイルによるPDBのアン プラグとプラグ・イン • PDBのリフレッシュ • PDB作成時のデフォルト表領域の 指定のサポートの改善 • PDB作成時の USER_TABLESPACES句拡張 • CDB フリート • PDBスナップショット・カルーセル • 論理パーティション化 • リフレッシュ可能なPDBスイッチオー バー • ロックダウン・プロファイルの拡張機能 • DBCAの拡張機能 • 非CDBおよび再配置されたPDBの 使用可能なバックアップ • 別のCDBへのPDBのRMAN複製 • 計画メンテナンス中のセッションの再 配置 • Oracle Data Guard環境でのPDB のコピー • PDBレベルでのパラレル文のキューイ ング • 分割ミラーによるクローンPDB • PDBでのワークロードの取得およびリ プレイ • PDBのADDM分析 • インフラストラクチャ・データベース管 理者向けのDatabase Vault操作 の制御 • 同じCDBでの複数のPDBシャードの サポート • PDBの自動再配置 • DBCAを使用したリモートPDBのク ローニング • リモートPDBの再配置 • データ・ポンプ・インポートに対するク ラウドのオブジェクト・ストアのサポート • CPU_MIN_COUNT初期化パラ メータ • EE/SEともにPDB3つまで無償 • PDBオープン時のリプレイ・アップグ レード • リプレイ・アップグレードを使用した、 PDBとしての非CDBの採用 • Oracle Databaseとのネームスペー ス統合 • Oracle Cloudでの透過的アプリ ケーション・コンティニュイティ • JOB_QUEUE_PROCESSES初期 化パラメータの機能拡張 • MAX_IDLE_BLOCKER_TIME初 期化パラメータの機能拡張 • アプリケーションの同期のための拡張 構文 • DBCA機能拡張(PDB単位のタイム ゾーン設定) • RAC構成におけるランク付け • 非CDB構成がサポート対象外に 統合・集約と一元管理の向上 可搬性とPDBの分離性向上への実装 次世代基盤としての拡充 2021/5/28
  3. CDB 基礎構成① 基本のおらさい Copyright © 2021, Oracle and/or its affiliates

    7 CDB 管理者 PDB 管理者 CDB (Container Database) CDB$ROOT PDB PDB$SEED PDB を新規作成する際に使 用するテンプレート 2021/5/28
  4. CDB 基礎構成② ~ Application Container 基本のおらさい Copyright © 2021, Oracle

    and/or its affiliates 8 CDB (Container Database) PDB$SEED PDB を新規作成する際に使 用するテンプレート CDB 管理者 PDB 管理者 (Application PDB含む) CDB$ROOT Application ROOT Application PDB 2021/5/28 Application ROOT Application PDB PDBs (Release 2)
  5. 仮想化OS環境との比較と管理対象 仮想化環境 – 仮想OS(VM) マルチテナント - PDB 基本のおらさい Copyright ©

    2021, Oracle and/or its affiliates 9 Hypervisor Hypervisor OS PDB1 PDB2 PDB3 CDB$ROOT 分離性 柔軟性 ≒ Hypervisor? <OS> <OS> <OS> VMやPDBに対する柔軟なリソー ス割り当てが可能 動的な変更やオーバーサブスクラ イブも可能 (あまり推奨しない) ASM インスタンス 2021/5/28
  6. Converged Database とマルチテナント Copyright © 2021, Oracle and/or its affiliates

    13 オラクルのコンバージド・データベース戦略 2021/5/28
  7. Oracle Databaseは主要なデータ・タイプとデータ・モデルに対応 Converged Database とマルチテナント 利用者にとって重要なこと • データ一貫性 • すぐに分析可能であること

    • セキュリティの確保 • 信頼性 • スケーラビリティ 開発者にとって重要なこと • 適性なデータ・モデル • 宣言的なSQLでアクセス • トランザクション • 主要な開発言語をサポート • 標準化されたAPIで開発 14 JSON Graph Text リレーショナル Spatial Blockchain Oracle Database LOB/XML Copyright © 2021, Oracle and/or its affiliates ➡ 【ACID特性】 2021/5/28
  8. Oracle Databaseがサポートする主要なデータ・タイプとデータ・モデル Converged Database とマルチテナント <マルチ・モデル> Copyright © 2021, Oracle

    and/or its affiliates 15 Spatial • 座標・ポリゴンなど空 間情報 • GPSなどの 座標情報の活用 Graph • ノードとエッジの 関係性 • 関係性の検索など高 速で実現 リレーショナル • 表形式 • 数値・文字 • SQLアクセス • 複雑な問い合わせ JSON • テキストベースのデータ 交換用のフォーマット • シンプルで使いやすい データ形式 Text • テキストもしくは ドキュメント・データの 全文検索 Blockchain • データの改ざんを 前後のデータの つながりで防止 • 監査証跡、 トレーサビリティなど 2021/5/28
  9. 1つのデータベースで複数のワークロードを同時に処理でき、リアルタイムなデータ分析を実現 オンライン・トランザクション処理 • トレーディング・システムや ショッピング・サイトなど • 同時、大量ユーザー、低レイテンシ 分析処理 • ペタバイト級のデータ・ウェアハウス

    など • 大量データ、大量処理 IoT • 各種センサーから情報を受け取 るストリーミング処理 • 大量デバイス、超低レイテンシ • 時系列分析 リアルタイム・アナリティクス • 超高速インメモリ分析 • 機械学習 • グラフ分析 Converged Database とマルチテナント <マルチ・ワークロード> Copyright © 2021, Oracle and/or its affiliates 16 2021/5/28
  10. マルチ・モデル・マルチワークロードとマルチテナント Converged Database とマルチテナント Copyright © 2021, Oracle and/or its

    affiliates 17 JSON Graph Text リレーショナル Spatial Blockchain リレーショナル JSON Text Graph Spatial Blockchain シングルテナント マルチ・モデル マルチテナント マルチ・ワークロード 利用者にとって重要なこと • データ一貫性 • すぐに分析可能であること • セキュリティの確保 • 信頼性 • スケーラビリティ 開発者にとって重要なこと • 適性なデータ・モデル • 宣言的なSQLでアクセス • トランザクション • 主要な開発言語をサポート • 標準化されたAPIで開発 2021/5/28
  11. タイトル 解説内容 A-1 構成について 物理および論理構成について (ファイル群・表領域・インスタンスなど) A-2 ユーザについて 共通ユーザ・ローカルユーザ および権限について

    A-3 サービスと接続 CDB構成とOracle Net Services A-4 マルチテナントの可搬性 PDBクローンについて解説 A-5 MAAとマルチテナント Maximum Availability Architecture とマルチテナントの実装 A-6 TDEとマルチテナント 統合モードと分離モード A-7 Application Container と補足情報 マルチテナント環境で実現する新しいマスター連携 マルチテナント・アーキテクチャ機能編 Copyright © 2021, Oracle and/or its affiliates 19 2021/5/28
  12. 構成について ~ 物理および論理構成 マルチテナント・アーキテクチャ機能編 Copyright © 2021, Oracle and/or its

    affiliates 20 non-CDB 構成 CDB (Single-Tenant) <非CDBとの構成差異> • ディクショナリ系の水平分割構成 • 初期構成の表領域(データファイル)数が多い • CDB_xxx で始まる静的なディクショナリビュー • CDB$ROOT分のリソースが必要 • 初期化パラメータの設定範囲の違い • CDB全体管理のものとPDB固有設定可能なもの • PDBは個別にOpen/Closeできる • PDB依存のセキュリティ設定が可能 • 基本的にCDB$ROOTにはユーザ・データは格納しない • CDB全体の共有ユーザを設定する場合はある (まで) (から) 2021/5/28
  13. 構成について ~ 物理および論理構成 マルチテナント・アーキテクチャ機能編 Copyright © 2021, Oracle and/or its

    affiliates 21 一部、運用にも依存するものの、PDBを構成するデータファイル 以外は概ね非CDB同様CDBに対して1セットの構成となる (から) https://www.oracle.com/webfolder/technetwork/tutorials/architecture-diagrams/21/database-technical-architecture.html 運用 依存 運用 依存 運用 依存 2021/5/28
  14. 構成について ~ 物理および論理構成 表領域とデータファイルについて マルチテナント・アーキテクチャ機能編 Copyright © 2021, Oracle and/or

    its affiliates 22 https://www.oracle.com/webfolder/technetwork/tutorials/architecture-diagrams/21/database-technical-architecture.html マルチテナントでは、ディクショナリとユーザデータが PDB単位で分離・分割管理される 2021/5/28
  15. 構成について ~ 物理および論理構成 表領域とデータファイルについて マルチテナント・アーキテクチャ機能編 Copyright © 2021, Oracle and/or

    its affiliates 23 CDB$ROOT PDB1 PDB2 メタデータとユーザデータの分離性が管理・可搬性の向上に影響 2021/5/28
  16. 構成について ~ 物理および論理構成 マルチテナント・アーキテクチャ機能編 Copyright © 2021, Oracle and/or its

    affiliates 24 インスタンスはCDBに紐づく https://www.oracle.com/webfolder/technetwork/tutorials/architecture-diagrams/21/database-technical-architecture.html シングル・インスタンス構成 RAC構成 2021/5/28
  17. ユーザについて マルチテナント・アーキテクチャ機能編 Copyright © 2021, Oracle and/or its affiliates 25

    ローカル・ユーザー 特定の PDB のみにユーザーが存在するタイプ (重複可能) ローカル・ユーザーを作成する場合は、PDB へ接続して操作を実施 PDB個別の管理ユーザも含まれる 共通ユーザー 各コンテナ(ルートと各 PDB) に同名のユーザーが存在するタイプ 共通ユーザーを作成する場合には、ルートへ接続して操作を実施 SYS/SYSTEM は 特殊な共通ユーザ ローカル・ユーザー 共通ユーザー 重複 可能 SCOTT SCOTT 2021/5/28
  18. ユーザについて ~ 管理ユーザの構成パターン 1. 一元管理 2. 管理権限の一部委任 3. 管理範囲を定め分離 マルチテナント・アーキテクチャ機能編

    Copyright © 2021, Oracle and/or its affiliates 26 PDB 管理者 情報システムと他部署や、関連会社へ DBaaS環境を提供する場合など PaaSに似た提供形態で、事前に管理範囲 や責任を分離した上で提供する Database Vault の併用も検討すべき ? 2021/5/28
  19. ユーザについて ~ 管理ユーザのタスク(サンプル) マルチテナント・アーキテクチャ機能編 27 No. 管理対象 一元管理 管理権限の一部委任 (PDB管理者)

    管理範囲を定め分離 (契約者=PDB管理者) 1 起動・停止 ✔ ✔ ✔ 2 接続管理 ✔ 一部CDB管理者 ✔ 3 記憶域管理 ✔ ✔ ✔ 4 メモリ管理 ✔ 一部CDB管理者 一部委任 5 アカウント管理 ✔ ✔ ✔ 6 オブジェクト管理 ✔ ✔ ✔ 7 検証・開発環境 ✔ CDB管理者へ依頼? ✔ 8 バックアップ・リカバリ計画と実施 ✔ ✔ ✔ 9 性能監視・管理とチューニング ✔ 一部CDB管理者 一部委任 10 ソフトウェア・メンテナンス ✔ ✔CDB管理者 - Copyright © 2021, Oracle and/or its affiliates ✔が無い部分は予め責任分担を明確化すべき PDB数に関わらず一括管理できる場合がある 2021/5/28
  20. ユーザについて ~ 管理ユーザとセキュリティ CDB構成におけるユーザーの種類 マルチテナント・アーキテクチャ機能編 Copyright © 2021, Oracle and/or

    its affiliates 28 データベース 管理者(CDB) SYS / SYSTEM SYS SCOTT OE PDB1 APP SCOTT SYS HR APP PDB2 PDB3 SYS PDBのSYSは、PDB内の 表にアクセスすることが できる特権ユーザー CDBのSYSは、すべてのPDBの 表に自由にアクセスすることが できる特権ユーザー 2021/5/28
  21. ユーザについて ~ 管理ユーザとセキュリティ CDBにおけるDatabase Vault の効果 マルチテナント・アーキテクチャ機能編 Copyright © 2021,

    Oracle and/or its affiliates 29 データベース 管理者(CDB) SYS / SYSTEM SYS SCOTT OE APP SCOTT SYS HR APP SYS Database Vault ON Database Vault ON Database Vault OFF インフラ管理として 必要な業務のみ アクセスを許可 Database Vaultで保護されているPDB の表に対して、CDBのSYS ユーザーはアクセスできない それぞれPDBのデータベース管理者が自分 のPDBのみを管理する PDB1 PDB2 PDB3 PDBのSYSは、他のスキーマの表 にアクセスできない 2021/5/28
  22. ユーザについて ~ 管理ユーザとセキュリティ 管理者権限にも影響するカスタマイズ機能 マルチテナント・アーキテクチャ機能編 Copyright © 2021, Oracle and/or

    its affiliates 31 ネットワークアクセス 共有ユーザーと オブジェクトアクセス DB管理操作 OSコマンド実行 ファイルアクセス PDB内からAdvanced Queuing (AQ)や UTL_SMTPなどを利 用したネットワーク・アク セスを制限 共通ユーザーを介した 別PDBのオブジェクトや 共通オブジェクトへのアク セスを制限 データベースのオプショ ンの利用や、ALTER SYSTEMなどのDB管 理操作の実行をPDB ごとに詳細に制限 DBサーバー上でOS操 作を行う際のOSユー ザーをPDBごとに個別 に指定 PDBがアクセスできるDB サーバー上のディレクトリ を特定の場所以下に限 定 PDBロックダウン・プロファイル PDB OS クレデンシャル パス・プレフィックス / CREATE_FILE_DEST パラメータ 2021/5/28
  23. ユーザについて ~ ロックダウン・プロファイルの効果 GRANTによる権限管理の仕組みを補完 マルチテナント・アーキテクチャ機能編 Copyright © 2021, Oracle and/or

    its affiliates 32 SQL> grant alter system to pdb_user; • ‘alter system’のスコープ – approx_for_percentile – common_user_prefix – cursor_sharing – optimizer_mode – trace_enabled – … • ‘alter system’のスコープ – approx_for_percentile – common_user_prefix – cursor_sharing – optimizer_mode – trace_enabled – … SQL> alter lockdown profile p1 disable statement=('ALTER SYSTEM’) clause=('SET’) option= ALL EXCEPT('cursor_sharing’,'optimizer_mode'); 2021/5/28
  24. サービスと接続 ~ 非CDB構成の場合 マルチテナント・アーキテクチャ機能編 Copyright © 2021, Oracle and/or its

    affiliates 33 Service1 Service2 Service3 listener host:port/service1 host:port/service3 各Oracleインスタンスはデータベースのワークロードを抽象化した 「サービス」という属性を持っている。 Oracleクライアントはサービスを指定して接続するデータベースを 区別する。 2021/5/28
  25. サービスと接続 ~ CDB構成の場合 マルチテナント・アーキテクチャ機能編 Copyright © 2021, Oracle and/or its

    affiliates 34 コンテナ・データベース(CDB)構成は1つのOracleインスタンスが複 数のプラガブル・データベース(PDB)を担当している。 プラガブル・データベースごとに一意なサービス名を持っている。 Oracleクライアントはサービスを指定して接続する(プラガブル) データベースを区別する。 アプリケーションから見るとNon-CDB構成もCDB構成も違いは なく、まったく同じ接続方法になる。 OS Service1 PDB1 Service2 PDB2 Service3 PDB3 CDB$ROOT listener host:port/service1 host:port/service3 2021/5/28
  26. サービスと接続 ~ CDB構成の場合 マルチテナント・アーキテクチャ機能編 Copyright © 2021, Oracle and/or its

    affiliates 35 SQL Developer によるサービス接続イメージ jphppt06 (旧Exadata X3のCELL) orcl19nc (non-CDB) orcl19cd (CDB) 2021/5/28
  27. Copyright © 2021, Oracle and/or its affiliates 37 Autonomous Database

    ~ プラガブル・データベース単位のリソース割り当て マルチテナント・アーキテクチャ機能編 1つのADBインスタンスの実体はExadata上の1つの プラガブル・データベース。 ADBインスタンスのOCPU※の割り当てはプラガブ ル・データベースへのCPUの割り当てであり動的に 数秒から数十秒で変更可能。 (※Oracle Computing Unit: 1 OCPUはCPU 1コアに相当) OCPU数に比例したメモリー(SGA, PGA)および I/O性能が割り当てられる。 n OCPU 【参考情報】 2021/5/28
  28. Autonomous Database ~ 予めサービスとリソース割り当てを設定・提供 1つのADBインスタンスの実体はExadata上の1つのプラガブル・データ ベース。 ADBではリソース割り当てのパターンをあらかじめ複数用意しており、 接続するサービス名で切り替える。 host:port/service_name マルチテナント・アーキテクチャ機能編

    Copyright © 2021, Oracle and/or its affiliates 38 SERVICES NAME platform 概要 パラレル制御 同時実行 セッション数 リソース割り当て (SHARES *2) TPURGENT ATP only 最も優先度の高い処理向け 手動設定 制限なし (*1) 12 TP ATP only 汎用的な処理向け シリアル 制限なし (*1) 8 HIGH ADW/ATP 大量データを扱う処理向け 自動 3 4 MEDIUM ADW/ATP 大量データを扱いつつも、 同時実行数も多い処理向け 自動 OCPUに比例した値 2 LOW ADW/ATP 優先度が低い処理向け シリアル 制限なし (*1) 1 *1 :同時に接続できるセッション数はOCPUに比例し、OCPU辺り100セッションに制限される。 *2 : 各サービスでのCPU使用率の配分を示す。デフォルト値からの変更は可能。 HIGH MEDIUM LOW 【参考情報】 2021/5/28
  29. マルチテナントの可搬性 PDBホット・クローン PDBリフレッシュ (リフレッシュ可能なクローンPDB) PDB再配置 マルチテナント・アーキテクチャ機能編 Copyright © 2021, Oracle

    and/or its affiliates 39 業務を継続しながらPDBのク ローンを作成 (メタデータのみや 一部データの複製が可能) PDBのクローンを作成後 に更新された差分を 手動または自動で反映 PDBの移動(クローンと元 PDBの排除)および、セッ ションのフェールオーバー 2021/5/28
  30. マルチテナントの可搬性 CDB スナップショット・カルーセル • SE2, EE, DBCS SE 以外で使用可能 マルチテナント・アーキテクチャ機能編

    41 https://docs.oracle.com/cd/F19136_01/multi/administering-pdb-snapshots.html#GUID-87183462-C87C-432C-BE7E-282B1F1202F4 自動スナップ ショット Full Clone スナップショットを活用した、開発・検証 過去データによる、障害・不具合の再 現ケースなどに有効 リカバリ EVERY 間隔句で自動的に作成 (EVERY snapshot_interval [MINUTES|HOURS]) 最大8個 2021/5/28 Copyright © 2021, Oracle and/or its affiliates
  31. マルチテナントの可搬性 ~ リフレッシュ可能クローンの動き マルチテナント・アーキテクチャ機能編 Copyright © 2021, Oracle and/or its

    affiliates 42 本番PDB リフレッシュ可能Clone 1. リフレッシュ可能Cloneを作成 後、通常業務の継続 Database Link 2. 自動または手動による リフレッシュ操作 リフレッシュまでの間隔に更新されデータファイルに フラッシュされたブロックの取得とREDOログの適用 リフレッシュ完了までの所要時間は以下の影響を受ける • PDBに対する、リフレッシュまでのデータ更新量 • CDBに含まれるPDB数(REDOの総生成量に依存) 必要に応じて • リフレッシュ間隔を短めに • PDB数を検討 • Data Guard / GoldenGate などの利用 【参考情報】 2021/5/28
  32. RACとマルチテナントを組み合わせた例: 可用性要件に応じ、Active-Active, Active-Passive, シングルインスタンスなど稼働形態と構成が選択できる Maximum Availability Architecture とマルチテナント マルチテナント・アーキテクチャ機能編 43

    インスタンス上で Open する PDBを選択できる Instance2 Instance1 PDB1 : 可用性要件-高 PDB2 : 可用性要件-中 PDB3 : 検証環境 PDB1 PDB1 PDB2 PDB3 PDB2 (F/O可能) Active Standby Active Active Standalone PDB1 PDB2 PDB3 Copyright © 2021, Oracle and/or its affiliates 2021/5/28
  33. Maximum Availability Architecture とマルチテナント マルチテナント・アーキテクチャ機能編 44 PDB1 : 可用性要件-高-DRあり(ADG) PDB2

    : 可用性要件-中-DRあり(DG) PDB3 : 検証環境 – DRなし RAC/マルチテナントとADGの例: DG/ADGはREDOベースの連携なので、 CDB単位でレプリケーションする Primary CDB Standby CDB スタンバイDBの要・不要を選択できる Read/Write Mount or Read マルチテナントとActive Data Guard(構成例) Copyright © 2021, Oracle and/or its affiliates 2021/5/28
  34. Maximum Availability Architecture とマルチテナント マルチテナント・アーキテクチャ機能編 45 Read/Write マルチテナントとGoldenGate Read/Write PDB1

    PDB2 PDB3 PDB1 PDB2 PDB3 GoldenGateはREDOから変更履歴を抽出 するため、CDB$ROOTに共通ユーザを作成 し権限を与える必要があった ⇩ DBおよびGG 21cからの機能拡張により、 PDB管理者からのCaptureが可能になった ADBをSourceとする事が可能になり、移行 時の切り戻しを想定したレプリケーション設定 が可能になる Copyright © 2021, Oracle and/or its affiliates Source Target Source Target 2021/5/28 共通ユーザ (CDB$ROOT) PDBユーザ
  35. TDEとマルチテナント TDEによる暗号化の仕組み Oracle Walletに、マスター暗号鍵が格納される (※12cから呼称は、Oracle Keystore) • マスター暗号鍵は、それぞれの表暗号鍵と表領域暗 号鍵を暗号化する •

    表ごとの暗号鍵、表領域ごとの暗号鍵でそれぞれの 実データを暗号化する • Oracle Walletにはマスター暗号鍵の履歴が含まれる マルチテナント・アーキテクチャ機能編 Copyright © 2021, Oracle and/or its affiliates 46 暗号化キー マスターキー [Keystore] 2021/5/28
  36. Application Container と補足情報 既存の高コストなデータの共有・分離・連携実装の例 マルチテナント・アーキテクチャ機能編 Copyright © 2021, Oracle and/or

    its affiliates 48 【マスター表】 1) Database Link 【マスター表】 2) レプリカ表の配布と更新 マテリアライズド・ビュー や GoldenGate 2021/5/28
  37. Application Container と補足情報 R12.2 からの新機能 共通メタデータおよびデータ共有の仕組み バージョニングされたセットのプロビジョニング マルチテナント・アーキテクチャ機能編 Copyright ©

    2021, Oracle and/or its affiliates 49 名称 解説 図解 アプリケーション・ルート アプリケーション・コンテナを構成する際に必 要となる起点PDBを指す CDB-root上で稼働するAP固有の疑似的 なCDBであると表現できる A アプリケーション・PDB アプリケーション・コンテナ内に属するPDB B アプリケーション・シード CDBシードと同様にアプリケーション・PDB を作成する場合の補助PDB C アプリケーション APコンテナを作成すると有効になるオブジェク ト=管理単位でバージョニングできる D Application Container の構成要素 A B C Application Container 概略図 Application D 2021/5/28
  38. Application Container と補足情報 A) Data Link app_root に表構造(メタデータ)と実データを保 持し、各アプリケーションPDBからはローカルにあ る表と同様に参照できる

    Database Linkなどを介さず参照できるがデー タ更新や構成変更はapp_rootから行う B) Metadata Link app_root に表構造(メタデータ)を保持し、各ア プリケーションPDBで固有の実データを持ち、干 渉する事なく分離される 各PDB単位で参照・更新ができ、実体は各 PDBに持つ app_rootから横断的なクエリが実行できる C) Extended Data Link A)とB)を併せ持った構成となり、単一表として アプリケーションPDBで検索できる 更新できる部分は各PDBにデータが格納される Metadata Link 部分に限定される マルチテナント・アーキテクチャ機能編 Copyright © 2021, Oracle and/or its affiliates 50 各PDBの 参照イメージ 2021/5/28
  39. Application Container の実行計画 Data Link Object の検索 マルチテナント・アーキテクチャ機能編 Copyright ©

    2021, Oracle and/or its affiliates 51 PDB1: SQL> connect app_owner/app_owner@ptvm10/pdb1.jp.oracle.com 接続されました。 SQL> select * from emp where empno=7369; 経過: 00:00:00.01 実行計画 ---------------------------------------------------------- Plan hash value: 915754307 ------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 38 | 0 (0)| 00:00:01 | |* 1 | DATA LINK FULL | EMP | 1 | 38 | 0 (0)| 00:00:01 | ------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 1 - filter("EMPNO"=7369) PDB1 2021/5/28
  40. Application Container の実行計画 ~ 補足情報 実行計画の違いをトレースレベル 10046 で確認 マルチテナント・アーキテクチャ機能編 Copyright

    © 2021, Oracle and/or its affiliates 52 Data Link 表を Application PDBから索引検索し、実行計画の違いを確認 PDB1 から見た実行計画 (10046で取得) SQL ID: 8ucrzsqxv2hx9 Plan Hash: 915754307 select * from emp where empno=7902 … Number of plan statistics captured: 1 Rows (1st) Rows (avg) Rows (max) Row Source Operation ---------- ---------- ---------- ----------------------------- 1 1 1 DATA LINK FULL EMP ( Application ROOT から見た実行計画 (10046で取得) Rows (1st) Rows (avg) Rows (max) Row Source Operation ---------- ---------- ---------- --------------------------------------- 1 1 1 RESULT CACHE 5gqvkrsatqh1bfb7gfxugqh4z0 1 1 1 TABLE ACCESS BY INDEX ROWID EMP (cr=2 .. 1 1 1 INDEX UNIQUE SCAN PK_EMP (cr=1 .. Data Link 表に対しても Application ROOT内では適切な実行計画で 処理されていると考えられる PDB1 2021/5/28
  41. Metadata Link の拡張 - コンテナ・マップの活用 (1/2) 列の値を基にPDBを論理的にパーティション化 • パーティション定義用のテーブル(マップ・オブジェクト)を使用 クエリーで頻繁に利用される列をパーティション・キーとして指定

    • 例: 地域名、部署名、日付データなど 使用可能なパーティション手法 • レンジ • リスト • ハッシュ マルチテナント・アーキテクチャ機能編 Copyright © 2021, Oracle and/or its affiliates 53 ACCOT (10) RESERCH (20) SALES (30) OPER (40) emp dept metadata link map (partition ACCOUNTING values (10), partition RESEARCH values(20), partition SALES values(30), partition OPERATIONS values(40)); select * from emp where deptno = 10; マップ・オブジェクト として登録する I/O の範囲 2021/5/28
  42. Metadata Link の拡張 - コンテナ・マップの活用 (2/2) サンプルの実行計画を参照 SQL> select *

    from emp where deptno = 10; 実行計画 ---------------------------------------------------------- Plan hash value: 984574782 ------------------------------------------------------------------------------------------------------------------------------------ | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop | TQ |IN-OUT| PQ Distrib | ------------------------------------------------------------------------------------------------------------------------------------ | 0 | SELECT STATEMENT | | 1200 | 117K| 4 (100)| 00:00:01 | | | | | | | 1 | PX COORDINATOR | | | | | | | | | | | | 2 | PX SEND QC (RANDOM) | :TQ10000 | 1200 | 117K| 4 (100)| 00:00:01 | | | Q1,00 | P->S | QC (RAND) | | 3 | PX PARTITION LIST SINGLE| | 1200 | 117K| 4 (100)| 00:00:01 | 1 | 1 | Q1,00 | PCWC | | | 4 | CONTAINERS FULL | EMP | 1200 | 117K| 4 (100)| 00:00:01 | | | Q1,00 | PCWP | | ------------------------------------------------------------------------------------------------------------------------------------ マルチテナント・アーキテクチャ機能編 Copyright © 2021, Oracle and/or its affiliates 54 2021/5/28
  43. タイトル 解説内容 B-1 性能についての差異 簡易検証の結果を共有 B-2 各リソースとマルチテナント リソース設定で考慮したいこと B-3 マルチワークロードと参考情報

    OLTP、DWH、IoTなどを考慮した構成について B-4 統合・集約にむけて 設計・サイジングを補完するツールと活用 B-5 メンテナンスの観点 パッチ・アップグレード関連の参考情報 マルチテナント・アーキテクチャ実装編 Copyright © 2021, Oracle and/or its affiliates 56 2021/5/28
  44. 性能についての差異 ~ シングルテナント環境の簡易性能検証結果の共有 マルチテナント・アーキテクチャ実装編 Copyright © 2021, Oracle and/or its

    affiliates 57 Swingbench による負荷 ~ OLTP系トランザクション DB tpm tps response time DML/sec non-CDB 131165 2589 1375 29919 PDB 134651 2849 1716 32469 検証結果 ※ご注意 性能を保証するものではありません orcl19nc orcl19pdb 2021/5/28
  45. 性能についての差異 ~ シングルテナント環境の簡易性能検証結果の共有 マルチテナント・アーキテクチャ実装編 Copyright © 2021, Oracle and/or its

    affiliates 58 EMCC Performance Hub の比較 DB tpm tps response time DML/sec non-CDB 131165 2589 1375 29919 PDB 134651 2849 1716 32469 検証結果の再掲 ※ご注意 性能を保証するものではありません Oracle JavaScript Extension Toolkit(Oracle JET) orcl19nc orcl19pdb 2021/5/28
  46. 各リソースとマルチテナント マルチテナント・アーキテクチャ実装編 Copyright © 2021, Oracle and/or its affiliates 59

    データベースサーバ ストレージ CPU(Core) メモリ Disk I/O リソースのバランスと 最適な設定 回数 サイズ (Network) 2021/5/28
  47. 各リソースとマルチテナント ~ 様々な混在環境と比較 マルチテナント・アーキテクチャ実装編 Copyright © 2021, Oracle and/or its

    affiliates 60 A. 複数のインスタンス B. 複数の仮想マシン C. 複数のPDB 100% (リソースの上限) 60~70%(サイジングの上限) 100% 60~70% 100% 60~70% インスタンス毎に 固定値で管理 仮想マシン毎に 固定値で管理 簡易検証結果より、 同種類の処理(OLTP) においては A. のサイジ ングが起点となり得る 2021/5/28
  48. 環境の共有と分離 PDB1 PDB2 PDB3 各リソースとマルチテナント マルチテナント・アーキテクチャ実装編 Copyright © 2021, Oracle

    and/or its affiliates 61 CPU、メモリ、I/Oに制限を設けない場合、想定を超える負荷状況になれば 各PDBは処理に応じてリソース確保しようとするためラッシュ時にリソースの枯渇 が発生し性能影響が懸念される (左図では、PDB2のリソースが干渉を受ける) <解決の方向性> 1. 各PDBに必要なリソースを固定的に確保する 2. 各PDBに固定値では無く、優先順位(比重)で設定する 3. 1と2の組合せ ~ 最小限必要な固定値設定と優先順位付けを行う メリット デメリット 1. 固定値設定 性能の平準化と管理性 リソースの柔軟な活用ができない 2. 優先順位 リソース管理の負荷軽減 処理性能がやや安定しない可能性あり 3. 組合せ(1+2) 1、2のメリットを享受可能 負荷の変化が少ないか適宜調整が必要 2021/5/28
  49. PDB1 PDB3 環境の共有と分離 各リソースとマルチテナント マルチテナント・アーキテクチャ実装編 Copyright © 2021, Oracle and/or

    its affiliates 62 CDBに 少ないCPUリソースを割り当て、PDB1 と PDB3 に それぞれ処理能力を超えるトランザクションを実行し、 CPUに負荷を掛ける CDB内でCPUリソースの枯渇が発生した場合、 リソース・マネージャの wait event が発生し易い ※ CDB作成直後、default のディレクティブが有効になっているため EMCC13.4 ➡ ASH ➡ Wait Event 適切なサイジング 優先順位と割り当て 【参考情報】 core 不足 core 不足 2021/5/28
  50. 各リソースとマルチテナント ~ 特性とリソースの割り当て マルチテナント・アーキテクチャ実装編 Copyright © 2021, Oracle and/or its

    affiliates 63 複数のPDBを固定値で管理 CDBの上限値 / PDBの比率管理 CDBの上限値 / PDBの下限値管理 25 35 40 リソース管理は柔軟だがPDB間 で干渉する可能性あり ➡ リソースの効率的な活用 下限値を設定する事で性能維 持と柔軟性が両立可能に ➡ 性能と柔軟性の両立 2021/5/28 安定した性能 柔軟なリソース配分を犠牲に ➡ 性能要件に厳しいケース
  51. 各リソースとマルチテナント ~ PDB固有に設定可能な主な初期化パラメータ(19c) CPU時間 cpu_count cpu_min_count SQL並列度 parallel_degree_limit parallel_degree_policy parallel_force_local

    parallel_max_servers parallel_min_degree parallel_min_time_threshold parallel_servers_target containers_parallel_degree SGA sga_min_size sga_target db_cache_size shared_pool_size inmemory_size PGA pga_aggregate_limit pga_aggregate_target I/O max_iops max_mbps Exadata IORM の活用 マルチテナント・アーキテクチャ実装編 Copyright © 2021, Oracle and/or its affiliates 64 「データベース・リファレンス」のマニュアルの初期化パラメータの説明にPDBごと に変更可能かが記載されている 2021/5/28
  52. マルチワークロードと参考情報 特性の把握(マルチモデル・マルチワークロード) とリソースの割り当て マルチテナント・アーキテクチャ実装編 Copyright © 2021, Oracle and/or its

    affiliates 65 大量接続を持つOLTP CPUバウンド系 索引検索と狭い範囲の データ更新など IoT系の高速処理 CPUおよびメモリ系 センサーデータなど 超高速な参照・登録処理 分析処理-DWH/BI メモリ・IO性能依存系 大量データ処理に伴う IOコストの削減とキャッシング cpu_min_count sga_min_size SQL並列度 max_iops max_mbps (Exadata IORM) cpu_min_count mempotimize_pool_size (※) large_pool_size (※) (※ CDB単位で設定) 2021/5/28
  53. マルチワークロードと参考情報 ~ Memoptimized for Read & Rowstore (Fast Ingest) メリット

    • 単一行挿入処理のパフォーマンス向上 • 従来の2倍のスループット 機能概要 新しいストリーミング・インジェスト: • 大きな単位で遅延書込みを発行することで、非常に高いス ループットの挿入を行う • クライアントがインメモリ・バッファへの低レイテンシ書込みを実行 • バックグランドでバッファから表への書込み • 表に対して MEMOPTIMIZE FOR WRITE を宣言 • INSERT文で MEMOPTIMIZE_WRITE ヒントを指定 • 特殊な列や索引などがある表では使用できない 列デフォルト値、暗号化、UNUSED/INVISIBLE列、仮想列、LOB、トリ ガー、外部キー、ファンクション索引、ビットマップ索引など マルチテナント・アーキテクチャ実装編 66 IoT Client Optimized Write 表(測定温度) 周期的な バッファ排出 バッファ 追加 バックグランドで の排出 In-Memory Ingest Buffer 時間 温度 05:50 52o 05:55 54o 06:00 54o 06:05 55o Insert: <6:05AM, 55o > ラージ・プール Copyright © 2021, Oracle and/or its affiliates 例:センサーデータ・測定温度の書込み https://blogs.oracle.com/otnjp/shibacho-056 【参考情報】 2021/5/28 TimesTen
  54. 統合・集約にむけて ~ 状況の把握 EMCC :ホスト稼働率 • CPUおよびCPUスレッドの使用率 • メモリ使用率 •

    ファイルシステムの分散 • ネットワークの使用方法 単一ホストの稼働状況把握のし易さ マルチテナント・アーキテクチャ実装編 Copyright © 2021, Oracle and/or its affiliates 67 2021/5/28
  55. 統合・集約にむけて ~ 状況の把握 【参考資料】 OS Watcher (Autonomous Health Framework) マルチテナント・アーキテクチャ実装編

    Copyright © 2021, Oracle and/or its affiliates 69 AHF: (ドキュメントID 2604563.1) OSWatcher: (ドキュメントID 1509957.1) 2021/5/28
  56. 統合・集約にむけて 各PDBの特性を把握するために ~RAT データベース・リプレイの活用 マルチテナント・アーキテクチャ実装編 Copyright © 2021, Oracle and/or

    its affiliates 70 統合・集約対象の複数システムでキャプチャ 1. PDB個別にリプレイ 2. 統合・集約対象の複数システムでリプレイ V$RSRCPDBMETRIC および V$RSRCPDBMETRIC_HISTORY AWR 2021/5/28
  57. 統合・集約にむけて V$RSRCPDBMETRIC_HISTORY V$RSRCPDBMETRIC_HISTORYは、PDBの リソース・マネージャ・メトリックの履歴(最新の1時間)を示します。 マルチテナント・アーキテクチャ実装編 Copyright © 2021, Oracle and/or

    its affiliates 71 ORCL19CD (19.10) PDB1 PDB2 Swingbench 2.6 <OLTP系処理> Swingbench 2.6 <DWH系処理> PDB2 PDB1 PDB2 t t SGA_BYTES IOPS 60~70% PDB1 https://docs.oracle.com/cd/F19136_01/refrn/V-RSRCPDBMETRIC_HISTORY.html#GUID-63468705-52A9-4639-96EA-2323B22124BF 2021/5/28
  58. メンテナンスの観点 ~ パッチおよびアップグレード戦略 リリース・アップデートの概要とFAQ (Doc ID: 228962.1) より マルチテナント・アーキテクチャ実装編 Copyright

    © 2021, Oracle and/or its affiliates 72 製品 2018/4 2018/7 2018/10 2019/1 2019/4 2019/7 2019/10 18c 18.2.0 18.3.0 18.4.0 18.5.0 18.6.0 18.7.0 18.8.0 18.2.1 18.3.1 18.4.1 18.5.1 18.6.1 18.7.1 18.2.2 18.3.2 18.4.2 18.5.2 18.6.2 19c 19.2.0* 19.3.0 19.4.0 19.5.0 19.2.1 19.3.1 19.4.1 19.2.2 19.3.2 Update/Revision 間は柔軟に行き来が可能 同じ セキュリティ、 リグレッションレベル 2021/5/28
  59. メンテナンスの観点 ~ パッチおよびアップグレード戦略 Annual Releases • 従来の11g -> 12c, R1

    -> R2といった数年に一度のサイクル から「年次リリース」に変わります • バージョン番号はリリース年の下二桁となります 3ヶ月ごとのUpdatesとRevisions • Updatesはプロアクティブパッチで既存で見つかった重要な 障害やセキュリティ修正が含まれます • RevisionはUpdateリリース以降の新たなセキュリティおよび リグレッション修正が含まれます • 社内で十分なテストを行った後に提供されます • Updatesは個別のパッチ適用を行うリスクを低減するための ものです • UpdatesとRevisionsは1月、4月、7月、10月にリリースされ ます • 以前のバージョンのBPやPSUのリリースサイクルと同等です Long Term Release • Premier Supportを5年間 • Extended Supportを3年間 • 安定性を重視し、長期間にわたってパッチ修正を提供 • 長期間安定して運用したいシステム向け • 現時点ではOracle Database 19cが該当 Innovation Release • Premier Supportを2年間 • Extended Supportは提供しない • 多くの機能拡張や新しい機能を提供 • まず新しい機能を試したいお客様向け マルチテナント・アーキテクチャ実装編 Copyright © 2021, Oracle and/or its affiliates 73 2021/5/28
  60. メンテナンスの観点 ~ パッチおよびアップグレード戦略 マニュアル記載のアップグレード手順概要 Upgrade and Migration Scenarios (PDBに関するものを抜粋) 異なるエンディアン・オペレーティング・システムでの非CDBのPDBへの移行と変換

    新しいCDBへのPDBの抜き差しおよびアップグレード 同じオペレーティング・システムでの非CDBのPDBへのアップグレードと変換 同じシステムでのPDBの並列アップグレード マルチテナント・アーキテクチャ実装編 Copyright © 2021, Oracle and/or its affiliates 75 R 12.x orclpdb R 19.x orclpdb PDB データファイル https://docs.oracle.com/cd/F19136_01/spupu/about-upgrading-pluggable- databases-sequentially.html#GUID-4CB1CB0C-E893-41F6-A1A5- 2E2BE1A706AF 2021/5/28
  61. パッチおよびアップグレード戦略 ~ 環境差異の確認について 簡易検証の環境情報 マルチテナント・アーキテクチャ実装編 Copyright © 2021, Oracle and/or

    its affiliates 76 R 19.3 clone Node1 Node2 簡易手順 1. Node1 に R19.3 環境を構築 - DBCA により CDB構成 (PDB*1)を作成 - orcl193pdb とする 2. Node2 に R19.3 環境を構築 - RU 19.6 を適用し、CDBを作成 3. orcl193pdb を R19.6 CDB-ROOTにclone - 静的な状態でPDB Cloneを作成 - orcl196pdb とする - datapatch の適用からopenへ orcl193pdb orcl196pdb R 19.6 【参考情報】 2021/5/28
  62. パッチおよびアップグレード戦略 ~ 環境差異の確認について 手順の詳細 マルチテナント・アーキテクチャ実装編 Copyright © 2021, Oracle and/or

    its affiliates 77 Node2 において R19.3.0.0.0にRU(R19.6.0.0.200114)を適用 • Patch 30557433 - Database Release Update 19.6.0.0.200114 Download • PATHを通す - export PATH=$PATH:/u01/app/oracle/product/19.0.0/dbhome_1/OPatch/ [oracle@jphppt18 ~]$ cd 30557433/ [oracle@jphppt18 30557433]$ opatch prereq CheckConflictAgainstOHWithDetail -ph ./ Oracle Interim Patch Installerバージョン12.2.0.1.17 Copyright (c) 2020, Oracle Corporation. All rights reserved。 PREREQ session Oracleホーム : /u01/app/oracle/product/19.0.0/dbhome_1 中央インベントリ : /u01/app/oraInventory 元 : /u01/app/oracle/product/19.0.0/dbhome_1/oraInst.loc OPatchのバージョン : 12.2.0.1.17 OUIのバージョン : 12.2.0.7.0 ログ・ファイルの場所 : /u01/app/oracle/product/19.0.0/dbhome_1/cfgtoollogs/opatch/opatch2020-01- 24_13-06-48午後_1.log Invoking prereq "checkconflictagainstohwithdetail" Prereq "checkConflictAgainstOHWithDetail" passed. OPatch succeeded. 【参考情報】 2021/5/28
  63. パッチおよびアップグレード戦略 ~ 環境差異の確認について 手順の詳細 マルチテナント・アーキテクチャ実装編 Copyright © 2021, Oracle and/or

    its affiliates 78 Node2 において R19.3.0.0.0にRU(R19.6.0.0.200114)を適用 [oracle@jphppt18 30557433]$ opatch apply Oracle Interim Patch Installerバージョン12.2.0.1.17 Copyright (c) 2020, Oracle Corporation. All rights reserved。 Oracleホーム : /u01/app/oracle/product/19.0.0/dbhome_1 中央インベントリ : /u01/app/oraInventory 元 : /u01/app/oracle/product/19.0.0/dbhome_1/oraInst.loc OPatchのバージョン : 12.2.0.1.17 OUIのバージョン : 12.2.0.7.0 ログ・ファイルの場所 : /u01/app/oracle/product/19.0.0/dbhome_1/cfgtoollogs/opatch/opatch2020-01- 24_13-12-36午後_1.log Verifying environment and performing prerequisite checks... OPatch continues with these patches: 30557433 ………… Patch 30557433 successfully applied. Sub-set patch [29517242] has become inactive due to the application of a super-set patch [30557433]. Please refer to Doc ID 2161861.1 for any possible further required actions. Log file location: /u01/app/oracle/product/19.0.0/dbhome_1/cfgtoollogs/opatch/opatch2020- 01-24_13-12-36午後_1.log OPatch succeeded. 【参考情報】 2021/5/28
  64. Node1 上の orcl193pdb の clone を Node2 (orcl196)に作成 マルチテナント・アーキテクチャ実装編 Copyright

    © 2021, Oracle and/or its affiliates 79 トランザクションをかけず、データの静止点を維持した状 態から、SQL Developer により Clone を作成した パッチおよびアップグレード戦略 ~ 環境差異の確認について 【参考情報】 2021/5/28
  65. パッチおよびアップグレード戦略 ~ 環境差異の確認について マルチテナント・アーキテクチャ実装編 Copyright © 2021, Oracle and/or its

    affiliates 80 Node2 (orcl196pdb)を作成した直後の状態 SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB READ WRITE NO 4 ORCL196PDB MOUNTED この状態から orcl196pdb を open すると … SQL> alter pluggable database ORCL196PDB open; 警告: PDBが変更されましたが、エラーがあります。 SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB READ WRITE NO 4 ORCL196PDB READ WRITE YES 【参考情報】 2021/5/28
  66. パッチおよびアップグレード戦略 ~ 環境差異の確認について マルチテナント・アーキテクチャ実装編 Copyright © 2021, Oracle and/or its

    affiliates 81 Doc ID: 1943745.1 を参考に datapatch を適用 手順として • clone 直後 target では mount になる • alter pluggable database orcl196pdb open upgrade する • $ORACLE_HOME/Opatch/datapath.sh -pdbs orcl196pdb で個別に適用 • pdbの close -> openする SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB READ WRITE NO 4 ORCL196PDB READ WRITE NO 【参考情報】 2021/5/28
  67. パッチおよびアップグレード戦略 ~ 環境差異の確認について RAT(SPA)の活用 マルチテナント・アーキテクチャ実装編 Copyright © 2021, Oracle and/or

    its affiliates 82 R 19.3 R 19.6 clone Node1 Node2 RAT (SPA) 操作 1. Node1 に R19.3 環境を構築 - DBCA により CDB構成 (PDB*1)を作成 - orcl193pdb とする - この状態でSTS(19.3)を作成 2. Node2 に R19.3 環境を構築 - RU 19.6 を適用し、CDBを作成 3. orcl193pdb を R19.6 CDB-Rootにclone - 静的な状態でPDB Cloneを作成 - orcl196pdb とする - datapatch の適用からopenへ - この状態でSTS (19.6)を作成 4. EMCCから各STSを評価する orcl193pdb orcl196pdb RAT RAT 今回のパッチ適用手順 【参考情報】 2021/5/28
  68. メンテナンスの観点 ~ パッチおよびアップグレード戦略 【参考】CDB を乗り換える運用 マルチテナント・アーキテクチャ実装編 Copyright © 2021, Oracle

    and/or its affiliates 84 PDB データファイル • RU/RUR • アップグレード • プラットホームの刷新 ✓ H/WやOSの入れ替 ✓ オンプレミスからCloudへのシフト 2021/5/28
  69. 機能編 タイトル 解説内容 A-1 構成について 物理および論理構成について (ファイル群・表領域・インスタンスなど) A-2 ユーザについて 共通ユーザ・ローカルユーザ

    および権限について A-3 サービスと接続 CDB構成とOracle Net Services A-4 マルチテナントの可搬性 PDBクローンについて解説 A-5 MAAとマルチテナント Maximum Availability Architecture とマルチテナントの実装 A-6 TDEとマルチテナント 統合モードと分離モード A-7 Application Container と補足情報 マルチテナント環境で実現する新しいマスター連携 マルチテナント・アーキテクチャ ~ まとめ Copyright © 2021, Oracle and/or its affiliates 85 実装編 タイトル 解説内容 B-1 性能についての差異 簡易検証の結果を共有 B-2 各リソースとマルチテナント リソース設定で考慮したいこと B-3 マルチワークロードと参考情報 OLTP、DWH、IoTなどを考慮した構成について B-4 統合・集約にむけて 設計・サイジングを補完するツールと活用 B-5 メンテナンスの観点 パッチ・アップグレード関連の参考情報 2021/5/28
  70. RACとマルチテナントを組み合わせた例: 可用性要件に応じ、Active-Active, Active-Passive, シングルインスタンスなど稼働形態と構成が選択できる Maximum Availability Architecture & マルチテナント Appendix

    87 インスタンス上で Open する PDBを選択できる Instance2 Instance1 PDB1 : 可用性要件-高 PDB2 : 可用性要件-中 PDB3 : 検証環境 PDB1 PDB1 PDB2 PDB3 PDB2 (F/O可能) Active Standby Active Active Standalone PDB1 PDB2 PDB3 Copyright © 2021, Oracle and/or its affiliates CDB Grid Infrastructure Instance1 Instance2 2021/5/28
  71. プラガブル・データベース・クラスタ・リソース [grid@ptvm03 ~]$ crsctl stat res -t … ora.orcl2130.db 1

    ONLINE ONLINE ptvm03 Open,HOME=/u01/app/o racle/product/21.0.0 /dbhome_1,STABLE 2 ONLINE ONLINE ptvm04 Open,HOME=/u01/app/o racle/product/21.0.0 /dbhome_1,STABLE ora.orcl2130.orcl2130pdb1.pdb 1 ONLINE ONLINE ptvm03 STABLE 2 ONLINE ONLINE ptvm04 STABLE Maximum Availability Architecture & マルチテナント Appendix 88 https://docs.oracle.com/cd/F39414_01/nfcon/pluggable-database-cluster-resources-366970530.html Copyright © 2021, Oracle and/or its affiliates PDBがクラスタ・リソースとして 独立して扱われる CDB PDB orcl2132 orcl2131 orcl2130 pdb1 orcl2130 pdb2 orcl2130 Grid Infrastructure 2021/5/28
  72. 仮想化OS環境との比較 • 仮想化環境 – 仮想マシン(VM) • マルチテナント - PDB Appendix

    89 Hypervisor Hypervisor OS PDB1 PDB2 PDB3 CDB$ROOT 分離性 柔軟性 ≒ Hypervisor? <OS> <OS> <OS> VMやPDBに対する柔軟な リソース割り当てが可能 動的な変更やオーバーサブ スクライブも可能 (あまり推奨しない) Copyright © 2021, Oracle and/or its affiliates 2021/5/28
  73. マルチテナント・セキュリティの強化 ~ ノイジーネイバーや悪意ある隣人から保護 • PDBとCDBの両方のセキュリティ分離を強化 • プロセス、CPU、メモリ、ネットワーク、ファイルアクセス • OS機能を利用して、CDBとPDBを「NEST」という 独自のセキュリティ領域内に配置

    • Linux: Namespaces, CGroups, Capability、SECComp filtering • 各PDB NESTは独自のPIDを持ち、他のNEST内のPDBにアクセス不可 • DBNEST_ENABLEを CDB_RESOURCE_PDB_ALLに設定することで有効 Appendix Copyright © 2021, Oracle and/or its affiliates 90 OS PDB 1 NEST PDB 2 NEST PDB 3 NEST CDB NEST 2021/5/28
  74. Multitenant Architectureベースの災害対策 “Aurous” MAA構成 リフレッシュ可能PDBスイッチオーバーによるPDBの柔軟な配置 • 高可用性とPDB配置の柔軟性、データ保護とディザスタリカバリ • Aurous構成はSilverとGoldの中間 •

    CDBは様々なSLAのPDBをホスト可能 • クリティカルでないPDBとビジネス・クリティカルなPDBやミッション・クリティカルなPDBを同一CDBに配置可能 • ビジネス・クリティカルなPDBを別のRACインスタンスにフェイルオーバー可能 • ミッション・クリティカルなPDBを別のCDBにフェイルオーバー可能 • いくつかの機能は使用不可: • 読み取り専用スタンバイ、自動DRフェイルオーバー、高速ロール移行 • RTO: インスタンス障害は数秒、DRは30分未満 • RPO: DRは15分未満 Appendix 91 Platinum Gold Aurous Silver Bronze Copyright © 2021, Oracle and/or its affiliates 2021/5/28
  75. Unplug/plug PDB2 from CDB1 standby to CDB2 and failover application

    connections Appendix : マルチテナント Data Guard 92 Primary CDB1 Standby CDB1 Read/Write Read PDB単位の障害に対応 Copyright © 2021, Oracle and/or its affiliates CDB2 Read/Write 2021/5/28
  76. Our mission is to help people see data in new

    ways, discover insights, unlock endless possibilities.