タスク7: Oracle Clusterwareの構成

次の手順では、Oracle Grid Infrastructureスタンドアロン・エージェント(XAG)を使用してOracle GoldenGateを管理するようにOracle Clusterwareを構成する方法を示します。

XAGを使用することで、Oracle RACノード間の再配置時に、共有ファイル・システム(DBFSまたはACFS)のマウントとGoldenGateデプロイメントの停止および起動を自動化します。

  1. Oracle Grid Infrastructure Standalone Agentをインストールします。

    XAGソフトウェアはスタンドアロン・エージェントとしてGrid InfrastructureのORACLE_HOMEの外部にインストールすることをお薦めします。これにより、入手可能な最新のXAGリリースを使用できるようになり、Grid Infrastructureに影響を与えることなくソフトウェアを更新できます。

    Oracle GoldenGate Microservices Architectureを使用する場合は、XAGバージョン10.2以降を使用する必要があります

    最新のエージェント・ソフトウェアは、次の場所からダウンロードできます。

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

    Oracle Grid Infrastructureホーム・ディレクトリの外部に、XAGスタンドアロン・エージェントをインストールします。XAGは、Oracle GoldenGateがインストールされているクラスタ内のすべてのRACノード上の同じディレクトリにインストールする必要があります。

    たとえば、Oracle Grid Infrastructureユーザーとして、デフォルトのoracleを使用した場合:

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

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

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

    ノート:

    正しいagctlバイナリが見つかるように、Grid Infrastructureのbinディレクトリの前にXAGのbinディレクトリが指定されていることを必ず確認してください。ログオン時に有効になるように、oracleユーザー環境でこの場所を設定します(たとえば、Bashシェル使用時には.bashrcファイル内)。
  2. アプリケーション仮想IPアドレス(VIP)の作成を準備します。

    専用のアプリケーションVIPは、どのOracle RACノードでサービスがホストされていても同じホスト名を使用してGoldenGate Microservicesにアクセスできるようにするために必要です。また、アプリケーションVIPにより、GoldenGate Distribution Serverが、現在のOracle RACノードを実行しているDistribution Receiverと通信できるようになります。

    VIPは、Oracle Clusterwareが管理するクラスタ・リソースです。VIPはクラスタ・ノードに割り当てられ、ノード障害が発生すると自動的に別のノードに移行されます。

    アプリケーションVIPを作成する前に、次の2つの情報が必要です。

    • ネットワーク番号。次のコマンドを使用して特定できます。

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

      NAME=ora.net1.networkでのnet1は、これがネットワーク1であり、タイプがIPV4であることを示します。

    • システム管理者から提供された、新しいアプリケーションVIPのIPアドレス。このIPアドレスは、前述のクラスタ環境と同じサブネット内にある必要があります。

      このVIPは、Oracle Grid Infrastructure Agentを構成するときに、次のステップで作成されます。

  3. Oracle Grid Infrastructure Agent (XAG)を構成します。

    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_Var_Dir
      --port port_number
      --oracle_home $OGG_HOME/lib/instantclient
      --adminuser OGG_admin_user
      --user GG_instance_user
      --group GG_instance_group
      --network network_number
      --ip ip_address
      --vip_name vip_name
      --filesystems CRS_resource_name
      --db_services service_name
      --use_local_services
      --nodes node1, node2, ... ,nodeN

    説明:

    --gg_homeでは、GoldenGateソフトウェアの場所を指定します。複数のサービス・マネージャを登録する場合は、OGG_HOMEOGG_HOMEシンボリック・リンクを指定します(「タスク6: Oracle GoldenGateデプロイメントの作成」を参照)。

    --service_managerでは、これがGoldenGate Microservicesインスタンスであることを示します。

    --config_homeでは、GoldenGateサービス・マネージャのデプロイメント構成のホーム・ディレクトリを指定します。

    --var_homeでは、GoldenGateサービス・マネージャのデプロイメント変数のホーム・ディレクトリを指定します。

    --portでは、デプロイメント・サービス・マネージャのポート番号を指定します。

    --oracle_homeでは、Oracle GoldenGate 21c以降のリリースの一部として含まれるOracleデータベース・ライブラリの場所を指定します。例: $OGG_HOME/lib/instantclient

    --adminuserでは、Oracle GoldenGate Microservices管理者アカウント名を指定します。

    --userでは、GoldenGateデプロイメントを所有するオペレーティング・システム・ユーザーの名前を指定します。

    --groupでは、GoldenGateデプロイメントを所有するオペレーティング・システム・グループの名前を指定します。

    --networkでは、前述の、VIPのネットワーク・サブネットを指定します。

    --IPでは、前述の、VIPのIPアドレスを指定します。VIPをすでに作成してある場合は、--network--ipのかわりに--vip_nameパラメータを使用してそれを指定します。

    --vip_nameでは、以前に作成したアプリケーションVIPのCRSリソース名を指定します。このパラメータは、--network-–ip (オプション)のかわりに指定できます。

    --filesystemsでは、デプロイメントの開始前にマウントする必要があるDBFSまたはACFS CRSファイル・システム・リソースを指定します。

    --db_servicesでは、前のステップで作成したora.database.service_name.svcサービス名を指定します。Oracleマルチテナント・データベースを使用している場合、ReplicatにはPDBデータベース・サービス、ExtractにはCDBデータベース・サービスを指定します。ReplicatとExtractを両方使用する場合は、両方のサービス名をカンマで区切って指定します。

    --use_local_servicesでは、db_servicesサービスが実行されているのと同じOracle RACノードにGoldenGateインスタンスも配置されている必要があることを指定します。

    --nodesでは、このGoldenGateインスタンスを実行できるOracle RACノードを指定します。クラスタ内のいずれかのOracle RACノードで実行されるようにGoldenGateが構成されている場合は、引き続きこのパラメータを使用して、Oracle GoldenGateを実行するノードの優先順序を決める必要があります。

