データベースの高可用性の計画

Oracle Cloud Infrastructure Databaseサービスを使用すると、Oracle Databaseシステム(DB System)を迅速に起動して、1つ以上のデータベースを作成できます。Databaseサービスでは、サイズ、価格、パフォーマンスに至る様々なタイプのDB Systemがサポートされています。

データベースの高可用性を計画するには、次の主要な設計計画を考慮する必要があります。
  • Exadata Databaseシステム、2ノードのRAC DBシステムおよびData Guardの主なツールを使用します。
  • CPUおよびストレージ・レイヤーを自動的にスケーリングするように構成します。
この記事では、これらの戦略について説明します。

Exadata Databaseシステムの使用

Exadata Databaseシステムでは、Oracle Cloud InfrastructureでExadataの機能を活用できます。

Exadata Databaseシステムは、クォータ・ラック、ハーフ・ラックまたはフル・ラックのコンピュート・ノードおよびストレージ・サーバーで構成され、高速で待機時間の短いInfiniBandネットワークおよびインテリジェントなExadataソフトウェアによって結び付けられます。自動バックアップを構成したり、様々なワークロード用に最適化したり、需要の増加に合せてシステムをスケール・アップできます。

Exadata DBシステムは、組込みの高可用性機能を提供します。オンプレミスのExadata DBシステムでの既存のベスト・プラクティスはすべて適用可能です。

2ノードRAC DBシステムの使用

Oracle Cloud Infrastructureは、仮想マシン・コンピュート・インスタンス上に2ノードのRAC DBシステムを提供します。2ノードのRAC DBシステムは、組込みの高可用性機能を提供するため、高可用性を必要とするソリューションには2ノードのRAC DBシステムを使用することをお薦めします。

Oracle Cloud Infrastructure Object Storageに自動的にバックアップするようにDatabaseサービスを構成できます。次の図は、3層Webアプリケーションの高可用性をサポートするための2ノードのRAC DB Systemのデプロイを示しています。

rac-db.pngの説明が続きます
図rac-db.pngの説明

ノート:

アーキテクチャには、複数の可用性ドメイン(AD)が表示されます。単一のADを持つリージョンの場合、AD内のフォルト・ドメイン全体にリソースを分散するようにアーキテクチャを調整します。

Data Guardの使用

単一ノードDBシステムを使用するソリューションの場合、Oracle Data Guardを使用して高可用性を実現します。Data Guardは、企業データの高可用性、データ保護および障害時リカバリを保証します。

Oracle Cloud Infrastructure DatabaseサービスでのData Guardの実装には、2つのデータベース(プライマリ・ロールに1つとスタンバイ・ロールに1つ)が必要です。2つのデータベースは、Data Guardアソシエーションを構成します。ほとんどのアプリケーションは、プライマリ・データベースにアクセスします。スタンバイ・データベースは、プライマリ・データベースのトランザクション・コンシステント・コピーです。可用性およびディザスタ・リカバリを向上させるには、スタンバイ・データベースのDB Systemをプライマリ・データベースのDB Systemとは異なる可用性ドメインに配置することをお薦めします。Oracle Cloud Infrastructureアベイラビリティ・ドメイン間の高パフォーマンス・ネットワークがこのデプロイメントを可能にします。

db-dg.pngの説明が続きます
図db-dg.pngの説明

ノート:

アーキテクチャには、複数の可用性ドメイン(AD)が表示されます。単一のADを持つリージョンの場合、AD内のフォルト・ドメイン全体にリソースを分散するようにアーキテクチャを調整します。

Data Guardは、プライマリ・データベースからREDOデータを転送および適用することで、スタンバイ・データベースを維持します。プライマリ・データベースが使用不能になった場合は、Data Guardを使用して、スタンバイ・データベースをプライマリ・ロールに切り替えることができます。

高可用性をサポートするために、Data Guard構成で次のアクションを実行できます:
  • スイッチオーバー: プライマリおよびスタンバイのデータベース・ロールを元に戻します。各データベースは、Data Guardアソシエーションに新しいロールで引き続き参加します。スイッチオーバーでは、データ損失がないことが保証されます。プライマリ・データベースで計画メンテナンスを実行する前に、スイッチオーバーを使用できます。
  • フェイルオーバー: 既存のプライマリ・データベースで障害が発生したりアクセスが不可能になった後に、スタンバイ・データベースをプライマリ・ロールに移行します。最大パフォーマンス保護モードを使用している場合、フェイルオーバーによってデータ損失が発生する可能性があります。
  • 回復: Data Guardアソシエーションでデータベースをスタンバイ・ロールに回復します。回復コマンドを使用すると、失敗の原因を修正した後に、障害が発生したデータベースを再稼働させることができます。

CPUとストレージの自動スケーリング

ソリューションの高可用性を実現するには、DBシステムに十分な容量があることを確認する必要があります。Oracle Cloud Infrastructure上のデータベース・サービスは、データベース・サービスの様々なシェイプに基づいて、CPUコアまたはデータベース・ストレージを動的にスケーリングできます。

ベア・メタル・コンピュート・インスタンスに基づくDB Systemの場合、最小CPUコアから開始し、必要に応じてCPUコア数を動的に増やすことをお薦めします。仮想マシンのシェイプに基づいたDB Systemの場合、CPUコアおよびストレージ・サイズを動的に増やすことができます。