Ogg Xag Agctl
Ogg Xag Agctl
com/2014/12/14/goldendate-ha-maa-rac-acfs-xag/
1) Verify that the ACFS/ADVM modules are present in memory (on each node):
The above output shows that modules are present. If your output is not the same,
then reinstall them as root user:
# cd /u01/app/19.3.0/grid/bin
# ./acfsroot install
# ./acfsload start
2) Create a separate DISKGROUP called GGDG for the GoldenGate software (from the
1st nodes of each cluster).
To create a new DISKGROUP, use the following sample script:
SQL> CREATE DISKGROUP "GGDG" NORMAL REDUNDANCY
FAILGROUP "PRIMRAC1" DISK '/dev/primrac1.lun4' NAME "PRIMRAC1$LUN4" SIZE
20480M
FAILGROUP "PRIMRAC2" DISK '/dev/primrac2.lun4' NAME "PRIMRAC2$LUN4" SIZE
20480M
QUORUM FAILGROUP "PRIMRACQ" DISK '/dev/primracq.lun2' NAME "PRIMRACQ$LUN2"
ATTRIBUTE 'au_size' = '4M' ,'compatible.asm' =
'19.0.0.0' ,'compatible.rdbms' = '19.0.0.0';
5) Identify the device name of the volume (from the 1st nodes of each cluster):
[grid@primrac1 ~]$ asmcmd volinfo -G GGDG -a
7) As a root user, create a directory named GG_HOME on all nodes of each cluster:
# mkdir /GG_HOME # chmod 775 /GG_HOME # chown oracle:oinstall /GG_HOME
8) As a root user register the file system with Clusterware (from the 1st nodes of
each cluster):
[root@primrac1 ~]# srvctl add filesystem -device /dev/asm/acfsgg-91 -path /GG_HOME
-volume acfsgg -diskgroup GGDG -user oracle -fstype ACFS -description “Primary ACFS
for Golden Gate” [root@stbyrac1 ~]# srvctl add filesystem -device /dev/asm/acfsgg-
211 -path /GG_HOME -volume acfsgg -diskgroup GGDG -user oracle -fstype ACFS -
description “Standby ACFS for Golden Gate”
Download the Oracle GoldenGate 19c Microservices software from Oracle Technology
Network (OTN) at:
http://www.oracle.com/technetwork/middleware/goldengate/downloads/index.html
Install Oracle Grid Infrastructure Standalone Agents using the following procedure:
Download the software from https://www.oracle.com/technetwork/database/database-
technologies/clusterware/downloads/xag-agents-downloads-3636484.html.
2) Place the downloaded software in /tmp/Install. From the 1st node of each
cluster, run the following via grid user:
# chown -R grid:dba /tmp/Install
# su - grid
$ cd /tmp/Install
$ unzip xagpack91.zip
From primrac1:
[grid@primrac1 Install]$ ./xag/xagsetup.sh --install --directory
/u01/app/grid/xag --all_nodes
From stbyrac1:
1) As a root user, create application VIP on the first node of the target cluster:
./crsctl status resource -p | grep -ie .network -ie subnet | grep -ie name -ie
subnet
NAME=ora.net1.network
USR_ORA_SUBNET=23.2.1.0
Here ora.net1 in NAME indicates the network number as 1, and USR_ORA_SUBNET is the
subnet under
which the VIP will be created. Next, create the application VIP for GoldenGate,
where ggs-vip is the name of
the application VIP that you will create.
4) Start VIP:
# crsctl start resource gg_vip
You can modify attributes for the resource ggs-vip as shown here:
$ crsctl modify resource ggs-vip -attr "RESTART_ATTEMPTS=3, START_TIMEOUT=300,
STOP_TIMEOUT=300, CHECK_INTERVAL=10"
7) Now you should be able to ping the VIP from the other nodes. Ping the VIP from
rac2-ravinpc
ping -c4 23.2.1.4
Creating the GoldenGate Clusterware Agent
-----------------------------------------
Register Oracle GoldenGate with XAG. The registration with XAG must be run as the
root user.
From stbyrac1: For the target server indicates VIP that was created in the previous
section as a value for the --vip_name option:
-------------------------------------------
one more example:
-----------------------------------------------------------------------------------
------------
hard
For example,
if resource A has a hard start dependency on resource B,
then resource B must be running before resource A can start.
weak
attraction
Use the pullup start dependency if resource A must automatically start whenever
resource B starts.
This dependency only affects resource A if it is not running.
As is the case for other dependencies, pullup may cause the dependent resource to
start on any server. Use the pullup dependency whenever there is a hard stop
dependency, so that if resource A depends on resource B and resource B fails and
then recovers, then resource A is restarted.