ノート:

  • XAGへのGoldenGateインスタンス登録は、rootユーザーとして実行する必要があります
  • XAGへのGoldenGate登録はrootユーザーとして実行されるため、userパラメータとgroupパラメータは必須です。

次に、Oracle GoldenGateをXAGに登録する例を示します。

例1: DBFSを使用するOracle RACクラスタ(すでに作成されているアプリケーションVIPを使用する)

# agctl add goldengate GGNORTH \
--gg_home /u01/oracle/goldengate/gg21c_MS \
--service_manager \
--config_home /mnt/dbfs/goldengate/deployments/ggsm01/etc/conf \
--var_home /mnt/dbfs/goldengate/deployments/ggsm01/var \
--port 9100 \
--oracle_home /u01/oracle/goldengate/gg21c_MS/lib/instantclient
--adminuser oggadmin
--user oracle \
--group oinstall \
--vip_name gg_vip_prmy \
--filesystems dbfs_mount \
--db_services ora.ds19c.oggserv.svc \
--use_local_services \
--nodes dc1north01,dc1north02

説明:

  • GoldenGateインスタンスはGGNORTHです
  • GoldenGateホーム・ディレクトリは/u01/oracle/goldengate/gg21c_MSです
  • これは、Oracle GoldenGate Microservices Architectureインスタンス(--service_manager)です。
  • GoldenGateデプロイメント構成のホーム・ディレクトリは/mnt/dbfs/goldengate/deployments/ggsm01/etc/confです
  • GoldenGateデプロイメント変数のホーム・ディレクトリは/mnt/dbfs/goldengate/deployments/ggsm01/varです
  • デプロイメント・サービス・マネージャのポート番号は9100です
  • Oracle GoldenGate Microservices管理者アカウント名はoggadminです
  • GoldenGateユーザーは、oinstallグループ内のoracleです
  • CRSで管理されるアプリケーションVIPの名前はgg_vip_prmyです
  • このデプロイメントが依存するファイル・システムのCRSリソース名はdbfs_mountです
  • GoldenGateインスタンスは、ora.ds19c.oraserv.svcというCRSサービスがこのGoldenGateインスタンスと同じノードに配置されるため、同じOracle RACノードで起動されます。

例2: ACFSを使用するOracle RACクラスタ(アプリケーションVIPはクラスタ内のノードのサブセットで実行される)

