株式会社コーソル
COLUMN

コーソルのお役立ちコラム

コーソルでは経験豊かなエンジニアが、Oracle Databaseに関するお役立ち情報を発信しています。
データベースのチューニングや設定にお役立ていただけます。

Oracle

公開日  更新日

Oracle Data Guardのフィジカルおよびスナップショット・スタンバイとは

Oracle Databaseの運用時に、なんらかの理由によって障害が発生し、データが損失してしまう事態は避けなければなりません。
そのような事態を防ぐために利用したいのが、Oracle Data Guardです。

今回は、Oracle Data Guardの複数ある方式のうち、主な3つの方式として、フィジカルとロジカル、そしてスナップショット・スタンバイ・データベースについて解説します。
「Oracle Databaseの災害対策を強化したい」とお考えのご担当者様は、ぜひご一読ください。

そもそもOracle Data Guardとは?

Oracle Data Guardとは、Oracle Database Enterprise Edition内にある、複数の拠点でデータベースを運用するためのレプリケーション機能のことです。
レプリケーション機能は、複製(レプリカ)を作る機能を意味し、同システム環境のサーバー間でほぼリアルタイムに同期を行い、同じデータを複数作成することができるものです。

Oracle Data Guardにおいては、データの変更履歴(REDO情報)を利用して、自動でデータベースの複製を作ります。
データベースを複製しておくことで、データベース障害やリージョン障害などが発生した際のシステムの復旧にかかる目標時間(RTO)を短くできるというわけです。
くわえて、データの復旧目標時点(RPO)の短縮にもつながります。

また、Oracle Data Guardによる複製のデータベースはスタンバイとして、メインで使用する元のデータベースであるプライマリと切り替えて使用することも可能です。
つまり、プライマリとスタンバイを任意で切り替えて使えるということです。
この機能によって、有事の際だけでなく、メンテナンスによる計画的な停止においても、データベースの停止時間を限りなく減らせます。

このようにOracle Data Guardは、大規模な災害といった有事の際の復旧のみならず、メンテナンスや移行における停止時間の短縮にも役立つのです。

Oracle Data Guardのスタンバイ・データベースのタイプ

Oracle Data Guardの構成には、本番データベースともよばれるプライマリ・データベースが1つと、それに関連づけられた最大30個のスタンバイ・データベースが含まれています。

プライマリ・データベースには、ほとんどのアプリケーションがアクセスするため、ここに格納されているデータが失われるようなトラブルは回避しなければなりません。
このプライマリ・データベースを守るために必要なのが、スタンバイ・データベースの複製です。

ここでは、代表的な3種類を取り上げ、それぞれの概要をまとめました。

【Oracle Data Guardのスタンバイ・データベースのタイプ】

名称 概要
フィジカル・スタンバイ・データベース プライマリ・データベースをブロックごとに正確に複製することで、完全なコピーを作成する
ロジカル・スタンバイ・データベース SQLをもとにプライマリ・データベースから転送されたREDO情報を復元し、データを同期する
スナップショット・スタンバイ・データベース プライマリ・データベースから転送されたREDO情報を一時的に停止しておき、あとから適用する

 

自社のニーズに合わせて効果的に活用するためにも、これら3つの方式の特徴を押さえておきましょう。

フィジカル・スタンバイ・データベース

フィジカル・スタンバイ・データベースは、プライマリ・データベースをブロックごとに正確に複製したものです。
プライマリ・データベースと物理的に同じ構成を有するデータベースに対し、同一のREDO情報を適用するため、完全一致のコピーを作れます。

表や索引のデータのみならず、データファイルといった物理的な構成も一致しているので、データベースの外部から見ても同一のものとして取り扱うことができます。

これらの特徴から、計画的なメンテナンスや予期せぬシステム障害の際に、フィジカル・スタンバイ・データベースを利用すると、停止時間を最小限に抑えることが可能です。
さらに、万が一プライマリ・データベースが破損した場合も、フィジカル・スタンバイ・データベースまで支障が出ないため、データの損失も防げます。

なお、フィジカル・スタンバイ・データベースでは、常にリカバリーの処理を行っており、基本的に読み書きの操作は行えません。

ロジカル・スタンバイ・データベース

ロジカル・スタンバイ・データベースでは、SQLをもとにプライマリ・データベースから転送されたREDO情報を復元します。
そのSQLをスタンバイ・データベースに適用することによって、データを同期する仕組みです。

このとき使用するSQLは、データベース内の検索や追加、削除といった操作のために用いられるデータベース言語です。
前述したフィジカル・スタンバイ・データベースとは異なり、ロジカル・スタンバイ・データベースでは読み書きの操作を実行できます。
プライマリ・データベースにはない、viewやテーブルなどのオブジェクトを作成できるほか、そのオブジェクトに対してinsertやupdateといった更新も自由に行えます。

ただし、ロジカル・スタンバイ・データベースはプライマリ・データベースを完全に複製したものではないため、物理的なバックアップとしては利用することができません。

スナップショット・スタンバイ・データベース

スナップショット・スタンバイ・データベースを使用すると、プライマリ・データベースから転送されたREDO情報を一時的に停止しておくことができます。

前述した2種類のデータベースと同様に、スナップショット・スタンバイ・データベースでは、プライマリ・データベースからREDO情報を受信します。
ただしREDO情報を受信するものの、同時には適用できません。

