タスク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データベース・ノードで同じディレクトリにインストールする必要があります。
- 最初のデータベース・ノードの
grid
OSユーザーとして、ソフトウェアを解凍し、xagsetup.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.
- 新しくインストールされた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デプロイメント
- 最初のデータベース・ノードで
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:
- 最初のデータベース・ノードの
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デプロイメント
- 最初のデータベース・ノードで
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:
- 最初のデータベース・ノードの
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
コマンドの例を示します。
grid
OSユーザーとして、次に示すコマンドを実行して、Oracle GoldenGateデプロイメントを開始します。[opc@exadb-node1 ~]$ sudo su - grid [grid@exadb-node1 ~]$ agctl start goldengate <instance_name>
grid
OSユーザーとして、次に示すコマンドを実行して、Oracle GoldenGateデプロイメントのステータスを確認します。[grid@exadb-node1 ~]$ agctl status goldengate Goldengate instance <instance_name> is running on exadb-node1
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を参照してください。