株式会社コーソル

コーソルDatabaseエンジニアのブログ

技術ブログ

Oracle Databaseレプリケーションとサポート状況/対応製品

渡部です。Oracle Database関連のレプリケーション技術について整理します。

Oracle Database本体のレプリケーション機能の多くが、サポートが終了していることに注意してください。

物理レプリケーションと論理レプリケーション

データベースのレプリケーション技術は、物理レプリケーションと論理レプリケーションに大別されます。

データベースのレプリケーション方式 レプリケーション方式の比較

物理レプリケーションは、データベース全体に対する物理的な更新を伝搬することで、 データベースを複製します。レプリケーション元のデータベース(プライマリDB)と レプリケーション先のデータベース(スタンバイDB)の物理的な構造が同じになります。

メカニズムがシンプルで運用しやすいため、災害対策に向けたDR構成/HA構成によく使用されます。

論理レプリケーションは、指定したテーブル群に対する論理的な更新を伝搬することで、 データベース内の指定したテーブル群を複製します。 レプリケーション元のデータベース(ソースDB)と レプリケーション先のデータベース(ターゲットDB)は異なる構成でも対応可能です。

製品によっては、異なるDBMS製品間でもレプリケーションが可能です。

メカニズムは比較的複雑ですが、柔軟なデータ連携が可能です。

論理レプリケーション

論理レプリケーションは、指定したテーブル群に対する論理的な更新を伝搬することで、 データベース内の指定したテーブル群を複製する技術です。

Oracle Database関連の論理レプリケーション技術は、 Oracle Database本体に含まれるレプリケーション機能と Oracle Databaseには含まれない、独立した論理レプリケーション製品に大別されます。

論理レプリケーションの伝搬の基礎となる、論理的な更新の実体は、基本的にDMLやDDLです。 しかし、Oracle本体のレプリケーション機能の場合は、その機能独自の形式である場合があります。

Oracle本体のレプリケーション機能

Oracle Databaseは、様々なレプリケーション機能があります。

正確には「ありました」かもしれません。というのも、最近のバージョンではいくつかの レプリケーション機能のサポートが終了し、使えなくなっているためです。

読取り専用MVIEWレプリケーション(基本レプリケーション)

読取り専用マテリアライズドビュー

読取り専用MVIEWレプリケーション(読取り専用マテリアライズドビューを用いたレプリケーション、マテリアライズドビューレプリケーション)は、 DBリンクをまたいだ読取り専用MVIEWを作成し、MVIEWリフレッシュの機能を用いることで、マスターサイト内のテーブル→MVIEWサイト内のMVIEWの方向のレプリケーションを行うものです。

ライセンス上は基本レプリケーションに分類され、Oracle Database Standard Edition 2でも使用できます。

更新可能MVIEWレプリケーション (※:12.2でサポート終了)

更新可能MVIEWレプリケーション(更新可能マテリアライズドビューを用いたレプリケーション)は、 読取り専用MVIEWレプリケーションの逆方向のレプリケーションを可能にしたものです。

読取り専用MVIEWレプリケーションでは、MVIEWリフレッシュの機能を用いることで、マスターサイト内のテーブル→MVIEWサイト内のMVIEWの方向のレプリケーションを行います。 更新可能MVIEWレプリケーションでは、これにくわえて、遅延トランザクションの機能を用いることで、逆方向(MVIEWサイト内のMVIEW→マスターサイト内のテーブル)のレプリケーションを行うことができるようになっています。

なお、更新可能MVIEWレプリケーションはOracle Database 12c R2でサポートが終了しており、Oracle Database 18c以降では使用できません。

マルチマスターレプリケーション (※:12.2でサポート終了)

マルチマスターレプリケーションは、遅延トランザクションの機能を用いることで、双方向のレプリケーションを可能にする機能です。

マルチマスタレプリケーション

この例では、データベースA(マスターサイトA) → データベースB(マスターサイトB)のレプリケーションの動作を説明していますが、逆方向のレプリケーションも可能です。

また、3つ以上のサイト以上が双方向レプリケーションする構成も可能です。

なお、マルチマスターレプリケーションはOracle Database 12c R2でサポートが終了しており、Oracle Database 18c以降では使用できません。