受信したREDO情報を適用するには、まずスナップショット・スタンバイ・データベースを変換して、フィジカル・スタンバイ・データベースに戻す必要があります。
その後、スタンバイ・データベースに対するローカル更新がすべて破棄されたあとに、REDO情報を適用することが可能です。

プライマリ・データベースのREDO情報は、受信と同時には適用されないのでリアルタイム性は失われてしまいます。
しかし、フィジカル・スタンバイ・データベースに変換されることで、元の状態に戻せるため、本番環境とほぼ同等のデータを用いた検証を実施したいケースにはぴったりです。

「本番と同じデータを使った検証は、なかなか難しい」「データ転送に時間がかかるので実施できていない」とお困りの担当者様もいらっしゃるかもしれません。
そのような場合は、スナップショット・スタンバイ・データベースの利用をおすすめします。

Oracle Data Guardの3つのスタンバイ・データベースを利用すると、データベースを守れる

今回は、Oracle Data Guardの概要を説明したのち、3つの方式をそれぞれ解説しました。

Oracle Data Guardを利用すると、複製のデータベースを作成することができます。
それによって、大規模な災害といった有事の際の復旧だけでなく、メンテナンスや移行における停止時間の短縮にも役立ちます。
Oracle Data Guardのスタンバイ・データベースには、フィジカルとロジカル、そしてスナップショットと3つの方式があるため、目的に応じて使い分けましょう。

Oracle Data Guardをこれから活用する、またはうまく運用できていない企業のご担当者様は、データベースのプロフェッショナル集団であるコーソルにご相談ください。
所属するエンジニアの98%がORACLE MASTERを保有しており、徹底的にサポートいたします。

この記事の監修者

監修者の写真

舛井 智行 (ますい ともゆき)

営業本部 企画&マーケティング部 次長

《資格》

Oracle Master Gold、Oracle RAC Expert、Linux Expert、LPIC Level1、Dbvisit Standby Certified Associate、基本情報技術者

《略歴》

2004年コーソル入社。2019年まで一貫してOracle Databaseの設計・構築・運用のサービス提供に従事。リモートDBAやリモート監視のサービス化、働き方改革プロジェクトで人事制度改革を手掛ける。2019年からライセンス販売強化のため企画&マーケティング部に異動。DbvisitやToad、DPAの取扱開始、販売促進活動を推し進め、ライセンス販売事業の売上拡大に注力中。

《主な著書》

オラクルマスター教科書 Gold DBA Oracle Database AdministrationⅡ
オラクルマスター教科書 Silver DBA Oracle Database Administration I
オラクルマスター教科書 Silver SQL Oracle Database SQL
Oracleの基本 ~データベース入門から設計/運用の初歩まで
プロとしてのOracle入門
Oracle Database 10g Oracle Enterprise Manager 逆引きクイックリファレンス

《担当者様からの一言》

コーソルはOracle Databaseの技術力において日本有数の知見を有すると自負しています。Oracle Masterの最高峰資格である『Oracle Master Platinum』の取得者数も日本No.1です。Oracle Databaseのことはもちろん、それ以外のDBについてもリモートDBAサービスを始めとした様々なサービス、製品を駆使してお客様のお困りごとを解消いたします。お困りごとがあればコーソルまでご相談ください。

監修者の写真

峯岸 隆一 (みねぎし りゅういち)

インフラソリューション部 市ヶ谷クラウドサービスチーム シニアエキスパート

《資格》

Oracle Master Gold、ORACLE MASTER Platinum、Oracle RAC Expert、
Oracle Database Cloud Service Oracle Infrastructure as a Service Cloud 2017 Implementation Essentials、
Oracle Cloud Infrastructure 2018 Architect Associate、
Oracle Cloud Infrastructure 2019 Architect Professional、
AWS Certified Solutions Architect – Associate、OSS-DB Silver、
MySQL 5.6 Database Administrator、基本情報技術者、テクニカルエンジニア(データベース)

《略歴》

2006年コーソル入社。2021年までOracle Databaseを中心にMySQLやGoldenGateなど、多岐にわたる製品のサポート業務に従事。2021年から企画&マーケティング部に異動し、Nutanix NDBサービス化、Qlik Replicateサービス化、AWS、OCIなど様々な製品のサービス化、クラウド環境上の製品検証、ブログ執筆を手掛ける。2023年からOCI技術に磨きをかけるべくOCI基盤の設計・構築業務を遂行中 。

《主な著書》

オラクルマスター教科書 Gold DBA Oracle Database AdministrationⅡ
オラクルマスター教科書 Silver DBA Oracle Database Administration I
オラクルマスター教科書 Silver SQL Oracle Database SQL  Oracleの基本 ~データベース入門から設計/運用の初歩まで

《担当者様からの一言》

コーソルはOracle Database製品および周辺製品において特化した技術力を有している会社です。また、育成にも力を入れており、新卒などOracle Databaseの知識がないエンジニアでも数年でOracle Master Platinumを取得するほどのエンジニアに育て上げることに成功しています。クラウド分野(AWS、Oracle Cloud)にも積極的に進出しておりますので、Oracle Databaseに関するサービスをご要望であればプラットフォーム問わず対応できるコーソルにご連絡下さい。

TOP