41
Oracle Real Application Clustersを使⽤した Oracle GoldenGate Microservices Architecture の構成のベスト・プラクティス Oracleホワイト・ペーパー | 20188

Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成のベスト・プラクティス Oracleホワイト・ペーパー | 2018年8⽉

Page 2: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

はじめに ................................................................................................................................................. 2

構成の概要 ............................................................................................................................................. 3

Oracle GoldenGate ...................................................................................................................... 3

Oracle Real Application Clusters .............................................................................................. 5

Oracle Clusterware ...................................................................................................................... 5

Oracle Grid Infrastructure Agent ............................................................................................... 5

Oracle Database File System(Oracle DBFS) ..................................................................... 6

Oracle Automatic Storage Management Cluster File System(Oracle ACFS) ............... 6

構成のベスト・プラクティス .............................................................................................................. 6

⼿順 1:Oracle RAC でのファイル・システムの設定 ............................................................. 6 Oracle Database File System(Oracle DBFS) .......................................................................... 7 Oracle ASM Cluster File System(Oracle ACFS) ................................................................... 10

⼿順 2:Oracle GoldenGate のインストール ......................................................................... 12

⼿順 3:Oracle GoldenGate データベースの構成 ................................................................. 12

⼿順 4:Oracle GoldenGate デプロイメントの作成 .............................................................. 13

⼿順 5:Oracle GoldenGate データベース接続⽤の Oracle Net 別名の作成 ..................... 16

⼿順 6:Oracle Clusterware の構成 ........................................................................................ 17

⼿順 7:共有ファイル・システムを使⽤するための Oracle GoldenGate のプロセスの構成 .................................................................................... 22

Extract の構成 ................................................................................................................................ 23 Replicat の構成 .............................................................................................................................. 24 分散パスの構成 ............................................................................................................................... 26

⼿順 8:Extract プロセスおよび Replicat プロセスの⾃動開始の構成 ............................... 28 Oracle GoldenGate プロセスの⾃動開始タスクの作成 ................................................................ 28 Oracle GoldenGate プロセスの⾃動再開タスクの作成 ................................................................ 29

Oracle RAC をデプロイする場合の推奨事項のまとめ ........................................................... 30

Page 3: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

参考資料 ............................................................................................................................................... 31

付録 A:Oracle RAC 上の Oracle GoldenGate のトラブルシューティング ............................... 32

1. XAG ログ・ファイル ...................................................................................................... 32

2. XAG GoldenGate インスタンスのトレース・ファイル ............................................. 32

3. CRS トレース・ファイル ............................................................................................... 33

4. GoldenGate デプロイメントのログ・ファイル .......................................................... 34

5. Oracle GoldenGate レポート・ファイル ..................................................................... 34

構成問題の例 ............................................................................................................................... 35 1. mount-dbfs.conf ファイルでのパラメータ設定の誤り ......................................................... 35 2. Oracle DBFS でのファイル・ロックに関する問題 ............................................................... 36

Page 4: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

2 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

はじめに Oracle Real Application Clusters(Oracle RAC)および Oracle Clusterware を使⽤すると、あらゆるパッケージ・アプリケーションやカスタム・アプリケーションを、クラスタ化されたサーバー全体にわたって Oracle Database 上で実⾏できるようになります。これにより、ノードとインスタンスで障害が発⽣した場合や、⼤抵の計画メンテナンスを実⾏している間に、また Oracle RAC を拡張する場合でも、データベースのサービスを継続することができます。Oracle RAC クラスタ構成のノードまたはインスタンスの 1 つが停⽌した場合には、動作を続けているノードおよびインスタンスで Oracle Database サービスが実⾏され続けます。処理能⼒を増やす必要が⽣じた場合には、データベースやデータへのユーザー・アクセスを中断せずに別のノードを追加できます。

Oracle Clusterware は、Oracle Database に特化して設計されたクラスタ・マネージャです。Oracle RAC 環境では、Oracle Clusterware がすべての Oracle リソース(データベース・インスタンスやリスナーなど)を監視します。障害が発⽣すると、Oracle Clusterware は停⽌したリソースの再起動を⾃動的に試みます。停⽌中に、Oracle Clusterware は動作不能のリソースによって実⾏された処理をバックアップ・リソースに再配置します。たとえばノードの 1 つが停⽌すると、Oracle Clusterware は、アプリケーションが使⽤していたデータベース・サービスを Oracle RAC クラスタ内の動作を続けている Oracle RAC ノードおよびインスタンスに再配置します。

このホワイト・ペーパーでは、Oracle GoldenGate 12.3 で導⼊された Oracle GoldenGate Microservices Architecture を、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)または Oracle ASM Cluster File System(Oracle ACFS)と連携して動作するように構成する際のベスト・プラクティスについて説明します。Oracle GoldenGateが有⽤である理由はさまざまあり、以下はその⼀部です。

» 停⽌時間を最⼩限に抑えて Oracle Database に移⾏できます

» Oracle RAC、および Oracle GoldenGate によって実現される柔軟な可⽤性と論理レプリケーション機能(アクティブ-アクティブ・データベース構成によってデータ分散と継続的可⽤性を実現したり、システムの移⾏、アップグレード、メンテナンスのための計画停⽌中の停⽌時間をゼロまたは最⼩限に抑えたりするなど)を必要とするアプリケーション・アーキテクチャの⼀部として使⽤できます

» さまざまな種類(場合によっては異種)のソース・データベースをソースとし、Oracle GoldenGate によってデータが取り込まれる、ほぼリアルタイムのデータウェアハウスまたは統合データベースを Oracle RAC 上に実装できます

» ミドルウェアの統合などのさらに下流でのデータ使⽤をサポートするため、Oracle RAC 上で実⾏される OLTP アプリケーションからデータを取得できます。

このホワイト・ペーパーでは、Oracle RAC 上で稼働する Oracle GoldenGate Microservices Architecture の構成に焦点を合わせて説明します。Oracle RAC は、Oracle GoldenGate 処理に対するソース・データベースまたはターゲット・データベースとして、また場合によってはソースとターゲットの両⽅として使⽤できます。

Page 5: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

3 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

構成の概要 この項では、Oracle GoldenGate Microservices Architecture、Oracle RAC、Oracle Clusterware、Oracle Database File System、Oracle ASM Cluster File System について説明します。これらの製品について詳しくは、本書の最後にある参考資料の項を参照してください。

Oracle GoldenGate Oracle GoldenGate は、同種システムと異種システムの間で、リアルタイムのログベース・チェンジ・データ・キャプチャおよび配信機能を提供します。このテクノロジーを使⽤すると、低負荷で費⽤対効果に優れたリアルタイム・データ統合と、継続的可⽤性ソリューションを実現できます。

Oracle GoldenGate は、トランザクションの整合性を維持し、既存インフラストラクチャでのオーバーヘッドを最⼩限に抑えながら、コミットされたトランザクションからデータをレプリケートします。このアーキテクチャでは、1 対多、多対多、カスケード、双⽅向などのさまざまなデータ・レプリケーション・トポロジがサポートされています。多様なユースケースには、リアルタイム・ビジネス・インテリジェンス、問合せのオフロード、停⽌時間なしのアップグレードおよび移⾏、アクティブ-アクティブ・データベースを使⽤したデータ分散、データ同期、⾼可⽤性が含まれます。

Oracle GoldenGate 12.3 で導⼊された Oracle GoldenGate Microservices Architecture は、Oracle GoldenGate 環境の⼀部として REST 対応サービスを提供する新しい管理アーキテクチャです。REST 対応サービスにより、HTML5 Web ページ、コマンドライン・インタフェース、および APIを介したリモートの構成、管理、および監視が提供されます。図 1 に、このホワイト・ペーパー全体で参照される Oracle GoldenGate Microservices Architecture を⽰します。

Page 6: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

4 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

図1:Oracle GoldenGate Microservices Architecture

Oracle GoldenGate Microservices Architecture について詳しくは、次の場所の Oracle GoldenGateドキュメントを参照してください。

https://docs.oracle.com/cd/E92689_01/GGCON/toc.htm

Oracle GoldenGate Microservices Architecture を使⽤する場合は、Oracle GoldenGate バージョン12.3.0.1.4 以降を使⽤する必要があります。最新バージョンの Oracle GoldenGate は、次のサイトからダウンロードできます。

https://www.oracle.com/technetwork/jp/middleware/goldengate/downloads/index.html

このホワイト・ペーパーには、ダウンストリーム・キャプチャ・モードの Extract の構成に関する情報は含まれません。

Oracle GoldenGate の従来のアーキテクチャについて詳しくは、ホワイトペーパー『Oracle Real Application Clusters を使⽤した Oracle GoldenGate の構成』を参照してください。

https://www.oracle.com/technetwork/jp/database/features/availability/maa-goldengate-rac-2007111-ja.pdf

Page 7: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

5 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

Oracle Real Application Clusters Oracle Real Application Clusters を使⽤すると、インターコネクトによって関連付けられた複数のインスタンスで Oracle Database へのアクセスを共有できます。Oracle RAC 環境の場合、Oracle Database は、同時に 1 つの共有データベースにアクセスしながらクラスタ内の複数のシステムで稼働します。その結果、1 つのデータベースが複数のハードウェア・システムで稼働することになり、Oracle RAC ではクラスタ内で障害が発⽣している間も⾼可⽤性と冗⻑性を維持することができます。Oracle RAC は、読取り専⽤のデータウェアハウス・システムから、更新を集中的に⾏うオンライン・トランザクション処理(OLTP)システムまで、すべてのシステム・タイプに対応しています。

Oracle Clusterware Oracle Clusterware を使⽤すると、サーバー同⼠が相互通信することができるため、それらのサーバーが 1 つの集合体として機能しているように⾒えます。このようなサーバーの連結は⼀般に、クラスタとして知られています。サーバーはそれぞれスタンドアロン・サーバーですが、各サーバーには他のサーバーと通信する追加のプロセスがあるため、アプリケーションやエンドユーザーからは、別々のサーバーが 1 つのシステムのように⾒えます。

Oracle Clusterware は、Oracle RAC の実⾏に必要なインフラストラクチャを提供します。また、仮想 IP(VIP)アドレス、データベース、リスナー、サービスなどのリソースも管理します。

Oracle Grid Infrastructure Agent Oracle Grid Infrastructure Agent(XAG)は、Oracle Grid Infrastructure のコンポーネントで、エージェント管理インタフェース AGCTL によって管理されるアプリケーション・リソースとリソース・タイプに対する⾼可⽤性(HA)フレームワークを構成します。このフレームワークは、使⽤準備の整った完全なアプリケーション HA ソリューションで、アプリケーションを統合して完全なアプリケーション HA を実現するための事前定義された Oracle Grid Infrastructure リソースの構成とエージェントが含まれています。