Oracle Streamsレプリケーション (※:18cでサポート終了)

Oracle Streamsは、オンラインログファイルに記録された更新情報から、論理的な更新を抽出し、これを元にレプリケーションを行う機能です。オンラインログファイルから論理的な更新を抽出するという動作の仕組みが、後述する論理レプリケーション製品に似ています。

Oracle Streamsレプリケーション

Oracle Streamsレプリケーションは、Oracle Database 18cでサポートが終了しており、Oracle Database 19c以降では使用できません。Oracle GoldenGateと機能が重複しており、かつ、Oracle GoldenGateの方が多くの機能を持っているためだと思われます。

Data Guardロジカルスタンバイ

Data Guardロジカルスタンバイは、論理レプリケーション技術を活用したData Guardです。 Data Guardは、災害対策目的でデータベース全体を複製する技術で、フィジカルスタンバイとロジカルスタンバイの2種類があります。

主に使用されるのはフィジカルスタンバイで、ロジカルスタンバイの採用例はかなり少ないです。

論理レプリケーション製品

Oracle Databaseには含まれない、独立した論理レプリケーション製品について説明します。

これらの論理レプリケーション製品は、1vs1構成のレプリケーションにくわえて、多DB構成のマルチマスタレプリケーションにも対応しています。

Oracle GoldenGate

Oracle GoldenGateはオラクル社が提供する論理レプリケーション製品です。

以下の特徴があります。

  • Oracle Databaseとの親和性が高い
  • 多くのDBMS製品に対応
  • カスタマイズ性に優れ、さまざまな要件や構成に柔軟に対応できる

優れた製品ですが、少し価格がお高めです。

Oracle GoldenGate Oracle GoldenGate

SharePlex

SharePlexはクエスト・ソフトウェア社が提供する論理レプリケーション製品です。

以下の特徴があります。

  • 高速な伝搬(コミット前伝搬による伝搬遅延の抑止)
  • ソースとターゲットのデータ比較&修復機能
  • カスタマイズ性に優れ、さまざまな要件や構成に柔軟に対応できる

Oracle→Oracleのレプリケーションにおいて、コスト面でOracle GoldenGateの採用が難しい場合の代替ソリューションとして採用されるケースが多いです。

SharePlex

SharePlexのソースDBとターゲットDBのデータ比較&修復機能を評価されるお客様が多いです。

物理レプリケーションとは異なり、論理レプリケーションではソースDBとターゲットDBのデータ整合性が崩れる場合があります。もちろん、意図的にデータ整合性を崩すことはないでしょうが、意図せずターゲットDBで更新SQLを実行してしまうことはありうることです。 しかし、データ整合性が崩れた状態でもOracleでエラーは発生しませんから、データ整合性が崩れていることに長期間気づかない恐れがあります。データ比較&修復機能を使うと, この問題に簡単に対処できます。

SharePlex

Qlik Replicate (旧Attunity Replicate)

Qlik Replicateは、Qlik社が提供する論理レプリケーション製品です。 Attunity Replicateと呼ばれていましたが、Qlik社がAttunity社を買収したことにともない、 製品名が変更されました。

以下の特徴があります。

  • 使いやすさに優れる : 導入が簡単、フレンドリなGUI
  • ソースDB側にエージェント導入不要(エージェントレス)
  • 多くのDBMS製品に対応

Qlik Replicateの使いやすさは特筆すべきものがあります。

また、多くのDBMS製品に対応しているため、様々なDBMS製品が使用されている環境で、様々な組み合わせのデータ連携を行いたい場合に向きます。

Qlik Replicateが対応するDBMS製品(および各種データストア)は以下の通りです。

  • RDBMS: Oracle、SQL、DB2、MySQL、Sybase、PostgreSQL
  • Data warehouses: Exadata, Teradata, IBM Netezza, Vertica, Pivotal, MS SQL Data Warehouse
  • データウェアハウス: Exadata、Teradata、IBM Netezza、Vertica、Pivotal、MS SQL データウェアハウス
  • クラウド: Apache、Cloudera、Hortonworks、MapR
  • ストリーミングプラットフォーム: Apache Kafka、Confluent
  • エンタープライズアプリケーション: SAP
  • レガシー: IMS/DB、DB2 z/OS、RMS、VSAM

