タスク7 - Oracle Grid Infrastructure Agentの構成

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

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

このタスクを完了するには、次のステップを実行します。

  • ステップ7.1 - Oracle Grid Infrastructureスタンドアロン・エージェントのインストール
  • ステップ7.2 - Oracle Grid Infrastructure Agentの構成
  • ステップ7.2 - Oracle GoldenGateデプロイメントの起動

ステップ7.1 - Oracle Grid Infrastructureスタンドアロン・エージェントのインストール

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

XAGは、Oracle GoldenGateがインストールされているシステム内のすべてのOracle RACデータベース・ノードで同じディレクトリにインストールする必要があります。

  1. 最初のデータベース・ノードのgrid OSユーザーとして、ソフトウェアを解凍し、sagsetup.shを実行します。
    [opc@exadb-node1 ~]$ sudo su - grid
    [grid@exadb-node1 ~]$ unzip /u02/app_acfs/goldengate/p31215432_190000_Generic.zip
     -d /u02/app_acfs/goldengate
    [grid@exadb-node1 ~]$ /u02/app_acfs/goldengate/xag/xagsetup.sh --install
     --directory /u01/app/grid/xag --all_nodes
    Installing Oracle Grid Infrastructure Agents on: exadb-node1
    Installing Oracle Grid Infrastructure Agents on: exadb-node2
    Updating XAG resources.
    Successfully updated XAG resources.
  2. 新しくインストールされたXAGソフトウェアの場所をPATH変数に追加して、gridユーザーがマシンにログオンしたときにagctlの場所がわかるようにします。
    [grid@exadb-node1 ~]$ grep PATH ~/.bashrc
    PATH=
    /u01/app/grid/xag/bin:/sbin:/bin:/usr/sbin:/usr/bin:/u01/app/19.0.0.0/grid/bin:/u01/app/19.0.0.0/grid/OPatch;
     export PATH

ノート:

適切なagctlバイナリが見つかるように、Grid InfrastructureのbinディレクトリのにXAGのbinディレクトリが指定されていることを必ず確認してください。これは、Bashシェル使用時の.bashrcファイルなど、ログオン時に有効になるgridユーザー環境で設定する必要があります。

ステップ7.2 - Oracle Grid Infrastructure Agentの構成

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

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

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
--attribute START_TIMEOUT=60
--nodes <node1, node2, ... ,nodeN>

説明:

  • --gg_homeでは、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では、Oracle GoldenGateデプロイメントを所有するオペレーティング・システム・ユーザーの名前を指定します。
  • --groupでは、Oracle GoldenGateデプロイメントを所有するオペレーティング・システム・グループの名前を指定します。
  • --networkでは、VIPのネットワーク・サブネットを指定します。
  • --ipでは、VIPのIPアドレスを指定します。

    すでにVIPを作成している場合は、--network--ipのかわりに--vip_name 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では、Oracle GoldenGateインスタンスが、db_servicesサービスが実行されているOracle RACノードと同じノードに共存している必要があることを指定します。
  • --attribute name=valueは、適用可能な属性を指定します。

    属性START_TIMEOUT=60を変更して、データベースがクラッシュして再起動した後のブラックアウトを最適化することをお薦めします。

  • --nodesでは、このGoldenGateインスタンスを実行できるOracle RACノードを指定します。

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

このタスクを完了するには、次のステップの1つを実行します。

  • ステップ7.2a - DBFSでのGoldenGateデプロイメント
  • ステップ7.2b - ACFSでのGoldenGateデプロイメント

