タスク7: Oracle Clusterwareの構成
次の手順では、Oracle Grid Infrastructureスタンドアロン・エージェント(XAG)を使用してOracle GoldenGateを管理するようにOracle Clusterwareを構成する方法を示します。
XAGを使用することで、Oracle RACノード間の再配置時に、共有ファイル・システム(DBFSまたはACFS)のマウントとGoldenGateデプロイメントの停止および起動を自動化します。
-
Oracle Grid Infrastructure Standalone Agentをインストールします。
XAGソフトウェアはスタンドアロン・エージェントとしてGrid InfrastructureのORACLE_HOMEの外部にインストールすることをお薦めします。これにより、入手可能な最新のXAGリリースを使用できるようになり、Grid Infrastructureに影響を与えることなくソフトウェアを更新できます。
Oracle GoldenGate Microservices Architectureを使用する場合は、XAGバージョン10.2以降を使用する必要があります。
最新のエージェント・ソフトウェアは、次の場所からダウンロードできます。
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ファイル内)。 -
アプリケーション仮想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を構成するときに、次のステップで作成されます。
-
-
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_HOME
にOGG_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を参照してください。