Oracle Grid Infrastructure Agent は 、 Oracle GoldenGate 、 Siebel 、 Oracle PeopleSoft 、 JD Edwards、Oracle WebLogic Server、および Apache と MySQL アプリケーションのための事前定義された Oracle Clusterware リソースを提供します。Oracle GoldenGate のエージェントを使⽤すると、ソース/ターゲット・データベース、アプリケーション VIP、およびファイル・システム(Oracle ACFS または Oracle DBFS)マウント・ポイントの依存関係の作成が簡素化されます。エージェントのコマンドライン・ユーティリティ(AGCTL)を使⽤して、Oracle GoldenGate を起動および停⽌したり、クラスタ内のノード間で Oracle GoldenGate を再配置したりすることができます。

Oracle GoldenGate Microservices Architecture を使⽤している場合は、XAG バージョン 9 以降を使⽤する必要があります。

最新のエージェント・ソフトウェアは、次の場所からダウンロードしてください。

http://www.oracle.com/technetwork/database/database-technologies/clusterware/downloads/xag-agents-downloads- 3636484.html

Page 8: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

6 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

Oracle Database File System(Oracle DBFS) Oracle Database File System は、データベース内に格納されたファイルに対するファイル・システム・インタフェースを作成します。Database File System(以下、DBFS)は、ローカル・ファイル・システムのように⾒える共有ネットワーク・ファイル・システムを提供する点において NFS と似ています。データがデータベース内に格納されるため、このファイル・システムは、Oracle Database による⾼可⽤性とディザスタ・リカバリのためのすべての機能を引き継ぎます。

DBFS では、サーバーは Oracle Database であり、ファイルは SecureFiles LOB として格納されます。作成、オープン、読取り、書込み、ディレクトリ・リストなどのファイル・システムのアクセス・プリミティブは、PL/SQL プロシージャによって実装されます。データベース内の実装ファイル・システムは、DBFS SecureFiles Store と呼ばれます。DBFS SecureFiles Store によりユーザーは、クライアントによってマウント可能なファイル・システムを作成できます。それぞれのファイル・システムには、ファイル・システムの内容を格納する専⽤の表があります。

Oracle Automatic Storage Management Cluster File System(Oracle ACFS) Oracle ASM Cluster File System は、POSIX、X/OPEN、および Windows に準拠した業界標準の汎⽤クラスタ・ファイル・システムで、Oracle Exadata Database Machine、Oracle Database Appliance、および従来のサーバー環境を含む、複数のオペレーティング・システムとサーバー・プラットフォームをサポートしています。Oracle ACFS は、ファイル・システムのスナップショット、レプリケーション、タギング、セキュリティ、暗号化、監査、⾼可⽤性 NFS(HANFS)サービスなどの⾼度な機能を備えています。

Oracle ACFS では、Oracle Automatic Storage Management(Oracle ASM)ファイルを利⽤し、ストライプ化、ミラー化、リバランシング、インテリジェントなデータ配置、優先読取り、⾼速再同期、均等読取り、Flex ASM その他の Oracle ASM の機能を継承しています。

Oracle ACFS は Oracle Clusterware を利⽤して、クラスタ・メンバーシップの状態移⾏とリソースベースの⾼可⽤性を提供します。Oracle ACFS は Oracle Grid Infrastructure(Oracle GI)にバンドルされているため、データベース、リソース、ボリューム、およびファイル・システムの管理を統合および最適化できます。Oracle Grid Infrastructure 12c Release 1(12.1.0.2)以降、Oracle ACFS は、Oracle Linux が稼働している Oracle Exadata Database Machine でサポートされています。詳しくは、MOS Note 1929629.1 を参照してください。

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

⼿順1:Oracle RACでのファイル・システムの設定 Oracle GoldenGate Microservices Architecture は、簡素化されたインストールおよびデプロイメントのディレクトリ構造で設計されています。ソフトウェアのパッチ適⽤中の停⽌時間を最⼩限にするために、インストール・ディレクトリを各 Oracle RAC ノードのローカル・ストレージに配置する必要があります。Oracle GoldenGate Configuration Assistant(oggca.sh)を使⽤してデプロイメントを作成したときに作成されたデプロイメント・ディレクトリは、共有ファイル・システムに配置する必要があります。デプロイメント・ディレクトリには、構成、セキュリティ、ログ、パラメータ、証跡、およびチェックポイントのファイルが含まれます。デプロイメントを DBFS またはACFS に配置すると、システム障害が発⽣した場合に可能な限りのリカバリ能⼒とフェイルオーバー機能が提供されます。クラスタ全体でチェックポイント・ファイルの可⽤性を確保することは、障害の発⽣後に、GoldenGate の処理を最後の確認位置から継続できるようにするのに不可⽋です。

Page 9: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

7 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

Oracle GoldenGate のインストーラによって、Oracle GoldenGate を共有ストレージにインストールするよう促されても、ソフトウェアのパッチ適⽤時に強制的に停⽌することになるため、⾼可⽤性環境を構成する場合には推奨されません。

次の指⽰に従って、選択したファイル・システムを構成します。

Oracle Database File System(Oracle DBFS)

Oracle DBFS の表領域は、Oracle GoldenGate のプロセスの接続先データベースの内部に配置する必要があります。たとえば、Oracle GoldenGate の統合 Extract プロセスが、GGDB というデータベースから抽出される場合、その Oracle DBFS 表領域は同じ GGDB データベース内に配置されます。

必要な FUSE ライブラリがまだインストールされていない場合は、My Oracle Support Note 869822.1 の指⽰に従ってインストールします。My Oracle Support Note 1054431.1 の指⽰に従い、Oracle DBFS の場合に必要なソースまたはターゲットの Oracle GoldenGate 環境で、データベース、表領域、データベース・ユーザー、および権限を設定します。

Oracle GoldenGate のデプロイメント・ファイルを格納するファイル・システムを 1 つ作成します。最⼤ 12 時間分の証跡ファイルを格納できるよう、証跡ファイルの⼗分なディスク領域を割り当てることを推奨します。これにより、ターゲット環境で新しい証跡ファイルを受信できないような問題が発⽣しても、証跡ファイルの⽣成に⼗分な領域を確保できます。12 時間分に必要な領域の量は、実際の本番データで証跡ファイルの⽣成率をテストすることによってのみ決定できます。

ファイル・システムの作成例: % cd $ORACLE_HOME/rdbms/admin % sqlplus dbfs_user/dbfs_password@<database_tns_alias> SQL> start dbfs_create_filesystem dbfs_gg_tbs goldengate

Oracle DBFS で使⽤される LOB セグメントは、デフォルトのストレージ・オプション NOCACHE

LOGGING で構成する必要があります。 -- Connect to the DBFS database SQL> connect system/<passwd>@<database_tns_alias> -- View current LOB storage: SQL> SELECT table_name, segment_name, logging, cache

FROM dba_lobs WHERE tablespace_name='DBFS_GG_TBS'; -- More than likely it will be something like this: -- -- TABLE_NAME SEGMENT_NAME LOGGING CACHE -- ------------------ ---------------------- ------- ---------- -- T_GOLDENGATE LOB_SFS$_FST_73 YES NO

LOB セグメントで NOCACHE LOGGING を使⽤していない場合は、次のように変更します。 SQL> ALTER TABLE DBFS.<TABLE_NAME> MODIFY LOB (FILEDATA)

(NOCACHE LOGGING); -- View the new LOB storage: SQL> SELECT table_name, segment_name, logging, cache

FROM dba_lobs WHERE tablespace_name='DBFS_GG_TBS'; -- TABLE_NAME SEGMENT_NAME LOGGING CACHE -- ------------------ ---------------------- ------- ----------

Page 10: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

8 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

-- T_GOLDENGATE LOB_SFS$_FST_73 YES NO

(CACHEMGR によって管理される)キャッシュがいっぱいになると、Extract によってデプロイメントの temp ディレクトリが使⽤されて、コミットされていないトランザクション・データが格納されます。tempをOracle DBFSに配置すると、⼤容量ストレージを得られる可能性という別のメリットも⽣まれます。temp ディレクトリは、キャッシュ・メモリ領域がいっぱいになったときにディスクにデータを溢れさせる⽬的で Oracle GoldenGate の Extract プロセスによってのみ使⽤されるので、このクラスタに実⾏中の Extract プロセスが存在しない場合は、以下の推奨⼿順をスキップしてください。temp の内容物は本来過渡的なため、起動時のリカバリの際に Extract で必要とされません。temp が頻繁に使⽤され、キャッシュ・サイズを⼤きくしても効果がない場合は、NOLOGGING

プロパティを指定して作成された Oracle DBFS ファイル・システムに temp を配置して、⼀時ファイルの作成に伴う I/O を削減することを推奨します。

次の例に⽰すように、NOCACHE NOLOGGING 表領域を使⽤して、dirtmp ⽤に別の Oracle DBFS ファイル・システムを作成します。 -- Connect to the DBFS database SQL> connect system/<passwd>@<database_tns_alias> -- Create the tablespace: SQL> create bigfile tablespace dbfs_gg_dirtmp_tbs datafile ‘+DATAC1’ size 512g autoextend on next 8g maxsize 1200g NOLOGGING EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO;

サイズ・パラメータを、⼀時ファイルに必要なストレージ・サイズに置換します。

最初の Oracle DBFS ファイル・システムを作成したときと同じデータベース・ユーザーとして接続されていることを確認して、ファイル・システムを作成します。 % cd $ORACLE_HOME/rdbms/admin % sqlplus dbfs_user/dbfs_password@<database_tns_alias> SQL> start dbfs_create_filesystem dbfs_gg_dirtmp_tbs gg_dirtmp

このファイル・システムの LOB セグメントは、ストレージ・オプション NOCACHE NOLOGGING を指定して構成する必要があります。このオプションは、表領域が NOLOGGING オプションを指定して作成されている場合にデフォルトで使⽤されます。 -- Connect to the DBFS database SQL> connect system/<passwd>@<dbfs_tns_alias> -- View current LOB storage: SQL> SELECT table_name, segment_name, logging, cache FROM dba_lobs WHERE tablespace_name='DBFS_GG_DIRTMP_TBS'; -- More than likely it will be something like this: -- -- TABLE_NAME SEGMENT_NAME LOGGING CACHE -- ------------------ ---------------------- ------- ---------- -- T_GG_DIRTMP LOB_SFS$_FST_73 NO NO

Page 11: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

9 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

