データベース
 Computer >> コンピューター >  >> プログラミング >> データベース

Oracle Data Guard Far Syncで実現するデータ損失ゼロの遠隔地スタンバイ構成

本記事では、Oracle® Data Guardの機能の一つである「Far Sync」について詳しく解説します。

Far Syncは、物理的に離れた場所にあるプライマリ・データベースとスタンバイ・データベース間で、同期REDO転送を可能にするためにOracleが設計した新しい構成方式です。Oracle 12cで導入されたこの技術により、プライマリ・データベースがどれほど遠い場所にあっても、データ損失ゼロと高い保護レベルを実現できます。

Far Syncインスタンスは、プライマリ・データベースからREDOを受信し、それをスタンバイへ転送する役割を担います。ただし、Far Syncインスタンスにはデータファイルが含まれていないため、将来的にこれをプライマリまたはスタンバイとしてオープンすることはできません。

Far Syncインスタンスを利用することで、コミット応答時間への影響を最小限に抑えつつ、応答時間を許容範囲内のしきい値に収めながら、より高度なデータ保護を両立させることが可能になります。

アーキテクチャ

以下の図は、Far Syncアーキテクチャの一例を示したものです。

Oracle Data Guard Far Syncで実現するデータ損失ゼロの遠隔地スタンバイ構成

画像出典: https://www.oracle.com/technetwork/database/availability/farsync-2267608.pdf

構成手順

Far Syncを構成するには、以下の手順に従って作業を進めます。

1. プライマリからFar Syncコントロールファイルを作成し、Far Syncサーバーへコピーする

まず、次のコマンドを実行してFar Sync用のコントロールファイルを作成します。

ALTER DATABASE CREATE FAR SYNC INSTANCE CONTROLFILE AS '/home/oracle/farsync.ctl';

2. 作成したFar Syncコントロールファイルを使用して、Far Syncインスタンスをマウントする

次に、作成したコントロールファイルでFar Syncインスタンスをマウントします。以下のコマンドで、データベースロールが正しく設定されていることを確認しましょう。

SQL> select database_role from v$database;
DATABASE_ROLE
—————-
FAR SYNC

3. プライマリ・データベースのパラメータを設定する

プライマリ・データベース側では、初期化パラメータファイル(initファイル)に以下のパラメータを追加します。ここでは、Far Syncに対してSYNC転送とAFFIRMを指定している点がポイントです。

LOG_ARCHIVE_CONFIG='DG_CONFIG=(oraprimary,orafarsync,orastandby)' scope=both;
LOG_ARCHIVE_DEST_2='SERVICE=farsync SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orafarsync'
LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=oraprimary'

4. Far Syncのパラメータを設定する

Far Syncインスタンス側では、initファイルに以下のパラメータを追加します。スタンバイへの転送はASYNCモードで行われます。

LOG_ARCHIVE_CONFIG='DG_CONFIG=(primary,farsync,standby)'
LOG_ARCHIVE_DEST_2='SERVICE=standby ASYNC VALID_FOR=( STANDBY_LOGFILES,STANDBY_ROLE) DB_UNIQUE_NAME=orastandby'
LOG_ARCHIVE_DEST_1='LOCATION= USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orafarsync'

5. スタンバイ・データベースのパラメータを設定する

最後に、スタンバイ・データベース側でもinitファイルに以下のパラメータを追加します。これにより、スイッチオーバー時などにスタンバイがプライマリロールになった場合の転送経路も確保されます。

LOG_ARCHIVE_CONFIG='DG_CONFIG=(primary,farsync,standby)'
LOG_ARCHIVE_DEST_2='SERVICE=primary ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=oraprimary'
LOG_ARCHIVE_DEST_1='LOCATION= USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orastandby'

まとめ

Far Sync機能を活用すれば、企業は遠隔地にありながらもデータ損失ゼロを保証するスタンバイ・データベースを構築できます。「ゼロデータロスは現実的ではない」「遠距離同期ではデータベースのパフォーマンスが低下するのではないか」といった懸念を抱く企業にとって、その不安を解消し、導入への自信を持たせる有効なソリューションとなるでしょう。

さらに、Far Syncインスタンスは、リモートのスタンバイ・データベースで受信したアーカイブログのギャップ(欠落)解消処理という負荷を、プライマリ・データベースからオフロードする役割も果たします。また、ホスト外圧縮(off-host compression)によって、プライマリ・データベースのパフォーマンスに影響を与えることなくREDO転送の圧縮を実行でき、WANの帯域幅を大幅に節約できるのも大きなメリットです。

ご意見やご質問がございましたら、フィードバックタブからお気軽にお寄せください。チャットからすぐに会話を始めることも可能です。

データベース関連のトピックについては、こちらの記事もぜひご覧ください。

  1. データを失わずにmacOS VenturaからMontereyへダウングレードする3つの方法

    本記事では、macOS Venturaベータ版をmacOS Montereyにダウングレードするさまざまな方法を詳しく解説します。また、ダウングレード作業中にデータをバックアップする際は、ディスククローン機能を備えたiBoysoft DiskGeekerの活用をおすすめします。目次1. macOS Venturaについて知っておくべきこと2. macOS VenturaからMontereyへのダウングレード方法3選3. Time Machineを使ってダウングレードする方法4. リカバリーモードを使ってダウングレードする方法5. 起動可能なインストーラーを使ってダウングレードする方法6. ダウ

  2. データ損失なしでWindows 11へ無料アップグレードする方法【2022年最新版】

    Microsoftの最新OS「Windows 11」は、要件を満たすWindows 10搭載PC向けに無償アップデートとして提供されています。Windows 11へのアップグレード自体は無料ですが、すべてのWindows 10 PCがアップグレードできるわけではありません。Windows 11では、Intel第8世代(Coffee Lake)以降またはAMD Zen 2以降のCPU、TPM 2.0(Trusted Platform Module)対応、4GB以上のRAM、64GB以上のストレージが求められます。お使いのPCがWindows 11の最小システム要件を満たしていれば、Windows