ヘッダーをスキップ
Oracle Database高可用性ベスト・プラクティス
11gリリース2(11.2)
B65088-05
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

10 Oracle GoldenGateの構成

Oracle GoldenGateは、影響の少ない、リアルタイム・データの取得、分散および配信を同機種システムおよび異機種システムの両方で実現します。Oracle GoldenGateでは、費用効果的かつ影響の少ないリアルタイムのデータ統合と可用性を継続させるソリューションが、幅広いユースケースに対して可能です。Oracle GoldenGateではOracleテクノロジおよびアプリケーションとの緊密な統合、追加的な異機種システムのサポート、およびパフォーマンスの向上が提供されます。

この章には、次の項目が含まれます。

10.1 Oracle GoldenGateの概要

Oracle GoldenGateはソース・データベースのオンラインREDOログ・ファイルからREDOレコードを読み取り、このレコードをプラットフォーム非準拠の追跡ファイル形式に変換して、追跡ファイルをターゲット・データベースに転送することで、プライマリ・データベースの変更を捕捉します。Oracle GoldenGateは追跡ファイルをSQLに変換し、SQLをターゲット・データベースに適用することで、論理レプリカを保持します。ターゲット・データベースは同期の発生中、読取り/書込みに対してオープンです。その他のOracle GoldenGate情報は、次のサイトを参照してください。

http://www.oracle.com/us/products/middleware/data-integration/goldengate/index.html

Oracle GoldenGateの使用が適しているのは、その他のMAA機能では対応できない高度な要件にその柔軟性を生かせるような場合です。Oracle GoldenGateはMAAアーキテクチャにおける重要な要素で、次のような目的に有効です。

  • データ可用性とパフォーマンス平準化に使用されるアクティブ/アクティブなマルチマスター構成。前述の構成に対する重要な考慮事項である、競合の回避、または競合を検出および解決するプロセスの実装のどちらかによって、更新の競合を管理する機能。

  • レポーティング・インスタンスへの読取り/書込みアクセスが必要な場合の、操作レポーティングのオフロード。

  • 次のような計画済メンテナンス・タスクのための、ゼロに近い停止時間(一方向レプリケーション)または停止時間ゼロ(双方向レプリケーション)。

    • データベースのアップグレード

    • バックエンド・データベース・オブジェクトを変更するアプリケーションのアップグレード(旧バージョンと新バージョンをマップするための変換をユーザーが実装する必要があります)。

    • データベースの統合

    • データベースおよびプラットフォームの移行

10.1.1 Oracle GoldenGateおよびOracle Streams

Oracle GoldenGateは、Oracle MAAアーキテクチャにおいてOracle Streamsを直接的に置き換えます。Oracle GoldenGateはOracle Streamsの代替となります。Oracle GoldenGateはすべてがOracleという環境での同様の高度なレプリケーション機能だけでなく、異機種のデータベース管理システムにおける拡張的なレプリケーション・サポートも組み合せて提供します。Oracle GoldenGateによってユーザーは、すべてのプラットフォームを1つの水平的なレプリケーション・テクノロジに平準化することで、環境をシンプルにする機会を得られます。新規のレプリケーション・プロジェクトを実装する際はOracle GoldenGateを検討し、オラクルが現在も開発中のこのテクノロジを利用することをお薦めします。

オラクルは今後もStreams製品をサポートして同製品への投資を保護していくため、Oracle Streamsのユーザーは既存のStreamsの実装を引き続き拡張できます。Oracle Streamsの詳細は、次のWebサイトでOracle Streamsエリアを参照してください。

http://www.oracle.com/technetwork/database/focus-areas/data-integration/index.html

10.1.2 Oracle GoldenGateおよびOracle RAC

Oracle GoldenGateのアクティブ/アクティブ・レプリケーションは、Oracle Databaseの複数の同期化されたレプリカに対してワークロードを均衡化することで、高可用性とパフォーマンス平準化の両方に使用できます。Oracle GoldenGateをこの目的で使用する際の要件は次のとおりです。

  • Oracleデータベースの冗長コピー

  • サプリメンタル・データベース・ロギング

  • 各データベースでの取得および適用プロセスからのレプリケーション・オーバーヘッド

  • 競合の検出および解決

  • データベースが停止した場合のクライアントの通知/リダイレクト

  • ロジカル・レプリケーションのためのすべての前提条件の準拠