My Oracle Support Note 1054431.1 の指⽰に従って、新しく作成した Oracle DBFS ファイル・システムに以下の変更を加えて構成し、ノード障害の発⽣後に Oracle Cluster Ready Services(Oracle CRS)によって Oracle DBFS インスタンスとマウント・ポイント・リソースが⾃動的に起動されるようにします。

1. Oracle Clusterware にリソースを登録する場合は、My Oracle Support Note で指定されているように、必ず local_resource ではなく cluster_resource として作成してください。cluster_resource を使⽤する理由は、同時に 1 つのノードにのみファイル・システムをマウントできるようにして、同時に存在する複数のノードから Oracle DBFS が偶発的にマウントされ、ファイルの同時書込みが可能になって、ファイルの破損問題が発⽣するのを防⽌することです。

Oracle DBFS リソースを登録するコマンドの例を次に⽰します。

crsctl add resource $RESNAME \ -type cluster_resource \ -attr "ACTION_SCRIPT=$ACTION_SCRIPT, \

CHECK_INTERVAL=30,RESTART_ATTEMPTS=10, \ START_DEPENDENCIES='hard(ora.$DBNAMEL.db)pullup(ora.$DBNAMEL.db)',\

STOP_DEPENDENCIES='hard(ora.$DBNAMEL.db)',\ SCRIPT_TIMEOUT=300"

2. mount-dbfs.conf ファイルの MOUNT_OPTIONS パラメータを次のように変更します。

MOUNT_OPTIONS=allow_other,direct_io,failover

failover オプションを指定すると、すべてのファイル書込みが、IMMEDIATE WAIT モードで Oracle DBFS データベースにコミットされるように強制されます。これにより、データベースまたはノードの障害時に、dbfs_client キャッシュに書き込まれていても、データベースにはまだ書き込まれていない場合に、データを失うのを防⽌します。

Oracle Database 12c Release 2(12.2)の dbfs_client を使⽤する場合は、実装されているファイル・ロックに変更があるため、バグ 27056711 に対する修正が必要です。修正を適⽤したら、次のように、nolock オプションを含むように MOUNT_OPTIONS を変更する必要があります。

MOUNT_OPTIONS=allow_other,direct_io,failover,nolock

nolock マウント・オプションは、Oracle Database 18c を使⽤する場合にも必要です。

Oracle Database 11g Release 11.2.0.4 または Oracle Database 12c Release 1(12.1)を使⽤する場合は、次のコマンドを実⾏して、バグ 22646150(ファイル・ロックが Oracle DBFS によって処理されるときの⽅法を変更するバグ)を修正するためのデータベース・パッチが適⽤されているかどうかをチェックしてください。 $ opatch lsinventory | grep 22646150

このバグにパッチが適⽤されている場合について詳しくは、付録 A、Oracle DBFS でのファイル・ロックに関する問題の項を参照してください。

Oracle DBFS のリソースが作成されたら、ファイル・システムをマウントしてテストします。 % crsctl start res dbfs_mount

Page 12: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

10 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

% crsctl stat res dbfs_mount

注:別個の dirtmp ファイル・システムなどの複数の Oracle DBFS ファイル・システムを同じユーザーが作成すると、そのユーザーが所有するすべてのファイル・システムは、mount-dbfs.conf

ファイルで指定されている MOUNT_POINTにマウントされます。たとえば、dirtmp ⽤に別個のファイル・システムを作成した場合(上記の⼿順)は、dbfs_mount リソースの起動後に、同じマウント・ポイント(MOUNT_POINT=/mnt/dbfs)の下に次のディレクトリが存在するようになります。 /mnt/dbfs/goldengate /mnt/dbfs/gg_dirtmp

ファイル・システムをマウントしたら、Oracle GoldenGate のファイルを格納するためのディレクトリを作成します。 % cd /mnt/dbfs/goldengate % mkdir deployments

注:共有ファイル・システムはマウントされたままにします。後の⼿順で Oracle GoldenGate デプロイメントを作成する必要があります。 Oracle ASM Cluster File System(Oracle ACFS)

Oracle ACFS は、Oracle RAC 構成で共有 Oracle GoldenGate ファイルを処理するための Oracle DBFS に代わるファイル・システムです。 Oracle ACFS は、Oracle Grid Infrastructure 12.1.0.2 以降、Oracle Linux が稼働する Oracle Exadata Database Machine でサポートされています。Oracle Exadata Database Machine でのOracle ACFS 構成の要件について詳しくは、My Oracle Support Note 1929629.1 を参照してください。 Oracle Data Guard 構成では、Oracle GoldenGate で Oracle ACFS を使⽤することは推奨されません。これは、データベースと統合することができず、ロール移⾏時に Oracle ACFS のレプリケーションで⼿動での介⼊が必要になるためです。 Oracle デプロイメント・ファイルを格納する ACFS ファイル・システムを 1 つ作成します。 最⼤ 12 時間分の証跡ファイルを格納できるよう、証跡ファイルの⼗分なディスク領域を割り当てることを推奨します。これにより、ターゲット環境で新しい証跡ファイルを受信できないような問題が発⽣しても、証跡ファイルの⽣成に⼗分な領域を確保できます。12 時間分に必要な領域の量は、実際の本番データで証跡ファイルの⽣成率をテストすることによってのみ決定できます。 1. Oracle ASM 管理者ユーザーとして、ASMCMD を使⽤してファイル・システムを作成します。 ASMCMD [+] > volcreate -G datac1 -s 1200G ACFS_GG

注:ファイル・システムのサイズは、決定されたサイズ要件に従って変更してください。 ASMCMD> volinfo -G datac1 acfs_gg Diskgroup Name:DATAC1

Volume Name:ACFS_GG Volume Device: /dev/asm/acfs_gg-151 State:ENABLED Size (MB):1228800 Resize Unit (MB): 64 Redundancy:MIRROR Stripe Columns: 8 Stripe Width (K):1024 Usage: Mountpath:

Page 13: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

11 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

2. まだ作成していない場合は、新規作成した Oracle ACFS ファイル・システムの Oracle CRS リソースを作成します。

そのファイル・システムのリソースがすでに作成されているかどうかを確認します。 $ srvctl status filesystem -volume ACFS_GG -diskgroup DATAC1

ACFS file system /mnt/acfs_gg is mounted on nodes oggadm07, oggadm08

まだ作成されていない場合は、Oracle ACFS マウント・ポイントを作成します。 # mkdir -p /mnt/acfs_gg

ファイル・システム・リソースを root ユーザーとして作成します。Oracle ACFS には分散ファイル・ロックが実装されているため、Oracle DBFS の場合とは異なり、任意の時点で複数の Oracle RAC ノードに Oracle ACFS をマウントすることができます。

Oracle ACFS リソースを作成します。 # srvctl add filesystem -device /dev/asm/acfs_gg-151 -volume ACFS_GG

-diskgroup DATAC1 -path /mnt/acfs_gg -user oracle -autostart NEVER

注:‒autostart NEVER パラメータを指定し、Oracle RAC ノードの再起動時に Oracle ACFS が⾃動的にマウントされないようにすることは重要です。Grid Infrastructure Agent は、ファイル・システムをマウントおよびアンマウントするタイミングを制御します。

現在構成されている Oracle ACFS ファイル・システムを検証するには、次のコマンドを使⽤してファイル・システムの詳細を表⽰します。 $ srvctl config filesystem

Volume device: /dev/asm/acfs_gg-151

Diskgroup name: datac1

Volume name:ACFS_GG

Canonical volume device: /dev/asm/acfs_gg-151

Accelerator volume devices:

Mountpoint path: /mnt/acfs_gg

Mount point owner: oracle

Oracle ACFS リソースのステータスを確認してからマウントします。 $ srvctl status filesystem -volume ACFS_GG -diskgroup DATAC1

ACFS file system /mnt/acfs is not mounted

$ srvctl start filesystem -volume ACFS_GG -diskgroup DATAC1

作成される Oracle CRS リソースには、ora.diskgroup_name.volume_name.acfs 形式で命名されます。上記のファイル・システム例の場合、Oracle CRS リソースは ora.datac1.acfs_gg.acfs と呼ばれます。

Page 14: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

12 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

現在存在しているすべての Oracle ACFS ファイル・システムの Oracle CRS リソースを確認するには、次のコマンドを使⽤します。 $ crsctl stat res -w "TYPE = ora.acfs.type" NAME=ora.datac1.acfs_gg.acfs TYPE=ora.acfs.type TARGET=ONLINE , ONLINE STATE=ONLINE on oggadm07, ONLINE on oggadm08

3. Oracle GoldenGate の ACFS ディレクトリを作成します。 ファイル・システムをマウントしたら、Oracle GoldenGate デプロイメントを格納するためのディレクトリを作成します。 % cd /mnt/acfs_gg % mkdir deployments

Oracle ACFS について詳しくは、『Oracle Automatic Storage Management 管理者ガイド』を参照してください。 https://docs.oracle.com/cd/E82638_01/ostmg/overview-acfs-advm.html#GUID-C91D3A8E-F329-44BE-97B7-8AB41897D8E1 注:共有ファイル・システムはマウントされたままにします。後の⼿順で Oracle GoldenGate デプロイメントを作成する必要があります。

⼿順2:Oracle GoldenGateのインストール 1. Oracle Technology Network(OTN)から Oracle GoldenGate ソフトウェアをダ

ウンロードします。 https://www.oracle.com/technetwork/jp/middleware/goldengate/downloads/index.html

2. GoldenGate 構成の⼀部となる Oracle RAC 構成のすべてのノードで、Oracle GoldenGate ソフトウェアをローカルにインストールします。すべてのノードで同じインストール・ディレクトリを使⽤してください。

注:Oracle GoldenGate のインストーラによって、Oracle GoldenGate を共有ストレージにインストールするよう促されても、ソフトウェアのパッチ適⽤時に強制的に停⽌することになるため、⾼可⽤性環境を構成する場合には推奨されません。

『Oracle Fusion Middleware Oracle GoldenGate のインストール』に詳述された⼀般的なインストールの指⽰に従ってください。 https://docs.oracle.com/cd/E92689_01/oggin/toc.htm

⼿順3:Oracle GoldenGateデータベースの構成 ソースとターゲットの Oracle GoldenGate データベースは、Oracle Maximum Availability Architecture(Oracle MAA)のホワイト・ペーパーOracle GoldenGate のパフォーマンス・ベスト・プラクティスで述べられている推奨事項に従って構成する必要があります。 データベース構成のまとめ » Oracle GoldenGate ソース・データベースは、ARCHIVELOG モードで実⾏します。

Page 15: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

13 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

» Extract が実⾏されている場合は、FORCE LOGGING モードを有効化します。 » Extract が実⾏されている場合は、最⼩サプリメンタル・ロギングを有効化します。また、レプ

