物理スタンバイデータベースは、ログ転送サービスを通じて、プライマリテナントとスタンバイテナント間でRedoログをリアルタイムに同期します。特に、プライマリテナントはスタンバイテナントへのログプッシュを行わず、スタンバイテナントがプライマリテナントからログをプルすることに依存しています。
ログ転送サービスは、ログの位置情報を自動的に特定し、ログの遅延やプライマリテナントが配置されるクラスタノードの障害などの高可用性問題を処理します。スタンバイテナントは、プライマリテナントのログアーカイブからログを取得するか、プライマリテナントが配置されるクラスタに直接ネットワーク接続してログを取得することができます。
ログ転送サービスは2種類の異なる使用モードを提供しており、これらのモードによって物理スタンバイデータベースの2つの異なるデプロイメントスキームが決定されます:ログアーカイブに基づく物理スタンバイデータベースとネットワークに基づく物理スタンバイデータベースです。
ログアーカイブに基づく物理スタンバイデータベース
ログアーカイブに基づく物理スタンバイデータベースでは、物理スタンバイデータベースのRedoログは、プライマリテナントまたは他のスタンバイテナントのログアーカイブから取得されます。これはOracleデータベースのFar Syncに類似しており、スタンバイテナントはログアーカイブとのみやり取りを行い、上流のプライマリテナントや他のスタンバイテナントとは他の形式でのやり取りはありません。
このデプロイメントモードでは、スタンバイテナントと上流テナントの間でネットワーク接続は不要ですが、その同期パフォーマンスと可用性はログアーカイブメディアの影響を受けます。
ログアーカイブに基づく物理スタンバイデータベースモードのデプロイメントアーキテクチャ図は以下のとおりです。図中、Log Archive(ログアーカイブ)、Log Archive Dest(ログアーカイブ宛先)、および Log Restore(ログ復元)が共同で、このデプロイメントモードにおけるログ転送サービスを構成しています。
ネットワークに基づく物理スタンバイデータベース
ネットワークに基づく物理スタンバイデータベースでは、スタンバイテナントは直接ネットワークを介してプライマリテナントまたは他のスタンバイテナントに接続し、ログを読み取ります。これはMySQLデータベースのレプリケーションに類似しています。
このデプロイメントモードでは、スタンバイテナントとプライマリテナントのネットワークが接続されている必要があります。スタンバイテナントはネットワークを介してRPCリクエストを送信し、プライマリテナントクラスタ内のRedoログを読み取ります。同時に、プライマリテナントノードの障害やログ回収などのシナリオにおけるスタンバイテナントの高可用性をサポートするため、スタンバイテナントはプライマリテナントのシステムビューに対するクエリ権限も必要とします。
特に、このデプロイメントモードでは、スタンバイテナントはプライマリテナントのログ転送サービスに対して継続的にログを要求します。ログ転送サービスが返すログは、プライマリテナントのオンラインログでも、ログアーカイブモードが有効な場合のアーカイブログでもかまいません。これら2つのログソースは自動的に切り替え可能であり、スタンバイテナントや業務利用者には透過的です。
ネットワークに基づく物理スタンバイデータベースモードのデプロイメントアーキテクチャ図は以下のとおりです。図中、Primary Tenant1はログアーカイブを有効にしていないため、Standby Tenant1はログ転送サービスを通じてPrimary Tenant1のオンラインログのみを同期できます。Primary Tenant2はログアーカイブを有効にしているため、Standby Tenant2はログ転送サービスを通じてPrimary Tenant2のオンラインログを同期できます。オンラインログが回収されると、ログ転送サービスは自動的にログソースをアーカイブログに切り替え、スタンバイテナントはログ転送サービスを通じてPrimary Tenant2のアーカイブログの同期を継続できるようになり、ログ同期の中断を可能な限り防ぎます。
2つのデプロイメントモードの比較
ログアーカイブに基づく物理スタンバイデータベースとネットワークに基づく物理スタンバイデータベースでは、機能の使用方法にいくつかの違いがあります。具体的な違いは以下の表のとおりです。
機能項 |
ログアーカイブに基づく物理スタンバイデータベース |
ネットワークに基づく物理スタンバイデータベース |
|---|---|---|
| スイッチオーバーをサポートするかどうか | サポート | サポート |
| フェイルオーバーをサポートするかどうか | サポート | サポート |
| 1つのプライマリデータベースが複数のスタンバイデータベースに接続することをサポートするかどうか | サポート | サポート |
| スタンバイデータベースのカスケードをサポートするかどうか | サポート | サポート |
| 非同期または同期かどうか | はい | はい |
| 最大可用または最大保護モードをサポートするかどうか | サポートなし | サポート
説明V4.4.2バージョンでは、V4.4.2 BP1バージョンからサポートされます。 |
| スポーンデータベースのスロットリングに対応するか | 不可 | 可、クラスタレベルでのスロットリングをサポート |
| スポーンデータベースのデータソース | アーカイブログ | プライマリデータベースのオンラインログまたはアーカイブログ、自動切り替えをサポート |
| プライマリデータベースでアーカイブモードを有効にする必要があるか | 必須 | 不要です
説明ネットワーク経由で接続された物理スポーンデータベースの場合、プライマリデータベースでアーカイブモードを有効にすることを推奨します。そうでない場合、スポーンデータベースでストリームが途絶えるリスクがあります。例えば、以下のシナリオではストリームが途絶える可能性があります:
|
| スポーンデータベースでアーカイブモードを有効にする必要があるか | 必須、そうでない場合はSwitchoverを実行できません | 不要です |
| リアルタイム性 | 秒単位~分単位 | 秒単位 |
| ログアーカイブでサポートされるストレージメディア | OSS/NFS | 対象外 |