対照的に、Oracle RACでは、Oracleデータベースの単一コピーへの共有アクセスを保有する複数のサーバーに対してワークロードを均衡化することで、高可用性と拡張性の高いパフォーマンスが提供されます。Oracle RACにはクライアントの通知およびリダイレクトの統合的なメソッドが組み込まれており、追加的な処理または前提条件がロジカル・レプリケーションで求められることはありません。このような理由から、Oracle RACは、Oracleデータベースに高可用性と拡張性の高いパフォーマンスを実装する場合の推奨メソッドです。Oracle GoldenGateはほとんどの場合、Oracle RACとともにメンテナンスまたは移行に使用されます。もしくは、ソース・データベースのサブセットを地理的に離れた場所に分散するためのメソッドとして使用され、ローカルの読取り/書込みアクセスを提供するか、レポーティング・アプリケーションをオフロードするためのローカルの読取り/書込みレプリカを作成します(対象アプリケーションでデータベースへの読取り/書込みアクセスが必要な場合)。

10.1.3 Oracle GoldenGateとOracle Data Guard/Oracle Active Data Guard

Oracle GoldenGateはOracleの戦略的ロジカル・レプリケーション製品です。Oracle Data Guardは、データ保護およびデータ可用性に重点を置いたOracleの戦略的フィジカル・レプリケーション製品で、ロジカル・レプリケーションを上回るメリットを提供することから、対象となる目的における標準のMAA推奨製品です。Oracle Data Guardは、障害保護のためのストレージ・リモート・ミラー化またはホスト・ベース・ミラー化ソリューションのかわりとしてもよく使用されています。Oracle Data Guardではデータベースのローリング・アップグレード、移行の選択(たとえば、WindowsからLinux)、データ・センターの移動、およびその他のタイプの計画済メンテナンスをサポートしているため、計画済停止時間を最小限に抑えることもできます。Oracle Active Data GuardはOracle Data Guardの拡張機能で、読取り専用ワークロードおよびバックアップをオフロードするために、ソース・データベースの同期化されたフィジカル・レプリカを読取り専用にオープンするのを維持しておく、最もシンプルかつ高速で効率的なメソッドです。データ保護のためのData Guardの利点の詳細は、次のWebサイトでGoldenGateリンクから製品の技術資料『Oracle Active Data GuardとOracle GoldenGate』を参照してください。

http://www.oracle.com/technetwork/database/features/availability/index.html

Oracle GoldenGateはData Guard構成で相補的に使用されることがほとんどです。Data Guardフィジカル・スタンバイでは、データの保護と可用性が提供されます。同時に、Oracle GoldenGate取得プロセスがプライマリ・データベースまたは(ALOモードを使用して)スタンバイ・データベースのどちらかで構成され、1つ以上のターゲット・データベース(OracleまたはOracle以外のどちらでも)にデータを分散することで、高度なレプリケーション要件に対応します。Oracle GoldenGateは、データ保護、高可用性および障害回復のためのOracle Data Guard固有の機能よりもメリットがあり、ロジカル・レプリケーションのためのすべての前提条件が一致している場合に、Oracle Data Guardのかわりとして使用することもできます。例として次のようなユースケースがあります。

  • マルチマスター・レプリケーションを実装するか、またはターゲット・データベースへの読取り/書込みアクセスを求めるパッケージ化レポーティング・アプリケーションをオフロードするために、ターゲット・データベースへの読取り/書込みアクセスが必要な場合

  • Oracle Data Guardでサポートされていない異機種環境での計画済メンテナンスまたは移行を行う場合

  • 計画済メンテナンス中にOracle Databaseまたはアプリケーションの新規のバージョンから以前のバージョンへ下方レプリケートする際に、予定外の問題の発生時における迅速なスイッチバックのためにフレキシビリティがさらに必要な場合

  • バックエンド・データベース・オブジェクトに変更を加えるようなアプリケーション・アップグレード全体の可用性を維持する場合

10.1.4 Oracle GoldenGateとエディションベース再定義

