この記事はLudovico Caldaraによる”Oracle Data Guard per Pluggable Database is available today!“の日本語翻訳版記事です。
翻訳元の記事は2022年に公開されたものです。
2024年3月4日
Oracle Data GuardはOracle DatabaseにDRを実装するソリューションです。フィジカル・スタンバイ構成からはじまり、Data Guardはこれまで今はサポートされていない従来の非CDBアーキテクチャと親和性が高くなるように設計されてきました。
2013年に12cで導入されたOracle Mutitenantは、Oracle Databaseのアーキテクチャを大きく変貌させ、新たな統合機能を解放しデータベースのライフサイクルを簡素化し、長年にわたって新しい操作を可能にするために、進化し続けてきました。これまでの進化の中には、ホット・クローンやリフレッシュ・クローン、オンライン・リロケーションなど様々な機能があります。そして、ついに今日(2022年)、Oracle Data Guard per Pluggable Database (DGPDB)が利用可能になりました。
このマルチテナント・アーキテクチャに特化したData Guardの新機能は、CDB単位だったアーキテクチャに代わるものになります。この機能を利用してお客様は、効率的なCDB毎のData Guardもしくはより柔軟なPDB単位のData Guardを実装できるようになります。
DGPDBは21c(21.7)から利用可能です。
従来のCDB単位アーキテクチャのおさらい
以下の画像は、従来のData Guard環境を表しています。

CDBが従来の構成の場合、1つのCDBがプライマリになり、もう一つがスタンバイになります。したがって、プライマリCDBにある各PDBもプライマリになり(read-writeでオープン)、スタンバイCDBにある各PDBもスタンバイになります(MOUNTもしくはreal-time applyのread-onlyでオープン)。もし、CDBが新しいロールに変更された場合、全てのPDBも同じようにロール変更をします。
Data Guard per Pluggable Database (DGPDB) とは何か?
Data Guard per Pluggable Database (DGPDB)は名前の通り、Data GuardがCDB全体ではなく個別のPDB単位で実装されるようになります。
つまり、DGPDB構成はプライマリCDBとスタンバイCDBをそれぞれ1つづつ持つ代わりに、2つのプライマリCDBを持つ構成になります。各CDBはread-writeでオープンしているPDB(最終的にはリモートCDB上のターゲットPDBにより保護される)とリモートCDB上の連携されたPDBを保護するMOUNTされたPDBを持つことになります。

Data Guardの保護レベルをPDB単位で持つことで、お客様はそれぞれのPDBをリモート・サイトにスイッチオーバー・フェイルオーバー可能になります。
この構成には2つの大きなメリットがあります。
-
お客様は、マルチテナント統合の利点を活かしながら、2 つの異なるサイト間でワークロードのバランスを取ることができます。
- PDB単位のロール変更はCDB単位よりも速く実行できます。
Data Guard per Pluggable Database(DGPDB)のアーキテクチャ
DGPDBは従来のData Guard同様、REDO転送サービスを提供します。プライマリ・インスタンスではログライター・プロセス(LGWR)がCDB全体の情報をオンラインREDOログ(ORLs)にREDO情報を書き込みます。ASYNC(非同期)転送プロセス(TTnn)はその情報を非同期でターゲットPDBが存在するリモートCDBに送ります。
受信プロセス(RFS)はプライマリから受け取ったREDO情報をスタンバイREDOログ(RFSs)に書き込みます。この地点までで、転送メカニズムは従来のData Guardと変わらず、DGPDBも従来と全く同じギャップ解消メカニズムを提供します。
DGPDBでは、PDBごとに 1つの「適用」プロセス(TTnn)があり、そのPDBに関連するデータをフィルタリングして適用します。 リカバリはPDBレベルで開始および停止できます。

DGPDB構成は2つのプライマリ・データベースで構成されます。 したがって、REDO転送サービスのプロセスは、次の図に示すように対称的です。

このアーキテクチャはリモートCDBに全てのREDOを転送します。もし、数ある中の数個のPDBのみが保護されている場合、大きなオーバーヘッドが生じる可能性があります。なので、書き込み処理の激しいPDBで保護が必要ないものがある場合、余分なREDO転送を避けるために別のCDBに常駐させる必要があります。
Data Guard per Pluggable Databse(DGPDB)の主な制限事項
初期バージョンのDGPDBは以下のような主な制限事項があります。(2022年時点)

今後、機能拡張にも尽力いたしますので、どうぞご期待ください。
参考情報
公式ドキュメント: Scenarios for Using DGMGRL with a DG PDB Configuration