リケートされたすべてのオブジェクトのスキーマまたは表レベル・ロギングを追加します。 » Extract の REDO ログ読取りパフォーマンスのパラメータを設定します。 » システム・グローバル領域(SGA)でストリーム・プールを構成します。 » Streams Performance Adviser(UTL_SPADV)PL/SQL パッケージをインストールして、統合

された Extract と統合された Replicat のパフォーマンスを監視します。

⼿順4:Oracle GoldenGateデプロイメントの作成 Oracle GoldenGate ソフトウェアがインストールされたら、Oracle GoldenGate Configuration Assistant(oggca)を使⽤してデプロイメントを作成します。 Oracle GoldenGate デプロイメントの作成の推奨事項を次に⽰します。 1. 新しい Service Manager を作成するために、次を指定します。

a. 共有された DBFS または ACFS のファイル・システム上の「Service Manager Deployment Home」の場所。

b. 「Listening hostname/address」フィールドに localhost と指定します。localhost を使⽤すると、仮想 IP アドレス(VIP)を必要とせずに、すべての RACノードでデプロイメントを開始できます。

c. 「Integrate with XAG」を選択します。

Page 16: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

14 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

次に、推奨される構成のスクリーンショットを⽰します。

図2:Oracle GoldenGate Microservices Service Managerの構成

2. 共有された DBFS または ACFS のファイル・システム上の「Deployment home」ディレクトリを指定します。

図3:「Deployment home」ディレクトリの構成

Page 17: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

15 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

3. Management Pack for Oracle GoldenGate のライセンスを取得している場合は、Berkeley Database(BDB)または Lightening Memory Database(LMDB)を使⽤して、パフォーマンス・メトリック・サーバーを使⽤する監視を有効にします。

図4:「Metric Server Datastore type」の選択

デプロイメントが作成されるまで、Oracle GoldenGate Configuration Assistant を進めます。 「Metrics Server DataStore type」で「LMDB」が選択されて、選択された共有ストレージ・タイプが DBFS の場合、デプロイメントを作成したら、ディスク上の物理データ・ストアの場所をローカル・ストレージに移動する必要があります。これは、direct_io のマウント・オプションを指定してマウントされた DBFS 上のメモリ・マップ・ファイルに対するアクセスの制限によるものです。 データ・ストアの場所を変更するには、次の⼿順を実⾏します。

1. 環境変数 OGG_VAR_HOME をデプロイメントの var ディレクトリの場所に設定します。 $ export OGG_VAR_HOME=/mnt/dbfs/goldengate/deployments/gg01/var

2. データ・ストアのローカル・ストレージにディレクトリを作成します。

$ mkdir –p /u01/goldengate/datastore

3. データ・ストアの場所を変更します。 $ pmsrvr --prop=/config/RepoDatastorePath --value=/u01/goldengate/datastore --exit

注:Oracle GoldenGate デプロイメント・サーバーのステータスは、デプロイメントの停⽌と開始を経ても永続します。たとえば、デプロイメントが停⽌されたときに Administration Server がシャットダウンされた場合(Extract と Replicat のプロセスもシャットダウンされます)、次にデプロイメントが開始されたときにシャットダウンされたままになります。

Page 18: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

16 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

⼿順5:Oracle GoldenGateデータベース接続⽤のOracle Net別名の作成 Oracle RAC ノード間での切替え時に Oracle GoldenGate のプロセスのデータベース接続を簡素化するには、Oracle GoldenGate が起動されうる Oracle RAC のすべてで TNS 別名を作成します。 以下に例を⽰します。 ggdb.local= (DESCRIPTION =

(SDU=2097152) (ADDRESS = (PROTOCOL=BEQ) (PROGRAM=/u01/app/oracle/product/12.2.0/dbhome_1/bin/oracle) (ARGV0=oracleggdb1) (ARGS='(DESCRIPTION= (SDU=2097152)(LOCAL=YES)(ADDRESS=(PROTOCOL=BEQ)))')

(ENVS='ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1,ORACLE_SID=ggdb1') )

(CONNECT_DATA=(SID=ggdb1)) )

Oracle_SID パラメータは、tnsnames.ora ファイルが配置されている Oracle RAC ノードで実⾏されているオラクル製品の SID と⼀致します。この⽅法により、実⾏されているノードに関係なく、Oracle GoldenGate プロセスで同じ TNS 別名を使⽤することができます。 Oracle Net SDU パラメータの設定について詳しくは、『Oracle Database Net Services 管理者ガイド』を参照してください。 https://docs.oracle.com/cd/E82638_01/netag/index.html すでに作成された Oracle GoldenGate デプロイメントで、Administration Server のホーム・ページを使⽤して前述の TNS 別名でデータベース資格証明を作成します。デプロイメントは共有ストレージに格納され、TNS 別名は Oracle GoldenGate で使⽤される必要なすべての Oracle RAC ノードで作成されるため、このデータベース資格証明は、共有ファイル・システムが現在マウントされている 1 つの Oracle RAC ノードのみで作成する必要があります。 TNS 別名を使⽤したデータベース資格証明の作成例は、次の図 5 を参照してください。

Page 19: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

17 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

図5:TNS別名を使⽤したデータベース資格証明の作成

⼿順6:Oracle Clusterware の構成 次の⼿順は、Oracle Grid Infrastructure Standalone Agent(XAG)を使⽤して Oracle GoldenGateを管理するように Oracle Clusterware を構成する⽅法を⽰しています。XAG を使⽤することで、共有ファイル・システム(Oracle DBFS または Oracle ACFS)のマウントに加えて、Oracle RAC ノード間で再配置されるときの Oracle GoldenGate デプロイメントの開始と停⽌を⾃動化します。

1. Oracle Grid Infrastructure Standalone Agent をインストールします。 最 新 の XAG ソ フ ト ウ ェ ア を http://www.oracle.com/technetwork/database/database- technologies/clusterware/downloads/xag-agents-downloads-3636484.html からダウンロードします。 Oracle GoldenGate Microservices Architecture を使⽤している場合は、XAG バージョン 9 以降を使⽤する必要があります。 XAG ソフトウェアは、ソフトウェアのパッチ適⽤との競合を避けるため、必ず、Oracle Grid Infrastructure のホーム・ディレクトリの外部にインストールする必要があります。XAG は、GoldenGate がインストールされているクラスタ内のすべての Oracle RAC ノードにおいて、同じディレクトリにインストールする必要があります。

たとえば、oracle ユーザーとして次のように指定します。

$ ./xagsetup.sh --install --directory /u01/oracle/xag --all_nodes

Page 20: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

18 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

2. ユーザーがマシンにログオンするときに agctl の場所が認識されるように、新しくインストールした XAG ソフトウェアの場所を PATH 変数に追加します。

$ cat .bashrc export PATH=/u01/oracle/xag/bin:$PATH

注:XAG bin ディレクトリは、正しい agctl バイナリが検出されるようにするため、必ず Grid Infrastructure bin ディレクトリより前に指定することが重要です。bash シェルの使⽤時の.bashrcファイルなどでログオン時に有効になるように、oracle ユーザー環境でこれを設定する必要があります。 3. アプリケーションの仮想 IP アドレス(VIP)の作成を準備します。

Oracle GoldenGate の Distribution Server が GoldenGate ターゲット・ホストで実⾏されている Distribution Receiver と確実に通信できるようにするため、ホストには、どの Oracle RACノードが Oracle GoldenGate をホストしているかに関係なく専⽤のアプリケーション VIP が必要です。VIP は Oracle Clusterware が管理するクラスタ・リソースです。VIP は 1 つのクラスタ・ノードに割り当てられ、ノード障害が発⽣すると別のノードに移⾏されます。このため、Oracle GoldenGate の Distribution Server は、新しく割り当てられたターゲット・ノードに対してデータ送信を続⾏できます。

注:アプリケーション VIP が必要とされるのは、分散パスのターゲットでもある GoldenGate のReplicat プロセスが 1 つ以上実⾏されているクラスタにおいてのみです。

アプリケーション VIP を作成する前に、次の 2 つの情報を確認しておく必要があります。 a. 次のコマンドによって特定可能なネットワーク番号。

$ crsctl status resource -p -attr NAME,USR_ORA_SUBNET -w "TYPE = ora.network.type" |sort | uniq NAME=ora.net1.network USR_ORA_SUBNET=10.133.16.0

NAME=ora.net1.network の net1 は、これがネットワーク 1 であることを⽰しています。

b. システム管理者が指定した新しいアプリケーション VIP の IP アドレス。この IPアドレスは、上記の⽅法で特定されたクラスタ環境の同じサブネットの範囲内に存在する必要があります。

VIP は、Oracle Grid Infrastructure Agent の構成時に次の⼿順で作成します。 4. アプリケーション・サービスを作成します。 アプリケーション・サービスは、データベースが開かれるときに Oracle Grid Infrastructure Agentによって Oracle GoldenGate デプロイメントが⾃動的に起動されるようにするために必要です。

Page 21: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

19 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

次のコマンドを使⽤し、oracle ユーザーとしてサービスを作成します。 $ srvctl add service -db <db_name> -service oggserv -preferred <instance_1> -available <instance_2, instance_3 etc.>

例: $ srvctl add service -db ggdb -service oggserv -role PRIMARY -preferred ggdb1 -available ggdb2

5. Oracle Grid Infrastructure Agent を構成します。 データベースが起動してファイル・システムがマウントされるときにデプロイメントが⾃動的に開始および停⽌するようにするため、Oracle GoldenGate を XAG に登録する必要があります。 Oracle GoldenGate Microservices Architecture を XAG に登録するには、次のコマンド形式を使⽤します。 agctl add goldengate <instance_name> --gg_home <GoldenGate_Home> --service_manager --config_home <GoldenGate_SvcMgr_Config> --var_home <GoldenGate_SvcMgr_VarDir> --port <port number> --adminuser <OGG admin user> --user <GG instance user> --group <GG instance group> --network <network_number> --ip <ip_address> --filesystems <CRS_resource_name> --db_services <service_name> --use_local_services --nodes <node1, node2, ... ,nodeN>

コマンド説明:

