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

Oracle Database Options : High Availability

oracle4engineer
February 15, 2021
540

Oracle Database Options : High Availability

Oracle Databaseの基本機能やオプション機能で高可用性を実現するための技術を説明した資料です。Automatic Storage Management, Real Application Clusters, Active Data Guard, GoldenGateを含みます。

oracle4engineer

February 15, 2021
Tweet

Transcript

  1. データベース製品の体系 Database Core Enterprise Edition Standard Edition 2 Options &

    Other Products • Standard Edition 2は2ソケットの サーバーまで搭載可能 • Enterprise EditionにはOptionが 追加可能 Multitenant Diagnostics Pack Tuning Pack Lifecycle Management Pack Cloud Management Pack Engineered Systems Audit Vault & DB Firewall Advanced Security Database Vault Label Security KeyVault セキュリティ Database In-memory Partitioning Real Application Clusters Active Data Guard GoldenGate Advanced Compression TimesTen 高可用性 性能 マルチテナント • Option製品はEnterprise Editionと同じ数量を購入する必要あり • TimesTen Application Tier Database CacheのみOption稼働のプロセッサ数 • Spatial & Graph, Advanced Analyticsは2019/12/4より基本機能に変更 • GoldenGate, KeyVault, Audit Vault & Database Firewallは別製品 Exadata Database Appliance Zero Data Loss Recovery Appliance Big Data Appliance • ExadataとDatabase Applianceは Enterprise EditionとOptionライセンスをそ のまま搭載 3 Copyright © 2021 Oracle and/or its affiliates. Real Application Testing 運 用 管 理
  2. データベースの 「Option」はどのような機能を提供するか ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫

    ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ 4 Copyright © 2021 Oracle and/or its affiliates.
  3. システム停止時間の原因とOracle Database関連機能 ストレージ障害 人的エラー データ破損 サイト障害 システム障害 データ障害 計画外停止 システム変更

    インフラ・メンテナンス データ 変更 計画停止 アプリ 変更 Real Application Clusters Automatic Storage Management Flashback Technology Recovery Manager H.A.R.D Active Data Guard GoldenGate Online Reconfiguration Rolling Upgrades Data Guard Online Redefinition Data Guard Online Application Upgrade Edition-based Redefinition Oracle MAA Best Practices Copyright © 2021, Oracle and/or its affiliates 5
  4. IOUG Database Availability Survey アンケート結果 計画”外”停止の主な要因 【主な理由】 #2 人的エラー(45%) #3

    サーバー障害(45%) #4 ストレージ障害(42%) #5 アプリケーション・エラー(31%) Copyright © 2021, Oracle and/or its affiliates 6
  5. データボリュームや複雑なIOサブシステムの増加により、データ破損は不可避に ディスク・ドライブには既知の問題が • Schroeder and Gibson, Disk Failures in the

    Real World: What Does an MTTF of 1,000,000 Hours Mean to You?, 2007 • Pinheiro, et al, Failure Trends in a Large Drive Population, 2007 • Elerath, Hard Disk Drives: the Good, the Bad, and the Ugly! 2007 • Krioukov, et al, Parity Lost and Parity Regained, 2008 • Bairavasundaram, et al, An Analysis of Data Corruption in the Storage Stack, 2008 • Jiang, et al, Are Disks the Dominant Contributor for Storage Failures? 2008 全面的なディスクの障害よりも潜在的なデータ破損の方が深刻 データ障害は発生しうるもの Copyright © 2021, Oracle and/or its affiliates 7
  6. Active/Active構成はActive/Passiveより可用性が高い Active Data Guardのスタンバイ・データベースも本番データベースと同期しなが ら同時に検索することが可能 • ストレージ・ミラーリングと異なり、最新のデータにアクセスできる 従来の可用性技術ではアイドル・スペアが必要 • コールド・フェイルオーバー・クラスタ、パッシブ・DRサイト

    この方法は非経済的かつ信頼できない • 必要な時にバックアップ・システムが動くかどうかがわからない - スタンバイ・ストレージに潜在的な破損はないだろうか? • お客様は災害対策サイトを使うことをためらってしまう • 皆さん、車のスペアタイヤの空気圧をチェックしたことがありますか? 高可用性におけるActive-Activeの重要性 Copyright © 2021, Oracle and/or its affiliates 8
  7. Edition-based Redefinition, Online Redefinition, Data Guard, GoldenGate –メンテナンス/アップグレード/移行時の停止時間極小化 Active Data

    Guard – データ保護、災害対策 – クエリー・オフロード GoldenGate – 双方向レプリケーション – 異種混在環境のサポート Active Replica RMAN, Oracle Secure Backup, Zero Data Loss Recovery Appliance – ディスク、テープ、クラウドへのバックアップ Enterprise Manager Cloud Control – サイト障害管理、サイト・フェイルオーバー Application Continuity – アプリケーションHA Global Data Services – サービスフェイルオーバー / Load Balancing RAC – スケーラビリディ – 対サーバ障害 ASM – ローカルストレージの保 護 Production Site Flashback – 人的エラーの 保護 Oracle Maximum Availability Architecture (MAA) あらゆる停止要因を想定、すべてActive-Active Copyright © 2021, Oracle and/or its affiliates 9
  8. Oracle Recovery Manager (RMAN) Oracle Database自身の機能を使った確実かつ高速なバックアップおよびリカバリー データベース無停止でのオンライン・バックアップ • アプリケーションはバックアップの実行を 関知しない

    データ・ブロック破損の検査 • 破損ブロックのバックアップの防止 • バックアップ・ファイルの検査 どのファイルをどこにバックアップしたかを自動管理 • どのバックアップ・ファイルからリストアするかを自動判別 バックアップおよびリストア時間の短縮 • 並列化 • 高速増分バックアップ • 増分更新バックアップ • データ・ブロック単位のリストア 11 Copyright © 2021, Oracle and/or its affiliates oracle rman RMAN Oracle
  9. 12 Copyright © 2021, Oracle and/or its affiliates • RMAN以外の方法でコピーするすべての手法

    • Oracleインスタンスがコピーを関知しない • OSのファイル・コピー・コマンド • ストレージ機能のスナップショットやスプリット・ミラー • Oracle付属のバックアップ・ツール • Oracleサーバー・プロセスがデータベースのファイルにア クセスする仕組みを使ってファイルをコピー • Oracleインスタンス管理下で行われる操作 推奨はRMAN Oracle Databaseの2種類の物理バックアップ手法 oracle rman データファイル (コピー元) バックアップ (コピー先) コピー元ボリューム バックアップ・ボリューム スナップショット スプリット・ミラー Recovery Manager (RMAN) ユーザー管理バックアップ RMANクライアント Oracleサーバー・ プロセス
  10. • Oracle Databaseのストレージ仮想化機能 - Oracle Databaseに対するボリューム・マネージャ兼ファイルシステ ム - エディションに関係なく、シングルまたはクラスタ環境ともに利用可能 -

    ASMによるファイルシステム機能も提供 • I/O性能を最大限引き出しつつ、ストレージ管理工数を大幅削減 - すべてのストレージ・デバイスにまたがったディスクの仮想化とストライ ピングを自動で行い、アクセスを均一化 - ストレージ・デバイスの増減にあわせた自動リバランス • ストレージ筐体をまたがる高可用性と拡張性 - ミラーリング(二重化/三重化)可能 - 冗長構成でファイル破損を検出すると自動修復 - ストレージ・デバイス異常を検出すると自動切り離し - ストレージ・デバイスの増減にあわせた自動リバランス 高性能、高可用性、管理容易性を提供するデータベースとして理想的なストレージ管理機能 Oracle Automatic Storage Management (ASM) : 基本機能 1 2 3 4 1 2 3 4 4 3 1 2 追加 自動リバランス 削除 Copyright © 2021, Oracle and/or its affiliates 13 高性能の維持 高可用性の担保 管理容易性 ミラーリング ストライピング
  11. Copyright © 2021, Oracle and/or its affiliates 14 動的リバランシング •

    ディスクの追加/削除時に既存データ を動的に自動再配置し、容易な管理 が可能 • 容量やIOPS不足時に、ディスク を追加するだけでストレージ拡張 を実現 • データベース無停止でのリバランス が可能 ミラーリング • ミラーリング(2重化/3重化)により、 ディスク障害に対する可用性の担保 • ストレージ筺体を区別し、筐体 間でミラーを保持 ストライピング • 全ディスクでファイルを自動均等分散 の形でストライピングし、高性能を維 持 高性能、高可用性、管理容易性を提供するデータベースとして理想的なストレージ管理機能 Oracle Automatic Storage Management 1 2 3 4 Disk Disk Disk Disk File 1 2 3 4 Disk Disk Disk Disk 4 3 1 2 筺体#1 Primary Secondary 筺体#2 Disk Disk Disk Disk Disk 追加 自動リバランス
  12. Copyright © 2021, Oracle and/or its affiliates 15 • ストレージ・デバイス障害時に自動切り離し

    - OSシステム・コールがエラーになるストレージ・デバイスをオフライン化、 復旧できない場合は切り離す - 冗長化されていれば処理は継続 - ストレージ・パス障害の切り替えはOSのI/Oタイムアウトに依存 (60秒程度) - Exadataならば数秒でノード障害を切り離せる - ストレージ・デバイスの増減にあわせてリバランスして冗長性を回復 • ファイル・破損時の自動修復 - 読み取ったファイルの破損を「検出」するのはOracle のプロセスであ るが... - ストレージ・デバイス以外の階層の異常でもストレージのデータを破 損させる場合がある - ASMで冗長化している場合ファイル破損を検出すると自動的にミ ラーから読み取り処理継続し、破損個所を自動修復 Oracle Clientに透過的かつ自動的な切り離し、再配置、ブロック修復 ASMのストレージ障害への対処 Database Instance ASM Instance 1 2 3 2 3 1 自動切り離し 処理継続 自動修復 自動リバランス
  13. 17 Copyright © 2021, Oracle and/or its affiliates 透過性 •

    Oracleクライアントから見た挙動がシングル・インスタ ンスと同じ スケーラビリティ • 全ノードがアクティブで対等に更新可能 • ノード数(CPU数)増加による性能向上 - トランザクション系: 同時ユーザー数の向上 - 分析系: 並列度向上 可用性 • Oracleインスタンスに障害が発生しても正常ノードに よって自動的にリカバリされる • 最低1つのOracleインスタンスが稼働していれば全 データにアクセス可能 • ノードごとのローリング・メンテナンス可能 共有ディスク/共有キャッシュ型で全ノードがアクティブ Oracle Real Application Clusters (RAC) : 有償オプション
  14. 18 Copyright © 2021, Oracle and/or its affiliates Oracleインスタンスからのデータの見え方が同じ •

    ストレージを共有しており1つのOracleインスタンスか ら全データにアクセス可能 • 複数ノード間でのメモリーの一貫性を全自動で維持 (Cache Fusion) スキーマ構造が同じ • 表/索引を格納するデータ・ファイルが同じ • 表/索引のパーティショニングは不要 トランザクション分離レベルの挙動が同じ • 複数のセッションがノード内/ノード間で同じデータにア クセスしたときの挙動が同じ Oracleクライアントから見た挙動がシングル・インスタンスと同じ シングル・インスタンスで開発したアプリケーションがそのまま動作する Oracleクライアント
  15. Copyright © 2021, Oracle and/or its affiliates トランザクション系も分析系も同じアーキテクチャで対応 スケーラビリティ トランザクション系

    • 多数のセッションからの同時並行リクエスト • より多くの同時リクエストを処理 集計/分析系 • 1つのSQL処理を並列化 • より高い並列度で1つのSQLを処理 Oracleクライアント QC PX PX PX PX PX PX PX PX 19 Oracleクライアント
  16. 20 Copyright © 2021, Oracle and/or its affiliates Oracleインスタンス障害 •

    一瞬でOracle Grid Infrastructureに検出される • Oracleインスタンス障害が検出されると正常ノードの Oracleインスタンスによって自動的にリカバリされる • 最低1つのOracleインスタンスが正常動作していれば 全データにアクセス可能(アプリケーションが動作す る) OSより下の階層の障害 • OS以下の障害は正常ノードのOracle Grid Infrastructureがタイムアウトで検出 データベース・サーバーに障害が発生すると正常ノードが自動リカバリ 可用性: データベース・サーバー障害 GI GI GI GI GI: Oracle Grid Infrastructure
  17. 21 Copyright © 2021, Oracle and/or its affiliates ローリング・パッチ適用 •

    RACは最低1つのOracleインスタンスが正常動作して いれば全データにアクセス可能(アプリケーションが動作 する) • Oracleインスタンス停止 → パッチ適用 → 起動を ノードごとに繰り返すことでデータベース全体としては稼 働させたままパッチ適用が可能 一部のノードを停止させてもデータベースは稼働を継続可能 可用性: ローリング・メンテナンス GI GI GI (1)停止 (2)パッチ適用 (3)起動 GI: Oracle Grid Infrastructure
  18. Copyright © 2021, Oracle and/or its affiliates 22 Oracle接続ドライバがセッション切断を検出すると再接 続からトランザクション再実行まで自動実行。

    アプリケーションから見るとエラーを検出せずにトランザクショ ンが完了する。 一般的なWebアプリケーションのコードはほとんどの場合 変更不要。 有償オプションのReal Application Clustersもしくは Active Data Guardのライセンスをお持ちの場合に使 用可能。 更新トランザクションを安全に自動再実行(12c Release 1~) アプリケーション・コンティニュイティ 自動再接続→自動再実行 Oracleクライアント RAC SELECT INSERT UPDATE COMMIT
  19. 3.Data Guard/Active Data Guard ・Oracle Data GuardはEnterprise Editionの基本機能。 ・Active Data

    Guardは有償オプションである上位機能でスタンバイの有効活用と 可用性の向上を実現
  20. Oracle Database自身が持つレプリケーション機能でデータ保護・可用性の提供 + 適切なROIを実現 Oracle Active Data Guard (有償オプション) /

    Data Guard (EE基本機能) プライマリDB スタンバイDB 同期・非同期 破損ブロックの 自動修復(※) レポーティング(※) バックアップ(※) ※Active Data Guardオプションが必要 データ保護 迅速な切り替え リソースの有効活用 スイッチオーバー フェイルオーバー REDO転送によって同期をとることで、 データーベースを障害およびデータ破損か ら保護 計画/計画外停止時に迅速に切り替え ることでダウンタイムを縮小し、業務を継 続 レポーティング、テストやバックアップ用途 でスタンバイ・データベースを活用可能 Copyright © 2021, Oracle and/or its affiliates 24
  21. ストレージミラー方式 • ストレージのコピー機能を利用して、ソースとレプリカの間でデータの同 期をとる方式 • ストレージコピーなどのレプリケーション方式の場合、ソースでのデータ破 損がレプリカにもコピー、いざ切り替えようとしても切り替えられないレプリ カになる可能性がある Oracle Databaseのレプリケーション機能では

    • REDO(差分)を用いて同期をとる方式 • データファイルはデータブロックレベルで等しいが、ファイルやブロックをその ままをコピーしているわけではない • Oracle Active Data Guardは、ブロック破損やロストライトなどを防 ぎ、普段から利用して、いざという時に使えるレプリカを保持 「必要な時に切り替えようとしたら壊れていて切り替えられなかった」 データベースのレプリケーション ~よくある課題 : データ保護 ストレージ ストレージ Recovery File Recovery File ストレージ ストレージ インスタンス (メモリ) インスタンス (メモリ) インスタンス (メモリ) Recovery File Recovery File Copyright © 2021, Oracle and/or its affiliates 25
  22. • 要件・用途に合わせたレプリケーション - 2種類の適用方法を提供 ◦ フィジカル・スタンバイ(データブロックレベルでプライマリと等しい) ◦ ロジカル・スタンバイ・データベース(論理的にプライマリと等しい) - 2種類の転送方法を提供

    ◦ 同期転送(データ保護を優先) ◦ 非同期転送(システム性能を優先) • データ差分/整合性を担保する仕組み - スタンバイへの書き込み(データ変更)は不可 - 適用プロセスの並列化で差分を削減 - 自動でギャップ解決 - ロストライトを自動で検知 - 破損ブロックを自動で修復し、正しい結果を返す(自動ブロックメディアリカバリ)* データ保護・災害時の業務継続に適したレプリケーション Oracle Data Guardによるデータ保護 プライマリDB スタンバイDB 同期・非同期 *Active Data Guardオプションが必要 Copyright © 2021, Oracle and/or its affiliates 26
  23. ◼ データ保護 • プライマリで更新されたらスタンバイへの転送 未完了でも確定 ◼ パフォーマンス影響 • プライマリへの更新処理はスタンバイへの転送 を待機しない

    ◼ データ保護 • プライマリでのデータ更新はスタンバイへの転送 完了後に確定 ◼ パフォーマンス影響 • スタンバイへの転送時間に依存してプライマリ の更新処理が待機 Oracle Data Guard 転送方式 同期転送 (SYNC) 非同期転送 (ASYNC) 3.応答 2.転送 4.確定 1.処理 1.処理 2.確定 2.転送 Copyright © 2021, Oracle and/or its affiliates 27
  24. 適切なROIを実現 Active Data Guardのスタンバイ有効活用 レポーティング バックアップ テスト環境* • 参照可能モード(READ ONLY)で平常時の利活用

    - 19c以降はDMLも実行可能(頻繁な更新がないようなケースを想定) - バックアップをスタンバイで取得することで、プライマリでのバックアップ処理の負 荷を削減し業務影響をなくすことが可能 • 一時的に書き込み可能モードに変換してテスト環境として利用 - 基本機能のData Guardでも実現可能 - フィジカル・スタンバイから一時的に書き込み可能なスナップショット・スタンバイ に切り替え - フラッシュバック機能でテスト前の状態に戻し、フィジカル・スタンバイに戻したら 自動で差分適用 • 普段から利用することでデータの整合性、正常性を自動確認 - 参照用として動かすことでデータベースとしての利用可否を確認 - ロストライトなど同期されていないブロックを自動検知 *Data Guardのみで実行可能 Copyright © 2021, Oracle and/or its affiliates 28
  25. 一部更新を含む検索メインのワークロードもスタンバイへオフロード可能に Active Data Guard : DMLリダイレクト PRIMARY ACTIVE STANDBY DML

    1 2 DML IS REDIRECTED TO PRIMARY 3 DML IS APPLIED TO PRIMARY 4 DATA CHANGE IS STREAMED TO STANDBY 5 DATA IS VISIBLE TO CLIENT 29 Copyright © 2021 Oracle and/or its affiliates.
  26. Data Guard/Active Data Guard のユース・ケース DR環境・HA構成 クエリ・オフロード テスト環境 メンテナンス バックアップ処理のオフロード

    スナップ/クローンのソース ▶ 可用性レベルを向上したデータ保護 ▶ 分析などの参照系のオフロード ▶ プライマリのバックアップ負荷削減 ▶ プライマリの複製時の負荷削減 ▶ 一時的に書き込み可能モードに変換してテスト ▶ メンテナンスなどの計画停止をローリングで実施することでダウンタイムを短縮 Copyright © 2021, Oracle and/or its affiliates 30
  27. Oracle GoldenGate | リアルタイム・データ・レプリケーション製品 32 Oracle GoldenGateは、同種・異種混在DB環境において、 影響を極小化したトランザクション・キャプチャ機能、 高性能なトランザクション伝搬機能など、 リアルタイム・データ・レプリケーション機能を提供

    Cloud Big Data Data Lake DBs Data Events Transaction Data (更新差分データ)  リアルタイム・パフォーマンス 高速かつ軽量な動作で高いパフォーマンス を実現  優れた拡張性と柔軟性 1:1のシンプルな連携はもちろんn:nのよ うな複雑な構成にも柔軟に対応  多くの実績と信頼性 国内外で多くの導入実績を持ち、高い信 頼性を継続的に提供 製品の主な特徴 Copyright © 2021 Oracle and/or its affiliates
  28. おさらい Oracle GoldenGate のアーキテクチャ・イメージ Oracle GoldenGate Oracle GoldenGate DB Extract

    Distribution Server Service Manager Redo Log Receiver Server Replicat Performance Metrics Server Admin Server Service Manager Performance Metrics Server Admin Server DB Trail File Trail File Network 33 Copyright © 2021 Oracle and/or its affiliate
  29. シンプルなテクノロジーだからこそ実現できる多様なユースケース Oracle GoldenGate を用いた様々なユースケース 34 非RDBMSとの リアルタイム連携 Data Lake Ingest

    Streaming Ingest Cloud Ingest Messaging Replication NoSQL Replication SaaS Replication データベース レプリケーション Unidirectional Bi-Directional Peer-to-Peer Broadcast Consolidation Distribution Stream Processing Data Pipelines Data Transformation GoldenGate Integrations Time Series Analysis Geo-Fencing Predictive Analytics Copyright © 2021 Oracle and/or its affiliates
  30. Zero Down Time Migration/Upgrade 切替時間を極小化したデータベース移行 1) システム移行前 2) システム切替当日 3)

    システム移行後 切り戻し に活用 現行DB 新環境DB 現行DB 新環境DB 現行DB 新環境DB GoldenGate GoldenGate GoldenGate 35 Copyright © 2021 Oracle and/or its affiliates
  31. リアルタイム・データ比較ソフトウェア Oracle GoldenGate Veridata ◼ 複製元と複製先の異なるデータベース間におけるデータの比較照合・ 修正を実施するためのソフトウェア ◼ GoldenGate等でレプリケーションしている途中やレプリケーションした 結果のデータの同期を確認

    ◼ 人為的ミスによるデータ不整合の早期発見が可能 ◼ システムへの影響度少(表ロックなし、DB外でのデータハッシュ・ソー ト・比較、列・行のサブセット化) ソースDB Veridata リポジトリ データベース 比較データ の抽出 データ比較の設定 実行 / レポート参照 Web / コマンドライン から操作 Veridata Agent Veridata Agent レプリケーション Veridata Server Veridata Web Server ターゲット DB 36 Copyright © 2021 Oracle and/or its affiliates
  32. Copyright © 2021, Oracle and/or its affiliates 37  REDOログを転送、適用

     計画停止、ディザスタ・リカバリ  様々なデータ破損からの保護  同期および非同期構成のサポート  スタンバイDBの活用(Active Data Guard)  破損データブロックの自動修復(Active Data Guard)  REDOログから抽出したTrailを転送し、SQLを実行  計画停止、移行やアップグレード、リアルタイム・データ連携  異なるOSやDB間でのレプリケーション  オブジェクト単位の柔軟なレプリケーション  Active – Active 構成 スイッチオーバー Oracle Active Data Guard (ADG) Oracle GoldenGate (GG) ※Oracle GoldenGate のライセンスには、Oracle Active Data Guard のライセンスが含まれます
  33. データベースの 「Option」はどのような機能を提供するか ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫

    ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ 38 Copyright © 2021 Oracle and/or its affiliates.