コーソルでは、以下のレプリケーション製品の設計・導入・販売・サポートを行っています。Oracle Databaseのレプリケーションをご検討の際はぜひコーソルにお声がけください。

物理レプリケーション

物理レプリケーションは、データベース全体に対する物理的な更新を伝搬することで、 データベースを複製する技術です。レプリケーション元のデータベース(プライマリDB)と レプリケーション先のデータベース(スタンバイDB)の物理的な構造が同じになります。

物理レプリケーションが基礎とする技術は、データベースのバックアップおよびリカバリです。 このため、技術の安定性/信頼性はお墨付きです。

Oracle関連の物理レプリケーション技術には、Data Guardフィジカルスタンバイと基本スタンバイ の2つがあります。

Oracle Databaseの物理レプリケーション機能

Data Guardフィジカルスタンバイと基本スタンバイの比較

Data GuardはOracle Database Enterprise Edition限定の機能であるため、 Oracle Database Standard Editionで物理レプリケーションを行いたい場合は、基本スタンバイを使用することになります。

Data Guardフィジカルスタンバイ

Data Guardフィジカルスタンバイは、物理レプリケーション技術を活用したData Guardです。

Data Guardには、フィジカルスタンバイとロジカルスタンバイの2種類がありますが、フィジカルスタンバイの採用例が圧倒的に多いため、単に"Data Guard"と呼ぶ場合、Data Guardフィジカルスタンバイを指すことが多いです。

Oracle Database Enterprise Editionを使用していれば、追加費用なしでData Guardを使用できます。 ただし、読取り専用OPEN中の更新伝播や、スタンバイDBでの更新処理の実行などの拡張機能を利用したい場合は、有償のActive Data Guardオプションを追加購入する必要があります。

基本スタンバイ

基本スタンバイは、ひとことでいうと「Oracle Database Standard Editionで使用できるData Guardフィジカルスタンバイ機能の簡易版」になります。全てのEditionのOracle Databaseで追加費用なしで使用できます。

基礎とするメカニズムはData Guardフィジカルスタンバイと同等ですが、ファイル単位(アーカイブログファイル単位)で更新を伝搬する点、自動化されていない点が異なります。

基本スタンバイ

支援ツールなしで基本スタンバイを運用することは非常に大変なため、基本スタンバイを使用する場合は、原則的にDbvisitなどの基本スタンバイを支援するツールを併用します。

Dbvisit Standby

Dbvisit Standbyは、Dbvisit社が提供する基本スタンバイの支援ツールです。

Dbvisit Standbyのコア技術は基本スタンバイですが、 Dbvisit Standbyを活用すると基本スタンバイの導入・管理・運用の作業コストを大幅に削減できます。

Dbvisitで基本スタンバイの問題点をカバーする Dbvisitと基本スタンバイの操作手順比較 Dbvisitと基本スタンバイの操作手順比較

最新バージョンのv9で、スタンバイDBをレポート生成やテストに活用できる機能強化がなされています。

Standby Express (※:2019年で販売停止)

Standby Expressはワイ・ディ・シー社が提供していた基本スタンバイの支援ツールです。 Dbvisit Standbyと同等の位置づけの製品です。

ただし、Standby Expressは2019年で販売が停止されました。このため、 Standby Expressを利用していたユーザーには、後継製品としてDbvisit Standbyをお勧めしています

Dbvisit StandbyとStandby Express

コーソルでは、以下のレプリケーション製品の設計・導入・販売・サポートを行っています。Oracle Databaseのレプリケーションをご検討の際はぜひコーソルにお声がけください。

プロフィール

On7tWW6m1Ul4

渡部 亮太

・Oracle ACE
・AWS Certified Solutions Architect - Associate
・ORACLE MASTER Platinum Oracle Database 11g, 12c 他多数

68LD3LWce1j8

守田 典男

・新しもの好きな Oracle Fighter。
・保有資格 : ORACLE MASTER Platinum Oracle Database 11g, 12c 他多数

カテゴリー

アーカイブ