--gg_home は Oracle GoldenGate ソフトウェアの場所を⽰します。 --service_manager は、これが Oracle GoldenGate Microservices インスタンスであることを⽰します。 --config_home は Oracle GoldenGate デプロイメント構成ホーム・ディレクトリを⽰します。 --var_home は Oracle GoldenGate デプロイメント変数ホーム・ディレクトリを⽰します。 --port はデプロイメントの Service Manager のポート番号を⽰します。 --adminuser は Oracle GoldenGate Microservices の管理者アカウント名を⽰します。 --user は、Oracle GoldenGate デプロイメントを所有するオペレーティング・システムのユーザー名を⽰します。 --group は、Oracle GoldenGate デプロイメントを所有するオペレーティング・システムのグループ名を⽰します。 --network は、17 ページで確認した VIP のネットワーク・サブネットを⽰します(オプション)。 --ip は、17 ページで確認した VIP の IP アドレスを⽰します(オプション)。すでに VIP を作成している場合は、--network および--ip の代わりに--vip_name <vip_name>パラメータを使⽤してこれを指定します。 --filesystemsは、デプロイメントの開始前にマウントする必要がある CRS ファイル・システム・リソースを⽰します。 --db_services は、前の⼿順で作成された ora.<database>.<service_name>.svc サービス名を⽰します。 --use_local_services により、Oracle GoldenGate インスタンスは、db_services サービスが実⾏されているのと同じ Oracle RAC ノードに⼀緒に配置する必要があることを指定します。

Page 22: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

20 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

--nodes により、この Oracle GoldenGate インスタンスを実⾏することができる Oracle RAC ノードを指定します。GoldenGate がクラスタ内のどの Oracle RAC ノードであっても実⾏されるように構成されている場合、このパラメータは省略できます(オプション)。 注: 1. XAG への Oracle GoldenGate インスタンスの登録は、VIP が作成されていない場合でもルー

ト・ユーザーとして実⾏する必要があります。 2. XAG への GoldenGate の登録はルート・ユーザーとして実⾏されるため、user および group の

パラメータは必須です。 以下に Oracle GoldenGate を XAG に登録する⽅法の例を⽰します。

a. ソース RAC クラスタ。DBFS を使⽤し、アプリケーション VIP が不要な場合。

# agctl add goldengate GG_SOURCE \ --gg_home /u01/oracle/goldengate/gg123_MA \ --service_manager \ --config_home /mnt/dbfs/goldengate/deployments/ggsm01/etc/conf \ --var_home /mnt/dbfs/goldengate/deployments/ggsm01/var \ --port 9100 \ --adminuser admin \ --user oracle \ --group oinstall \ --filesystems dbfs_mount \ --db_services ora.ggdb.oggserv.svc \ --use_local_services

コマンド説明:

• GoldenGate インスタンスは GG_SOURCE です。 • GoldenGate ホーム・ディレクトリは /u01/oracle/goldengate/gg123_MA です。 • これは Oracle GoldenGate Microservices Architecture インスタンス(--

service_manager)です。 • Oracle GoldenGate デプロイメント構成ホーム・ディレクトリは次のとおりです。

/mnt/dbfs/goldengate/deployments/ggsm01/etc/conf • Oracle GoldenGate デプロイメント変数ホーム・ディレクトリは次のとおりです。

/mnt/dbfs/goldengate/deployments/ggsm01/var • デプロイメントの Service Manager のポート番号は 9100 です。 • Oracle GoldenGate Microservices の管理者アカウント名は admin です。 • Oracle GoldenGate ユーザーは oinstall グループの oracle です。 • デプロイメントが依存しているファイル・システムの CRS リソース名は

dbfs_mount です。 • ora.ggdb.oraserv.svc という CRS サービスがこの GoldenGate インスタンスと同じ

RAC ノードに配置されるため、この GoldenGate インスタンスは、その同じ RACノードで開始されます。

Page 23: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

21 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

b. ターゲット RAC クラスタ。Oracle ACFS を使⽤し、クラスタ内のノードのサブネットでアプリケーション VIP が実⾏されている場合。 # agctl add goldengate GG_TARGET \ --gg_home /u01/oracle/goldengate/gg123_MA \ --service_manager \ --config_home /mnt/acfs/goldengate/deployments/ggsm02/etc/conf \ --var_home /mnt/acfs/goldengate/deployments/ggsm02/var \ --port 9100 \ --adminuser admin \ --user oracle \ --group oinstall \ --network 1 --ip 10.13.11.203 \ --filesystems ora.datac1.acfs_gg.acfs \ --db_services ora.ggdb.oggserv.svc \ --use_local_services

コマンド説明: • GoldenGate インスタンスは GG_TARGET です。 • GoldenGate ホーム・ディレクトリは /u01/oracle/goldengate/gg123_MA です。 • これは Oracle GoldenGate Microservices Architecture インスタンス

(--service_manager)です。 • Oracle GoldenGate デプロイメント構成ホーム・ディレクトリは次のとおりです。

/mnt/acfs/goldengate/deployments/ggsm02/etc/conf • Oracle GoldenGate デプロイメント変数ホーム・ディレクトリは次のとおりです。

/mnt/acfs/goldengate/deployments/ggsm02/var • デプロイメントの Service Manager のポート番号は 9100 です。 • Oracle GoldenGate Microservices の管理者アカウント名は admin です。 • Oracle GoldenGate ユーザーは oinstall グループの oracle です。 • ネットワークはデフォルトの ora.net1.network で、VIP は 10.13.11.203 です。 • デプロイメントが依存しているファイル・システムの CRS リソース名は

ora.datac1/acfs_gg/acfs です。 • ora.ggdb.oraserv.svc という CRS サービスがこの GoldenGate インスタンスと同じ

RAC ノードに配置されるため、この GoldenGate インスタンスは、その同じ RACノードで開始されます。

以下に、GoldenGate デプロイメントを XAG で管理するために使⽤する AGCTL コマンドの例を⽰します。Oracle GoldenGate の状態を確認するには、次のコマンドを実⾏します。 % agctl status goldengate Goldengate instance 'GG_Source' is running on dbm01db06

Oracle GoldenGate デプロイメントと、⾃動開始が有効なすべての Extract/Replicat プロセスを開始するには、次のコマンドを実⾏します。 % agctl start goldengate GG_Target --node nshb01gg06

Page 24: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

22 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

Oracle GoldenGate デプロイメントを停⽌するには、次のコマンドを実⾏します。 % agctl stop goldengate GG_Target

Oracle GoldenGate デプロイメントを他のノードに⼿動で再配置するには、次のコマンドを実⾏します。 % agctl relocate goldengate GG_Source --node dbm01db05

注:Oracle GoldenGate リソースは、再配置の前に必ず実⾏してください。Oracle GoldenGate リソースの構成パラメータを表⽰するには、次のコマンドを実⾏します。 % agctl config goldengate GG_Target Instance name:GG_TARGET Application GoldenGate location is: /u01/oracle/goldengate/gg123_MA Goldengate MicroServices Architecture environment : yes Goldengate Service Manager configuration directory : /mnt/acfs/goldengate/deployments/ggsm01/etc/conf Goldengate Service Manager var directory : /mnt/acfs/goldengate/deployments/ggsm01/var Service Manager Port :9100 Goldengate Administration User : admin Autostart on DataGuard role transition to PRIMARY: no Database Services needed: ora.ggdb.oggserv.svc [use_local_services] File System resources needed: ora.datac1.acfs_gg.acfs Network:1, IP:10.13.11.203, User:oracle, Group:oinstall

より詳細な Clusterware 構成情報を表⽰するには、次のコマンドを実⾏します。 % crsctl stat res -w "NAME = xag.GG_Source.goldengate" –p

Oracle GoldenGate リソースを削除するには、次のコマンドを実⾏してプロセスを停⽌し、そのリソースを削除します。 % actl stop goldengate GG_Source

% agctl remove goldengate GG_Source

Oracle Grid Infrastructure Bundled Agent について詳しくは、以下を参照してください。 http://www.oracle.com/technetwork/database/database-technologies/clusterware/downloads/xag-agents-downloads- 3636484.html

⼿順7:共有ファイル・システムを使⽤するためのOracle GoldenGateのプロセスの構成 Oracle GoldenGate Microservices Architecture で Extract、分散パス、および Replicat プロセスを作成する場合、Oracle RAC ノード間で共有する必要があるすべてのファイルは、共有ファイル・システムに格納されているデプロイメントとすでに共有されています。

Page 25: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

23 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

Extract の構成

1. Oracle GoldenGate Administration Server GUI インタフェースで Extract を作成する場合、「Trail SubDirectory」パラメータを空⽩のままにします。空⽩のままにすると、共有ファイル・システムに格納されているデプロイメント・ディレクトリに証跡ファイルが作成されるようになります。

図6:Administration ServerでのOracle GoldenGateのExtractプロセスの作成。

2. CACHEMGR パラメータを使⽤して、⼀時キャッシュ・ファイルを共有ストレージに格納します。共有ストレージで必ず必要とされるわけではありませんが、そうすることによって多くの場合ストレージ容量が増え、⼀時ファイル・ディレクトリがいっぱいになって Extract が停⽌するのを防⽌します。

Oracle DBFS の場合:

CACHEMGR CACHEDIRECTORY /mnt/dbfs/gg_dirtmp

Page 26: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

24 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

Oracle ACFS の場合:

CACHEMGR CACHEDIRECTORY /mnt/acfs_gg/dirtmp

次に、Oracle GoldenGate Administration Server GUI で統合 Extract に指定されるパラメータの例を⽰します。

図7:⼀時キャッシュとBounded Recoveryファイルを定義するExtractパラメータ

Extract プロセスの作成⽅法に関する指⽰について詳しくは、『Oracle Fusion Middleware Oracle GoldenGate Microservices Architecture の使⽤』ガイドを参照してください。https://docs.oracle.com/cd/E92689_01/GGSAU/toc.htm Replicat の構成

1. 1 つ以上の⾮統合の Replicat プロセスを作成する場合、チェックポイント表が GGADMINスキーマで作成されていることを確認します。Oracle GoldenGate Administration Server GUI を使⽤して、「+」ボタンをクリックして schema.tablename の形式でチェックポイント表名を⼊⼒することで、チェックポイント表を作成できます。

Page 27: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

25 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

図8:⾮統合のReplicatプロセスのチェックポイント表の作成

2. Oracle GoldenGate Administration Server GUI インタフェースで Replicat を作成する場合、「Trail SubDirectory」パラメータを空⽩のままにします。空⽩のままにすると、共有ファイル・システムに格納されているデプロイメント・ディレクトリに証跡ファイルが作成されるようになります。

3. チェックポイント表が以前に作成された場合、「Checkpoint Table」プルダウン・リストから表名を選択します。 次の図 9 は、「Trail SubDirectory」と「Checkpoint Table」のプロンプトが表⽰されたスクリーンショットです。

Page 28: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

26 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

図9:「Trail SubDirectory」と「Checkpoint Table」を使⽤したReplicatの作成