エディションベース再定義はOracle Database内で完全に実装されている機能で、アプリケーションのバックエンドを実装するデータベース・オブジェクトについて、アプリケーションの可用性を妨げることなくパッチ適用またはアップグレードを行うことができます。エディションベース再定義を使用すると、データベースの停止時間はゼロのまま、アプリケーション・アップグレードをオンラインで実装できます。エディションベース再定義にはOracle Database 11gリリース2が必要で、アプリケーションの変更も必要です。アプリケーションは、オンラインでアップグレードできるようにエディション可能にする必要があります。

Oracle GoldenGateはオンライン・アプリケーション・アップグレードにも使用できます。アップグレードを実装するためにアプリケーション自体を変更する必要はありませんが、Oracle GoldenGateを使用してバージョン間のマッピングを実装するために、アプリケーションの新旧のバージョン間の差異に関する十分な知識が管理者には必要です。アプリケーションに対するユーザー制御や、これらのテクノロジの2番目に大きな区分に対するユーザー優先度によって、停止時間ゼロのアプリケーション・アップグレードの実行に適したアプローチが決まります。

これらのテクノロジの2番目に大きな差異は、エディションベース再定義が、通常はアプリケーションをサポートする単一データベースのみを使用することです。Oracle GoldenGateは2番目に同期化されたデータベースを使用してアップグレードを実行します。

  • エディションベース再定義を使用することで、アプリケーションの旧バージョンは旧エディション内に、アプリケーションの新バージョンは新エディション内に存在し、どちらとも同じデータベース内にあります。エディションは分離メカニズムです。アプリケーションの新旧のバージョンで同じように表されるデータは、両方のバージョンで使用される表の列で一度だけ示されます。アプリケーションの2つのバージョンで異なるように表されるデータのみが2回存在する必要があります。したがって同期が必要なのは、2つのバージョン間で異なる、総データ中の通常はわずかな割合のみです。クロス・エディションはトランザクション内でトリガーされ、新旧データの潜在的な競合はコミットされる前に防止されるため、競合解決の必要性はありません。

  • Oracle GoldenGateを使用することで、アプリケーションの旧バージョンは元のデータベースで稼働し、アプリケーションの新バージョンは2番目のデータベースで稼働します。2番目のデータベースは分離メカニズムです。すべてのデータ、つまり、アプリケーションの新旧のバージョンで同じように表されるデータと、アプリケーションの2つのバージョンで異なるように表されるデータの両方が2回存在する必要があります。したがって、同期はすべてのデータに対して必要です。同期は、REDOログのマイニングによって構築されるSQLのリプレイ・メカニズムに介入するコードを使用して、実装されます。したがって、これはトランザクション不可であり、新旧のデータ間の競合を防ぐことはできません。正確に言えば、競合解決を明示的な処理後の手順として実装することが必要です。

10.2 Oracle GoldenGateの構成ベスト・プラクティス

GoldenGateプロセスの停止時間によって起こった待機時間の増加を減らすために、GoldenGate Extract、Data pumpおよびReplicatの最適なパフォーマンスおよび高可用性を構成する次のようないくつかのベスト・プラクティスがあります。

10.2.1 クラスタ化ファイル・システムの使用

クラスタ化ファイル・システムの使用は、ノード障害時にOracle GoldenGateのチェックポイント・ファイルおよび追跡ファイルの可用性を継続させるために不可欠です。障害発生後、Extractプロセスが最後に認識されたアーカイブREDOログ・ファイルの位置からマイニングを継続し、Replicatプロセスが障害発生前の同じ追跡ファイルの位置からの適用を開始できるようにするため、チェックポイント・ファイルの可用性の確保は不可欠です。Oracle Database Filesystem (DBFS)またはOracle Automatic Storage Management Cluster File System (Oracle ACFS)の使用によって、動作可能なデータベースまたはASMインスタンスを、Extractプロセスのソース、またはReplicatプロセスの宛先として使用できます。

Oracle GoldenGateとともに使用するため、DBFSまたはOracle ACFSを構成するためのベスト・プラクティスは、次の各参考資料に記載されています。


注意:

次のドキュメントに記載されているベスト・プラクティスは、Oracle Exadata Database Machineなどのすべてのサポート対象Oracle GoldenGateプラットフォームに適用されます。