# agctl add goldengate GGNORTH \
--gg_home /u01/oracle/goldengate/gg21c_MS \
--service_manager \
--config_home /mnt/acfs/goldengate/deployments/ggsm01/etc/conf \
--var_home /mnt/acfs/goldengate/deployments/ggsm01/var \
--port 9100 \
--oracle_home /u01/oracle/goldengate/gg21c_MS/lib/instantclient
--adminuser admin \
--user oracle \
--group oinstall \
--network 1 --ip 10.13.11.203 \
--filesystems ora.datac1.acfs_gg.acfs \
--db_services ora.ds19c.oraserv.svc \
--use_local_services \
--nodes dc1north01,dc1north02

説明:

  • GoldenGateインスタンスはGGNORTHです
  • GoldenGateホーム・ディレクトリは/u01/oracle/goldengate/gg21c_MSです
  • これは、Oracle GoldenGate Microservices Architectureインスタンス(--service_manager)です。
  • GoldenGateデプロイメント構成のホーム・ディレクトリは/mnt/acfs/goldengate/deployments/ggsm02/etc/confです
  • GoldenGateデプロイメント変数のホーム・ディレクトリは/mnt/acfs/goldengate/deployments/ggsm02/varです
  • デプロイメント・サービス・マネージャのポート番号は9100です
  • Oracle GoldenGate Microservices管理者アカウント名はadminです
  • GoldenGateユーザーは、oinstallグループ内のoracleです
  • ネットワークはデフォルトのora.net1.networkであり、VIPは10.13.11.203です。
  • このデプロイメントが依存するファイル・システムのCRSリソース名はora.datac1.acfs_gg.acfsです
  • このGoldenGateインスタンスは、ora.ds19c.oraserv.svcというCRSサービスがこのGoldenGateインスタンスと同じノードに配置されるため、同じOracle RACノードで起動されます
  • Oracle GoldenGateは、Oracle RACノードdc1north01およびdc1north02でのみ実行されます(優先度順で示されている)。

AGCTLコマンドの例

次に、XAGでGoldenGateデプロイメントを管理するために使用する、いくつかのagctlコマンドの例を示します。

Oracle GoldenGateのステータスを確認するには、次のようにします。

% agctl status goldengate
Goldengate  instance 'GGNORTH' is running on dc1north01

GoldenGateデプロイメント、および自動起動するように構成されているすべてのExtractプロセスとReplicatプロセスを起動するには(後のステップで示す手順)、次のようにします。

% agctl start goldengate GGNORTH --node dc1north02

GoldenGateデプロイメントを停止するには、次のようにします。

% agctl stop goldengate GGNORTH

GoldenGateデプロイメントを別のノードに手動で再配置するには、次のようにします。

% agctl relocate goldengate GGNORTH --node dc1north02

GoldenGateリソースの構成パラメータを表示するには、次のようにします。

% agctl config goldengate GGNORTH

Instance name: GGNORTH
Application GoldenGate location is: /u01/oracle/goldengate/gg21c_MS
Goldengate MicroServices Architecture environment: yes
Goldengate Service Manager configuration directory: /mnt/dbfs/goldengate/deployments/ggsm01/etc/conf

Goldengate Service Manager var directory: /mnt/dbfs/goldengate/deployments/ggsm01/var

Service Manager Port: 9100
Goldengate Administration User: oggadmin
Autostart on DataGuard role transition to PRIMARY: no
Configured to run on Nodes: dc1north01 dc1north02
ORACLE_HOME location is: /u01/oracle/goldengate/gg21c_MS/lib/instantclient
Database Services needed: ora.cdb1.oggcdb.svc [use_local_services]
File System resources needed: ora.datac1.acfs_gg.acfs
Network: 1, IP: 10.13.11.203, User:oracle, Group:oinstall

GoldenGate XAGリソースを削除するには、次のようにします。

$ agctl stop goldengate GGNORTH
# agctl remove goldengate GGNORTH

Oracle Grid Infrastructure Bundled Agentの詳細は、Oracle Grid Infrastructure Standalone Agents for Oracle Clusterware 11gリリース2、12c、18cおよび19cを参照してください。