4. Replicat が作成されたら、/<deployment_directory>/etc/conf/ogg にある GLOBALSファイルに CHECKPOINTTABLE パラメータを追加します。スキーマ名を含む同じチェックポイント表名が指定されるようにします。

以下に例を⽰します。

CHECKPOINTTABLE GGADMIN.GG_CKPT

分散パスの構成

Oracle GoldenGate Microservices Architecture では、Data Pump プロセスが分散パスに置き換えられました。分散パスにより、軽量のフィルタリング(変換なし)を使⽤して 1 つ以上の証 跡 を 1 つ 以 上 の 宛 先 に 分 散 さ せ る こ と が で き ま す 。 パ ス は 、 Oracle GoldenGate Distribution Server GUI を使⽤して作成されます。

次に、構成の推奨事項が強調された分散パスの作成例を⽰します。

Page 29: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

27 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

図10:Distribution Server GUIを使⽤した分散パスの作成

Page 30: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

28 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

1. 「Generated Source URI」を変更して、サーバー名の localhost を指定します。これにより、すべての Oracle RAC ノードで分散パスを開始できます。

2. 「Target」でホスト名をターゲット・システムへの接続に使⽤されるホスト名に設定し、ターゲット・ホストで稼働する Receiver Server のポート番号を設定します。Oracle GoldenGate ターゲット・ホストが Oracle RAC クラスタである場合、Oracle RAC ノード間で 1 つの IP アドレスを移動できるように、Cluster Ready Services で作成されたアプリケーション仮想 IP ホスト名を指定します。Oracle GoldenGate で使⽤する VIP を作成する⼿順は、前述の⼿順 6 に⽰されています。 GoldenGate のターゲット RAC ノードのフェイルオーバーの際には、RAC ノード間の移動時に、分散パスで引き続き証跡ファイルが Receiver Server に転送されます。

3. Distribution Server の起動時に分散パスが⾃動的に再開されるように設定します。Distribution Server の RAC ノードの再配置後に⼿動介⼊が不要になるようにするため、これは必須です。「Retries」の数値は 10 に設定することをお勧めします。再開の試⾏間隔(分単位)である「Delay」を 1 に設定します。

分散パスの作成⽅法に関する指⽰について詳しくは、『Oracle Fusion Middleware Oracle GoldenGate Microservices Architecture の使⽤』を参照してください。https://docs.oracle.com/cd/E92689_01/GGSAU/toc.htm

⼿順8:ExtractプロセスおよびReplicatプロセスの⾃動開始の構成 Extract プロセスおよび Replicat プロセスが、Oracle GoldenGate Administration Server の開始時に⾃動的に開始されて、いずれかの Extract プロセスまたは Replicat プロセスが異常終了した場合に再開されるように構成します。 Oracle GoldenGate プロセスの⾃動開始タスクの作成

Oracle GoldenGate Administration Server GUI を使⽤して、Oracle GoldenGate のプロセスごとに新しい⾃動開始タスクを作成します。推奨設定を次に⽰します。

• Critical:デフォルト設定である無効のままにします。Oracle GoldenGate プロセスの⾃動開始タスクに対して「Critical」を有効にすると、開始に失敗した場合に、デプロイメント全体が別の Oracle RAC ノードにフェイルオーバーされます。通常、これは推奨されません。プロセスを開始できなかった理由により、別のノードでの開始時にも失敗することがあるためです。デプロイメントが Oracle RAC ノードで再配置されることによって、他のすべての Oracle GoldenGate プロセスの停⽌が発⽣します。

• Process Type:Extract または Replicat のプロセス・タスクを⽰す、デフォルト・タイプである ER のままにします。

図 11 に、Oracle GoldenGate の Extract プロセスの新しい⾃動開始タスクを作成する例を⽰します。

Page 31: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

29 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

図11:Oracle GoldenGate Administration Server GUIを使⽤した、GoldenGateプロセスの⾃動開始タスクの作成

Oracle GoldenGate プロセスの⾃動再開タスクの作成

Oracle GoldenGate Administration Server GUI を使⽤して、Oracle GoldenGate のプロセスごとに⾃動再開タスクを作成します。推奨設定を次に⽰します。

• Process Type:Extract または Replicat のプロセス・タスクを⽰す、デフォルト・タイプである ER のままにします。

• Delay:Oracle GoldenGate プロセスによって、1 分間隔で再開が試⾏されるように、1 分に設定します。

• Max Retries:Oracle GoldenGate プロセスの再会作業終了の前に再開が 5 回試⾏されるように、5 に設定します。

• Window:再試⾏の回数が 20 分後に 0 にリセットされるように、20 分に設定します。 図 12 に、Oracle GoldenGate の Extract プロセスの新しい⾃動再開タスクを作成する例を⽰します。

Page 32: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

30 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

図12:Oracle GoldenGate Administration Server GUIを使⽤した、GoldenGateプロセスの⾃動再開タスクの作成。

Oracle RACをデプロイする場合の推奨事項のまとめ Oracle RAC 環境で Oracle GoldenGate を構成する場合は、次の推奨事項に従ってください。 » 最新バージョンの Oracle GoldenGate を各 Oracle RAC ノードにローカルにインストールして、

ソフトウェアの場所がすべての Oracle RAC ノードで同じになるようにします。 » GoldenGate ファイル(証跡、チェックポイント、⼀時、レポート、およびパラメータの各ファ

イル)を格納するファイル・システムとして、Oracle Database File SystemまたはOracle ASM Cluster File System を使⽤します。

» Oracle GoldenGate を実⾏可能なすべての Oracle RAC ノードにおいて、同じ Oracle DBFS または Oracle ACFS マウント・ポイントを使⽤します。

» Oracle GoldenGate デプロイメントを作成するときに、デプロイメントの場所に DBFS またはACFS を指定します。

» Oracle GoldenGate が実⾏されるすべての Oracle RAC ノードに、Grid Infrastructure Agent(XAG)バージョン 9 以降をインストールします。

» デプロイメントの開始時に Oracle GoldenGate プロセスを開始および再開するように構成します。

Page 33: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

31 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

参考資料

» Oracle Fusion Middleware Oracle GoldenGate のインストール 12c(12.3.0.1)

» Oracle GoldenGate Microservices Architecture の使⽤(12.3.0.1)

» Oracle Fusion Middleware Oracle GoldenGate リファレンス 12C(12.3.0.1)

» Oracle Database SecureFiles およびラージ・オブジェクト開発者ガイド

» Oracle Automatic Storage Management 管理者ガイド

» Oracle Clusterware 管理およびデプロイメント・ガイド

» Oracle GoldenGate のパフォーマンス・ベスト・プラクティス(Oracle MAA ホワイト・ペーパー)

» Oracle Data Guard と Oracle GoldenGate による透過的なロール移⾏

» Oracle Maximum Availability Architecture の Web サイト

https://www.oracle.com/jp/database/technologies/high-

availability/maa.html

Page 34: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

32 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

付録A:Oracle RAC上のOracle GoldenGateのトラブルシューティング Oracle GoldenGate のプロセスが Oracle RAC ノードで正常に開始されない場合もあります。その場合は、Oracle GoldenGate、XAG、および Oracle CRS によって⽣成されるいくつかのファイルを確認して、問題の原因を特定する必要があります。

以下に、重要なログ・ファイルとトレース・ファイルの⼀覧、その場所および出⼒の例を⽰します。

1. XAGログ・ファイル 場所:<XAG installation directory>/log/<hostname>

場所の例:/u01/oracle/xag/log/dbm01db05

ファイル名:agctl_goldengate_oracle.trc

agctl によって実⾏されるすべてのコマンド、および Oracle CRS によって実⾏されるコマンドを含むコマンドによる出⼒が記録されています。

例: 2018-06-18 11:52:21: stop resource success 2018-06-18 11:52:38: agctl start goldengate GGT 2018-06-18 11:52:38: executing cmd: /u01/app/12.2.0.1/grid/bin/crsctl status res xag.GGT.goldengate 2018-06-18 11:52:38: executing cmd: /u01/app/12.2.0.1/grid/bin/crsctl status res xag.GGT.goldengate -f 2018-06-18 11:52:38: executing cmd: /u01/app/12.2.0.1/grid/bin/crsctl start resource xag.GGT.goldengate -f 2018-06-18 11:52:45:Command output: > CRS-2672:Attempting to start 'xag.GGT.goldengate' on 'dbm01db05' > CRS-2676:Start of 'xag.GGT.goldengate' on 'dbm01db05' succeeded >End Command output 2018-06-18 11:52:45: start resource success

2. XAG GoldenGateインスタンスのトレース・ファイル 場所:<XAG installation directory>/log/<hostname>

場所の例:/u01/oracle/xag/log/dbm01db05

ファイル名:<GoldenGate_instance_name>_agent_goldengate.trc

agctl によって実⾏されたコマンドからの出⼒と使⽤された環境変数、および基礎となるコマンドで有効化されたデバッグ出⼒が記録されています。

例: 2018-06-18 12:14:46:Exported ORACLE_SID ggdg1 2018-06-18 12:14:46:Exported GGS_HOME /u01/oracle/goldengate/gg123_MA 2018-06-18 12:14:46:Exported OGG_CONF_HOME /mnt/dbfs/goldengate/deployments/ggsm01/etc/conf 2018-06-18 12:14:46:Exported LD_LIBRARY_PATH /u01/oracle/goldengate/gg123_MA:/u01/app/12.2.0.1/grid/lib:/etc/ORCLcluster/lib 2018-06-18 12:14:46:Exported LD_LIBRARY_PATH_64 /u01/oracle/goldengate/gg123_MA 2018-06-18 12:14:46:Exported LIBPATH /u01/oracle/goldengate/gg123_MA 2018-06-18 12:14:46: ogg input = {"oggHome":"/u01/oracle/goldengate/gg123_MA","serviceManager":{"oggConfHome":"/ mnt/dbfs/goldengate/deployments/ggsm01/etc/conf","portNumber":9100},"username": "admin","credential":"xyz"} 2018-06-18 12:14:46:About to exec /u01/oracle/goldengate/gg123_MA/bin/XAGTask HealthCheck

Page 35: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

33 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

2018-06-18 12:14:47:XAGTask retcode = 0

3. CRSトレース・ファイル 場所:/u01/app/oracle/diag/crs/<hostname>/crs/trace

場所の例:/u01/app/oracle/diag/crs/dbm01db05/crs/trace

ファイル名:crsd_scriptagent_oracle.trc

任意の Oracle CRS リソース・アクション・スクリプト(XAG または dbfs_mount など)によって作成される出⼒が記録されています。このトレース・ファイルは、Oracle RAC ノードで Oracle DBFS または GoldenGate が起動しなかった理由を判断するのに不可⽋です。