関連項目:


10.2.2 ASMログ・ファイルの読取りAPIの向上

Oracle GoldenGate 11gには、Oracle ASMに格納されたログ・ファイルを読み取るための新たな最適化メソッドが導入されました。この新規メソッドは、Oracle ASMインスタンスに直接接続するのではなく、データベース・サーバーを使用してREDOログ・ファイルおよびアーカイブREDOログ・ファイルにアクセスします。データベースにはAPIモジュールを使用したライブラリが含まれている必要があります。ライブラリは現在、Oracle Databaseリリース10.2.0.5および11.2.0.2に含まれています。その他のリリースのAPIモジュールへのアクセスの詳細は、次のWebサイトのMy Oracle Support Note 1333171.1の『10.2.0.5および11.2.0.2以外のOracle Databaseリリースにおける、ASMのREDOログ・ファイルへのOracle GoldenGateに最適化されたアクセス』を参照してください。

https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=1333171.1


関連項目:

ExtractのTRANLOGOPTIONS DBLOGREADERパラメータの詳細は、『Oracle GoldenGate Windows and UNIXリファレンス・ガイド』(v11.1.1.1)を参照してください。

10.2.3 Replicatコミット動作

Oracle GoldenGateリリース11.1.1以下を使用している場合は、Replicatコミット動作をCOMMIT NOWAITに設定することをお薦めします。Replicatプロセスはトランザクションの適用時に各コミットで待機しないため、全体的なパフォーマンスが向上します。このことは、チェックポイント中のリカバリ・データの保護のためにチェックポイント表を使用する場合のみ、考慮してください。

Oracle Database 11gリリース1 (11.1)以下のリリースを使用中の場合は、Replicatパラメータ・ファイルを次のようにCOMMIT NOWAITに設定してください。

Replicatパラメータ・ファイルを次のようにCOMMIT NOWAITに設定してください。

SQLEXEC "ALTER SESSION SET COMMIT_WRITE='NOWAIT'";

Oracle Database 11gリリース2 (11.2)以上のOracle Databaseリリースの場合は、Replicatパラメータ・ファイルを次のようにCOMMIT NOWAITに設定してください。

SQLEXEC "ALTER SESSION SET COMMIT_WAIT='NOWAIT'";

GoldenGate v11.1.1.1 COMMIT NOWAITでの開始が、チェックポイント表の使用時におけるデフォルト動作です。

10.2.4 Oracle Clusterwareの構成

Oracle RAC環境内でOracle GoldenGateを実行すると、サーバー障害による停止時間を短縮する機能が提供されます。Oracle Clusterwareは、ノード障害時にOracle GoldenGateプロセスが動作可能ノードで自動的に起動するように構成できます。このような方法で、ExtractがREDOログのマイニングを続行し、Replicatが最後に記録されたチェックポイントからの適用を続行できます。


注意:

Oracle GoldenGateのDataポンプ・プロセス(リリースv11.1.1以下)を使用して、DBFSを使用しているデータベース・マシン上のソース・ホストから追跡ファイルを転送している場合(これはExadata Database Machineと非Exadataの構成に適用されます)は、次のWebサイトのMy Oracle Support Note 1313703.1の『Oracle GoldenGateベスト・プラクティス: Oracle Clusterwareを使用したOracle GoldenGateの高可用性』を参照してください。

https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=1313703.1



関連項目:

GoldenGateによるOracle Clusterwareの構成手順の詳細は、次のWebサイトでGoldenGateリンクから製品の技術資料『Oracle Clusterwareを使用したOracle GoldenGateの高可用性』を参照してください。

http://www.oracle.com/technetwork/database/features/availability/index.html


10.2.5 その他のOracle GoldenGateベスト・プラクティス

Oracle GoldenGateの構成ベスト・プラクティスはOracle統合の強化に伴って増え続けています。すべてのコンポーネントに対するベスト・プラクティスの最新情報は、次のMAA Webサイトを参照してください。

http://www.oracle.com/goto/maa

現在のベスト・プラクティスには次のようなものがあります。

10.3 Oracle GoldenGateの運用ベスト・プラクティス

Oracle GoldenGateの管理および運用のベスト・プラクティスの詳細は、次のドキュメントを参照してください。