ステップ7.2a - DBFSでのGoldenGateデプロイメント

  1. 最初のデータベース・ノードでgrid OSユーザーとして、次に示すコマンドを実行してネットワーク番号を識別します。
    [opc@exadb-node1 ~]$ sudo su - grid
    [grid@exadb-node1 ~]$ srvctl config network
    Network 1 exists
    Subnet IPv4: 10.1.0.0/255.255.255.0/bondeth0, static
    Subnet IPv6:
    Ping Targets: 10.1.0.1
    Network is enabled
    Network is individually enabled on nodes:
    Network is individually disabled on nodes:
  2. 最初のデータベース・ノードのroot OSユーザーとして、次のコマンド形式を使用して、XAGにOracle GoldenGate Microservices Architectureを登録します。
    [opc@exadb-node1 ~]$ sudo su -
    
    [root@exadb-node1 ~]# /u01/app/grid/xag/bin/agctl add goldengate <instance_name>     \
    --gg_home /u02/app/oracle/goldengate/gg21c                                           \
    --service_manager                                                                    \
    --config_home /mnt/dbfs/deployments/ggsm01/etc/conf                                  \
    --var_home /mnt/dbfs/deployments/ggsm01/var                                          \
    --port 9100                                                                          \
    --oracle_home /u02/app/oracle/goldengate/gg21c/lib/instantclient                     \
    --adminuser oggadmin                                                                 \
    --user oracle                                                                        \
    --group oinstall                                                                     \
    --network 1 --ip <virtual_IP_address>                                                \
    --filesystems <dbfs_mount_name>                                                      \
    --db_services ora.<db_service_name>.svc , ora.<pdb_service_name>.svc                 \
    --use_local_services                                                                 \
    --attribute START_TIMEOUT=60                                                         \
    --nodes <exadb-node1>, <exadb-node2>
    
    Enter password for 'oggadmin' : <oggadmin_password>

ステップ7.2b - ACFSでのGoldenGateデプロイメント

  1. 最初のデータベース・ノードでgrid OSユーザーとして、次に示すコマンドを実行してネットワーク番号を識別します。
    [opc@exadb-node1 ~]$ sudo su - grid
    [grid@exadb-node1 ~]$ srvctl config network
    Network 1 exists
    Subnet IPv4: 10.1.0.0/255.255.255.0/bondeth0, static
    Subnet IPv6:
    Ping Targets: 10.1.0.1
    Network is enabled
    Network is individually enabled on nodes:
    Network is individually disabled on nodes:
  2. 最初のデータベース・ノードのroot OSユーザーとして、次のコマンド形式を使用して、XAGにOracle GoldenGate Microservices Architectureを登録します。
    [root@exadb-node1 ~]# /u01/app/grid/xag/bin/agctl add goldengate <instance_name>     \
    --gg_home /u02/app/oracle/goldengate/gg21c                                           \
    --service_manager                                                                    \
    --config_home /mnt/acfs_gg/deployments/ggsm01/etc/conf                               \
    --var_home /mnt/acfs_gg/deployments/ggsm01/var                                       \
    --port 9100                                                                          \
    --oracle_home /u02/app/oracle/goldengate/gg21c/lib/instantclient                     \
    --adminuser oggadmin                                                                 \
    --user oracle                                                                        \
    --group oinstall                                                                     \
    --network 1 --ip <virtual_IP_address>                                                \
    --filesystems ora.<acfs_name>.acfs                                                   \
    --db_services ora.<db_service_name>.svc                                              \
    --use_local_services                                                                 \
    --attribute START_TIMEOUT=60                                                         \
    --nodes <exadb-node1>,<exadb-node2>

ステップ7.3 - Oracle GoldenGateデプロイメントの起動

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

  1. grid OSユーザーとして、次に示すコマンドを実行して、Oracle GoldenGateデプロイメントを開始します。
    [opc@exadb-node1 ~]$ sudo su - grid
    [grid@exadb-node1 ~]$ agctl start goldengate <instance_name>
  2. grid OSユーザーとして、次に示すコマンドを実行して、Oracle GoldenGateデプロイメントのステータスを確認します。
    [grid@exadb-node1 ~]$ agctl status goldengate
    Goldengate instance <instance_name> is running on exadb-node1
  3. grid OSユーザーとして、次のコマンドを実行してOracle GoldenGateリソースの構成パラメータを表示します。
    [grid@exadb-node1 ~]$ agctl config goldengate <instance_name>
    Instance name: <instance_name>
    Application GoldenGate location is: /u02/app/oracle/goldengate/gg21c_MS
    Goldengate MicroServices Architecture environment: yes
    Goldengate Service Manager configuration directory:
     /mnt/acfs_gg/deployments/ggsm01/etc/conf
    Goldengate Service Manager var directory: /mnt/acfs_gg/deployments/ggsm01/var
    Service Manager Port: 9100
    Goldengate Administration User: oggadmin
    Autostart on DataGuard role transition to PRIMARY: no
    Configured to run on Nodes: exadb-node1 exadb-node2
    ORACLE_HOME location is: /u02/app/oracle/goldengate/gg21c/lib/instantclient
    Database Services needed: ora.<db_unique_name>.<service_name>.svc [use_local_services]
    File System resources needed: ora.datac1.acfs_gg.acfs
    Network: 1, IP:NN.NN.NN.NN, User:oracle, Group:oinstall

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