例: 2018-06-18 11:52:38.634 : AGFW:549631744: {1:30281:59063} Agent received the message:RESOURCE_START[xag.GGT.goldengate 1 1] ID 4098:4125749 2018-06-18 11:52:38.634 : AGFW:549631744: {1:30281:59063} Preparing START command for: xag.GGT.goldengate 1 1 2018-06-18 11:52:38.634 : AGFW:549631744: {1:30281:59063} xag.GGT.goldengate 1 1 state changed from:OFFLINE to:STARTING 2018-06-18 11:52:38.634 :CLSDYNAM:558036736: [xag.GGT.goldengate]{1:30281:59063} [start] Executing action script: /u01/oracle/XAG_MA/bin/aggoldengatescaas[start] 2018-06-18 11:52:38.786 :CLSDYNAM:558036736: [xag.GGT.goldengate]{1:30281:59063} [start] GG agent running command 'start' on xag.GGT.goldengate 2018-06-18 11:52:42.140 :CLSDYNAM:558036736: [xag.GGT.goldengate]{1:30281:59063} [start] ServiceManager fork pid = 265747 2018-06-18 11:52:42.140 :CLSDYNAM:558036736: [xag.GGT.goldengate]{1:30281:59063} [start] Waiting for /mnt/dbfs/goldengate/deployments/ggsm01/var/run/ServiceManager.pid 2018-06-18 11:52:42.140 :CLSDYNAM:558036736: [xag.GGT.goldengate]{1:30281:59063} [start] Waiting for SM to start 2018-06-18 11:52:42.140 :CLSDYNAM:558036736: [xag.GGT.goldengate]{1:30281:59063} [start] ServiceManager PID = 265749 2018-06-18 11:52:43.643 :CLSDYNAM:558036736: [xag.GGT.goldengate]{1:30281:59063} [start] XAGTask retcode = 0 2018-06-18 11:52:43.643 :CLSDYNAM:558036736: [xag.GGT.goldengate]{1:30281:59063} [start] XAG HealthCheck after start returned 0 2018-06-18 11:52:43.643 : AGFW:558036736: {1:30281:59063} Command: start for resource: xag.GGT.goldengate 1 1 completed with status:SUCCESS 2018-06-18 11:52:43.643 :CLSDYNAM:558036736: [xag.GGT.goldengate]{1:30281:59063} [check] Executing action script: /u01/oracle/XAG_MA/bin/aggoldengatescaas[check] 2018-06-18 11:52:43.644 : AGFW:549631744: {1:30281:59063} Agent sending reply for:RESOURCE_START[xag.GGT.goldengate 1 1] ID 4098:4125749 2018-06-18 11:52:43.795 :CLSDYNAM:558036736: [xag.GGT.goldengate]{1:30281:59063} [check] GG agent running command 'check' on xag.GGT.goldengate 2018-06-18 11:52:45.548 :CLSDYNAM:558036736: [xag.GGT.goldengate]{1:30281:59063} [check] XAGTask retcode = 0 2018-06-18 11:52:45.548 : AGFW:549631744: {1:30281:59063} xag.GGT.goldengate 1 1 state changed from:STARTING to:ONLINE

Page 36: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

34 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

4. GoldenGateデプロイメントのログ・ファイル 場所:<Goldengate_deployment_directory>/<deployment_name>/var/log

場所の例:/mnt/dbfs/goldengate/deployments/gg01/var/log

ファイル名:adminsrvr.log, recvsrvr.log, pmsrvr.log, distsrvr.log

Oracle GoldenGate デプロイメント・プロセス(Administration Server、Distribution Server、Receiver Server、および Performance Metrics Server)の開始、停⽌、およびステータス・チェックの出⼒が記録されています。

例: 2018-06-18T11:52:42.645-0400 INFO | Setting deploymentName to 'gg01'. (main) 2018-06-18T11:52:42.665-0400 INFO | Read SharedContext from store for length 19 of file '/mnt/dbfs/goldengate/deployments/gg01/var/lib/conf/adminsrvr- resources.dat'. (main) 2018-06-18T11:52:42.723-0400 INFO | XAG Integration enabled (main) 2018-06-18T11:52:42.723-0400 INFO | Configuring security. (main) 2018-06-18T11:52:42.723-0400 INFO | Configuring user authorization secure store path as '/mnt/dbfs/goldengate/deployments/gg01/var/lib/credential/secureStore/'. (main) 2018-06-18T11:52:42.731-0400 INFO | Configuring user authorization as ENABLED. (main) 2018-06-18T11:52:42.749-0400 INFO | Set network configuration. (main) 2018-06-18T11:52:42.749-0400 INFO | Asynchronous operations are enabled with default synchronous wait time of 30 seconds (main) 2018-06-18T11:52:42.749-0400 INFO | HttpServer configuration complete. (main) 2018-06-18T11:52:42.805-0400 INFO | SIGHUP handler installed. (main) 2018-06-18T11:52:42.813-0400 INFO | SIGINT handler installed. (main) 2018-06-18T11:52:42.815-0400 INFO | SIGTERM handler installed. (main) 2018-06-18T11:52:42.817-0400 WARN | Security is configured as 'disabled'. (main) 2018-06-18T11:52:42.818-0400 INFO | Starting service listener... (main) 2018-06-18T11:52:42.819-0400 INFO | Mapped 'ALL' interface to address 'ANY:9101' with default IPV4/IPV6 options identified by 'nshb01adm05.us.oracle.com'. (main) 2018-06-18T11:52:42.821-0400 INFO | Captured 1 interface host names: 'dbm01db05.us.oracle.com' (main) 2018-06-18T11:52:42.824-0400 INFO | The Network ipACL specification is empty. Accepting ANY address on ALL interfaces. (main) 2018-06-18T11:52:42.826-0400 INFO | Server started at 2018-06-18T11:52:42.827- 05:00 (2018-06-18T15:52:42.827Z GMT) (main)

5. Oracle GoldenGateレポート・ファイル 場所:<Goldengate_deployment_directory>/<deployment_name>/var/lib/report

場所の例:/mnt/dbfs/goldengate/deployments/gg01/var/lib/report

GoldenGate レポート・ファイルには、Manager プロセスを含むすべての GoldenGate プロセスの重要な情報、警告メッセージ、およびエラーが記録されています。GoldenGate プロセスのいずれかが開始しなかったり、実⾏中に異常終了したりすると、そのプロセスのレポート・ファイルに、障害の原因を特定するのに役⽴つ重要な情報が記録されます。

Extract レポート・ファイルに記録されるエラー例: 2018-02-23 13:01:50 ERROR OGG-00446 Unable to lock file "/u01/oracle/goldengate/gg123/dirchk/EXT_1A.cpe" (error 95, Operation not supported). 2018-02-23 13:01:50 ERROR OGG-01668 PROCESS ABENDING.

Page 37: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

35 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

構成問題の例 以下に、RAC 環境の GoldenGate で発⽣する可能性がある構成問題の例と、それらの問題の診断および解決⽅法を⽰します。

1. mount-dbfs.conf ファイルでのパラメータ設定の誤り

XAG が Oracle DBFS のマウントに失敗すると、その障害は、コマンドラインで(⼿動の agctl コマンドを実⾏している場合)、または XAG ログ・ファイルにレポートされます。 $ agctl start goldengate GGT --node nshb01gg05 CRS-2672:Attempting to start 'dbfs_mount' on ' nshb01gg05' CRS-2674:Start of 'dbfs_mount' on ' nshb01gg05' failed CRS-2679:Attempting to clean 'dbfs_mount' on ' nshb01gg05' CRS-2681:Clean of 'dbfs_mount' on ' nshb01gg05' succeeded CRS-4000:Command Start failed, or completed with errors.

XAG ログ・ファイル(agctl_goldengate_oracle.trc)には、他のログ・ファイルまたはトレース・ファイルの参照中に使⽤できるタイムスタンプが⽰されるという利点があります。 2018-06-19 15:32:16: executing cmd: /u01/app/12.2.0.1/grid/bin/crsctl start resource xag.GGT.goldengate -f -n nshb01gg05 2018-06-19 15:32:19:Command output: > CRS-2672:Attempting to start 'dbfs_mount' on ' nshb01gg05' > CRS-2674:Start of 'dbfs_mount' on ' nshb01gg05' failed > CRS-2679:Attempting to clean 'dbfs_mount' on ' nshb01gg05' > CRS-2681:Clean of 'dbfs_mount' on ' nshb01gg05' succeeded > CRS-4000:Command Start failed, or completed with errors. >End Command output 2018-06-19 15:32:19: start resource failed rc=1

次に、Oracle DBFS のマウントに失敗した理由が⽰されている Oracle CRS トレース・ファイル(crsd_scriptagent_oracle.trc)をチェックします。以下に、mount-dbfs.conf ファイルでのパラメータ設定の誤りによって発⽣したエラーの例を⽰します。

i. DBNAME の誤り 2018-06-19 15:32:16.679 : AGFW:1190405888: {1:30281:17383} dbfs_mount 1 1 state changed from:UNKNOWN to:STARTING 2018-06-19 15:32:16.680 :CLSDYNAM:1192507136: [dbfs_mount]{1:30281:17383} [start] Executing action script: /u01/oracle/scripts/mount-dbfs.sh[start] 2018-06-19 15:32:16.732 :CLSDYNAM:1192507136: [dbfs_mount]{1:30281:17383} [start] mount-dbfs.sh mounting DBFS at /mnt/dbfs from database ggdg 2018-06-19 15:32:17.883 :CLSDYNAM:1192507136: [dbfs_mount]{1:30281:17383} [start] ORACLE_SID is 2018-06-19 15:32:17.883 :CLSDYNAM:1192507136: [dbfs_mount]{1:30281:17383} [start] No running ORACLE_SID available on this host, exiting 2018-06-19 15:32:17.883 : AGFW:1192507136: {1:30281:17383} Command: start for resource: dbfs_mount 1 1 completed with invalid status:2

ii. MOUNT_POINT の誤り 2018-06-19 16:45:14.534 : AGFW:1734321920: {1:30281:17604} dbfs_mount 1 1 state changed from:UNKNOWN to:STARTING 2018-06-19 16:45:14.535 :CLSDYNAM:1736423168: [dbfs_mount]{1:30281:17604} [start] Executing action script: /u01/oracle/scripts/mount-dbfs.sh[start] 2018-06-19 16:45:14.586 :CLSDYNAM:1736423168: [dbfs_mount]{1:30281:17604} [start] mount-dbfs.sh mounting DBFS at /mnt/dbfs_gg from database ggdgs 2018-06-19 16:45:15.638 :CLSDYNAM:1736423168: [dbfs_mount]{1:30281:17604} [start] ORACLE_SID is ggdg1

Page 38: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

36 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

2018-06-19 16:45:15.738 :CLSDYNAM:1736423168: [dbfs_mount]{1:30281:17604} [start] spawning dbfs_client command using SID ggdg1 2018-06-19 16:45:20.745 :CLSDYNAM:1736423168: [dbfs_mount]{1:30281:17604} [start] fuse: bad mount point `/mnt/dbfs_gg':No such file or directory 2018-06-19 16:45:21.747 :CLSDYNAM:1736423168: [dbfs_mount]{1:30281:17604} [start] Start -- OFFLINE 2018-06-19 16:45:21.747 : AGFW:1736423168: {1:30281:17604} Command: start for resource: dbfs_mount 1 1 completed with status:FAIL

iii. DBFS_USER または DBFS_PASSWD の誤り 2018-06-19 16:47:47.855 : AGFW:1384478464: {1:30281:17671} dbfs_mount 1 1 state changed from:UNKNOWN to:STARTING 2018-06-19 16:47:47.856 :CLSDYNAM:1386579712: [dbfs_mount]{1:30281:17671} [start] Executing action script: /u01/oracle/scripts/mount-dbfs.sh[start] 2018-06-19 16:47:47.908 :CLSDYNAM:1386579712: [dbfs_mount]{1:30281:17671} [start] mount-dbfs.sh mounting DBFS at /mnt/dbfs from database ggdgs 2018-06-19 16:47:48.959 :CLSDYNAM:1386579712: [dbfs_mount]{1:30281:17671} [start] ORACLE_SID is ggdg1 2018-06-19 16:47:49.010 :CLSDYNAM:1386579712: [dbfs_mount]{1:30281:17671} [start] spawning dbfs_client command using SID ggdg1 2018-06-19 16:47:55.118 :CLSDYNAM:1386579712: [dbfs_mount]{1:30281:17671} [start] Fail to connect to database server.Error:ORA-01017: invalid username/password; logon denied 2018-06-19 16:47:55.118 :CLSDYNAM:1386579712: [dbfs_mount]{1:30281:17671} [start] 2018-06-19 16:47:56.219 :CLSDYNAM:1386579712: [dbfs_mount]{1:30281:17671} [start] Start -- OFFLINE 2018-06-19 16:47:56.220 : AGFW:1386579712: {1:30281:17671} Command: start for resource: dbfs_mount 1 1 completed with status:FAIL

iv. ORACLE_HOME の誤り 2018-06-19 16:50:38.952 : AGFW:567502592: {1:30281:17739} dbfs_mount 1 1 state changed from:UNKNOWN to:STARTING 2018-06-19 16:50:38.953 :CLSDYNAM:569603840: [dbfs_mount]{1:30281:17739} [start] Executing action script: /u01/oracle/scripts/mount-dbfs.sh[start] 2018-06-19 16:50:39.004 :CLSDYNAM:569603840: [dbfs_mount]{1:30281:17739} [start] mount-dbfs.sh mounting DBFS at /mnt/dbfs from database ggdgs 2018-06-19 16:50:39.004 :CLSDYNAM:569603840: [dbfs_mount]{1:30281:17739} [start] /u01/oracle/scripts/mount-dbfs.sh: line 136: /u01/app/oracle/product/12.2.0.1/bin/srvctl:No such file or directory 2018-06-19 16:50:39.004 :CLSDYNAM:569603840: [dbfs_mount]{1:30281:17739} [start] /u01/oracle/scripts/mount-dbfs.sh: line 139: /u01/app/oracle/product/12.2.0.1/bin/srvctl:No such file or directory 2018-06-19 16:50:39.004 :CLSDYNAM:569603840: [dbfs_mount]{1:30281:17739} [start] ORACLE_SID is 2018-06-19 16:50:39.004 :CLSDYNAM:569603840: [dbfs_mount]{1:30281:17739} [start] No running ORACLE_SID available on this host, exiting 2018-06-19 16:50:39.004 : AGFW:569603840: {1:30281:17739} Command: start for resource: dbfs_mount 1 1 completed with invalid status:2

これらの構成問題を解決するには、mount-dbfs.conf で正しいパラメータ値を設定します。

2. Oracle DBFS でのファイル・ロックに関する問題

Oracle Database 12c Release 2(12.2)を使⽤中で、Oracle DBFS の nolock マウント・オプションを使⽤しない場合は、GoldenGate のプロセスでチェックポイントまたは証跡ファイルをロックするときに問題が発⽣する可能性があります。同じ問題は、バグ 22646150 に対するパッチが適⽤されている Oracle Database 11g Release 2(11.2.0.4)または 12c Release 1(12.1)を使⽤している場合にも発⽣します。このパッチにより、Oracle Database 12c Release 2(12.2)に適合するように Oracle DBFS でのファイル・ロックの処理⽅法が変更されます。Oracle DBFS の nolock マ

Page 39: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

37 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

ウント・オプションを追加するためには、バグ 27056711 に対するパッチをデータベースに適⽤する必要があります。バグ 22646150 のパッチがデータベースに適⽤されていない場合、バグ27056711 のパッチと nolock マウント・オプションは不要です。

以下に、GoldenGate Microservices Architecture のロック問題の診断⽅法の例を⽰します。

XAG によるデプロイメントの開始時に、1 つ以上のファイルでロック競合が検出されることに起因して、1 つ以上のプロセスが開始されない場合があります。これは多くの場合、デプロイメントをクリーンにシャットダウンする機会がなかった場合の Oracle RAC ノードのフェイルオーバー後に発⽣します。

デプロイメント・サーバー・プロセスの 1 つが開始できなかった場合(Administration Server、Performance Metrics Server、Distribution Server、Receiver Server、または Service Manager)、デプロイメントの var/log ディレクトリにある特定のサーバーのログ・ファイルを確認します。

たとえば、ログ・ファイル/mnt/dbfs/goldengate/deployments/gg01/var/log/pmsrvr.log には、起動時の次のエラーが⽰されます。 2018-07-11T12:41:57.619-0700 ERROR| SecureStore failed on open after retrying due to extended file lock. (main) 2018-07-11T12:41:57.619-0700 ERROR| SecureStore failed to close (28771). (main) 2018-07-11T12:41:57.619-0700 INFO | Set network configuration. (main) 2018-07-11T12:41:57.619-0700 INFO | Asynchronous operations are enabled with default synchronous wait time of 30 seconds (main) 2018-07-11T12:41:57.619-0700 INFO | HttpServer configuration complete. (main) 2018-07-11T12:42:07.674-0700 ERROR| Unable to lock process file, Error is [1454] - OGG-01454 (main) 2018-07-11T12:42:07.675-0700 ERROR| Another Instance of PM Server is Already Running (main)

Extract プロセスにより、デプロイメントのログ・ファイル・ディレクトリにある ER-events.log ログ・ファイルに起動の失敗がレポートされます。

たとえば、/mnt/dbfs/goldengate/deployments/gg01/var/log/ER-events.log には、次のエラーが⽰されます。 2018-07-11T00:14:56.845-0700 ERROR OGG-01454 Oracle GoldenGate Capture for Oracle, EXT1.prm: Unable to lock file "/mnt/dbfs/goldengate/deployments/gg01/var/run/EXT1.pce" (error 11, Resource temporarily unavailable). Lock currently held by process id (PID) 237495. 2018-07-11T00:14:56.861-0700 ERROR OGG-01668 Oracle GoldenGate Capture for Oracle, EXT1.prm: PROCESS ABENDING.

次に、開始できなかったプロセスがいずれの Oracle RAC ノードでも実⾏されていないことを確認します。例: $ ps -ef|grep EXT1|grep –v grep

プロセスが実⾏されていないことが確認されたら、デプロイメントをクリーンにシャットダウンし、ファイル・システムをアンマウントし、正しい DBFS パッチを適⽤する必要があります。

例: $ agctl stop goldengate GGT $ crsctl stop resource dbfs_mount

Page 40: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

38 | Oracle Real Application Clustersを使⽤したOracle GoldenGate Microservices Architectureの構成

Oracle DBFS のマウント・オプションをチェックします。 $ ps -ef|grep dbfs_client oracle 204017 1 0 14:37 ? 00:00:00 /u01/app/oracle/product/12.2.0.1/dbhome_1/bin/dbfs_client [email protected] -o allow_other,failover,direct_io /mnt/dbfs

nolock マウント・オプションが使⽤されなかったことは明らかであり、これによりロック・エラーが発⽣します。

36 ページの前述のガイドラインを使⽤して、DBFS パッチが必要かどうかを確認します。その後、デプロイメントの⼀部であるすべての Oracle RAC ノードの mount-dbfs.conf ファイルに nolock マウント・オプションを追加します。

例:

MOUNT_OPTIONS=allow_other,direct_io,failover,nolock

最後に、デプロイメントを再開します。

$ agctl start goldengate GGT

Page 41: Oracle Real Application Clustersを使用したOracle ......Microservices Architectureを、Oracle RAC、Oracle Clusterware、Oracle Database File System(Oracle DBFS)またはOracle

Oracle Corporation, World Headquarters

500 Oracle Parkway

Redwood Shores, CA 94065, USA

海外からのお問い合わせ窓⼝

電話:+1.650.506.7000

ファクシミリ:+1.650.506.7200

C O N N E C T W I T H U S

blogs.oracle.com/oracle

facebook.com/oracle

twitter.com/oracle

oracle.com

Copyright © 2018, Oracle and/or its affiliates.All rights reserved.本⽂書は情報提供のみを⽬的として提供されており、ここに記載される内容は予告なく変更されることがあります。本⽂書は、その内容に誤りがないことを保証するものではなく、また、⼝頭による明⽰的保証や法律による黙⽰的保証を含め、商品性ないし特定⽬的適合性に関する黙⽰的保証および条件などのいかなる保証および条件も提供するものではありません。オラクルは本⽂書に関するいかなる法的責任も明確に否認し、本⽂書によって直接的または間接的に確⽴される契約義務はないものとします。本⽂書はオラクルの書⾯による許可を前もって得ることなく、いかなる⽬的のためにも、電⼦または印刷を含むいかなる形式や⼿段によっても再作成または送信することはできません。 Oracle および Java は Oracle およびその⼦会社、関連会社の登録商標です。その他の名称はそれぞれの会社の商標です。 Intel および Intel Xeon は Intel Corporation の商標または登録商標です。すべての SPARC 商標はライセンスに基づいて使⽤される SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMD ロゴおよび AMD Opteron ロゴは、Advanced Micro Devices の商標または登録商標です。UNIX は、The Open Group の登録商標です。0116