Merhaba,
Daha önceki yazımızda Oracle Goldengate Microservice mimarisinden bahsetmiş ve kurulum yapmıştık. “GoldenGate 19c Microservices Architecture Kurulum ve Konfigürasyonu” makalemizden ulaşabilirsiniz. Yaptığımız ilk kurulum standalone bir kurulumdu. Yani MA (Microservice Architecture) deployment’ımızı local diske yapmıştık. Bu makalenin konusu ise MA deployment’ını paylaşımlı bir diske yaparak, GoldenGate’i HA (high availability) bir yapıda kurmak. Bu sayede Oracle RAC üzerinde çalışırken, GoldenGate process’lerinin çalıştığı node’u kaybetmemiz durumunda tüm GoldenGate MA resource’larının diğer node’a otomatik olarak taşınmasını sağlayacağız.
Bu konfigürasyon için ortamımızda Oracle RAC kurulumu gerçekleştirmemiz gerekli. Kabaca adımlarımız aşağıdaki gibi olacak;
Şimdi sırayla işlemlere başlayalım. Ortamımızda Oracle RAC 19c kurulu ve hem rdbms hem de grid’e en güncel critical patch geçilmiş durumda. Öncelikle tüm node’lara GoldenGate kurulumu ile başlıyorum.
GoldenGate Kurulumu
INSTALL_OPTION=ORA19c
SOFTWARE_LOCATION=/u01/app/oracle/gghome
INVENTORY_LOCATION=/u01/app/oracle
UNIX_GROUP_NAME=oinstall
[oracle@ora01 Disk1]$ ./runInstaller -silent -nowait -responseFile /home/oracle/fbo_ggs_Linux_x64_services_shiphome/Disk1/response/oggcore.rsp
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120 MB. Actual 4606 MB Passed
Checking swap space: must be greater than 150 MB. Actual 1629 MB Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2021-04-09_10-30-21AM. Please wait ...[oracle@ora01 Disk1]$ You can find the log of this install session at:
/u01/app/oraInventory/logs/installActions2021-04-09_10-30-21AM.log
Successfully Setup Software.
The installation of Oracle GoldenGate Services was successful.
Please check '/u01/app/oraInventory/logs/silentInstall2021-04-09_10-30-21AM.log' for more details.
ACFS Volume oluşturulması
ASMCMD [+] > volcreate -G OGG -s 20G ogg
ASMCMD [+] > volinfo --all
Diskgroup Name: ACFS
Volume Name: OGG
Volume Device: /dev/asm/ogg-340
State: ENABLED
Size (MB): 19456
Resize Unit (MB): 64
Redundancy: UNPROT
Stripe Columns: 8
Stripe Width (K): 1024
Usage: ACFS
Mountpath: /ogg
[root@ora01 ~]# srvctl add filesystem -device /dev/asm/ogg-340 -volume OGG -diskgroup ACFS -path /ogg -user oracle -autostart NEVER
Microservice Deployment
DEPLOYMENT_NAME=ogg_deploy
ADMINISTRATOR_USER=oggadmin
ADMINISTRATOR_PASSWORD=root123
SERVICEMANAGER_DEPLOYMENT_HOME=/ogg/sm
HOST_SERVICEMANAGER=127.0.0.1
PORT_SERVICEMANAGER=9500
INTEGRATE_SERVICEMANAGER_WITH_XAG=true
OGG_SOFTWARE_HOME=/u01/app/oracle/gghome
OGG_DEPLOYMENT_HOME=/ogg/deploy
ENV_ORACLE_HOME=/u01/app/oracle/product/19c
ENV_LD_LIBRARY_PATH=${ORACLE_HOME}/lib
ENV_TNS_ADMIN=/u01/app/oracle/product/19c/network/admin
ADMINISTRATION_SERVER_ENABLED=true
PORT_ADMINSRVR=9501
DISTRIBUTION_SERVER_ENABLED=true
PORT_DISTSRVR=9502
RECEIVER_SERVER_ENABLED=true
PORT_RCVRSRVR=9503
METRICS_SERVER_ENABLED=true
PORT_PMSRVR=9504
OGG_SCHEMA=GGADMIN
[oracle@ora01 bin]$ ./oggca.sh -silent -responseFile /home/oracle/oggca2.rsp
Oracle GoldenGate Service Manager for Oracle
Version 19.1.0.0.4 OGGCORE_19.1.0.0.0_PLATFORMS_191017.1054
Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved.
Linux, x64, 64bit (optimized) on Oct 17 2019 14:47:09
Operating system character set identified as UTF-8.
Stopping...STOPPED.
Successfully Setup Software.
XAG enabled bir şekilde deployment yaptığımız için deployment sonrası service manager kapalı geliyor. Bir sonraki adımda agctl komutu ile açacağız.
XAG kurulum ve konfigürasyonu
https://www.oracle.com/database/technologies/xag-agents-download.html
[oracle@ora01 ~]$ unzip -qq p31215432_190000_Generic.zip
[oracle@ora01 ~]$ cd xag/
[oracle@ora01 xag]$ ./xagsetup.sh --install --directory /u01/app/grid/xag --all_nodes
Installing Oracle Grid Infrastructure Agents on: ora01
Installing Oracle Grid Infrastructure Agents on: ora02
Updating XAG resources.
Successfully updated XAG resources.
[root@ora01 ~]# cd /u01/19c/bin/
[root@ora01 bin]# ./appvipcfg create -network=1 -ip=192.168.33.30 -vipname=ogg_vip -user=root
Using configuration parameter file: /u01/19c/crs/install/crsconfig_params
The log of current session can be found at:
/u01/app/oracle/crsdata/ora01/scripts/appvipcfg.log
[root@ora01 bin]# ./crsctl setperm resource ogg_vip -u user:oracle:r-x
[root@ora01 bin]# ./crsctl start resource ogg_vip
CRS-2672: Attempting to start 'ogg_vip' on 'ora01'
CRS-2676: Start of 'ogg_vip' on 'ora01' succeeded
[root@ora01 bin]# ./crsctl status resource ogg_vip
NAME=ogg_vip
TYPE=app.appviptypex2.type
TARGET=ONLINE
STATE=ONLINE on ora01
[oracle@ora01 ~]$ srvctl add service -db rdb -service ogg_rdb -role PRIMARY -preferred rdb1,rdb2
[oracle@ora01 ~]$ srvctl start service -s ogg_rdb -d rdb
[oracle@ora01 ~]$ srvctl status service -s ogg_rdb -d rdb
Service ogg_rdb is running on instance(s) rdb1,rdb2
/u01/app/grid/xag/bin/agctl add goldengate ogg_ms_ha --gg_home /u01/app/oracle/gghome --service_manager --config_home /ogg/sm/etc/conf --var_home /ogg/sm/var --vip_name ogg_vip --port 9500 --adminuser oggadmin --user oracle --group oinstall --filesystems ora.acfs.ogg.acfs --db_services ora.rdb.ogg_rdb.svc --use_local_services
[root@ora02 ~]$ /u01/app/grid/xag/bin/agctl start goldengate ogg_ms_ha --node ora02
[oracle@ora02 ~]$ ps -ef | grep -i service
oracle 10266 1 4 09:54 ? 00:06:48 /u01/app/oracle/gghome/bin/ServiceManager --xagEnabled
oracle 20603 7933 0 12:20 pts/0 00:00:00 grep --color=auto -i service
[oracle@ora02 ~]$ ps -ef | grep -i srvr
oracle 10330 10266 0 09:54 ? 00:00:35 /u01/app/oracle/gghome/bin/distsrvr --config /ogg/sm/var/temp/ogg_deploy-distsrvr-config.dat --force --quiet --xagEnabled
oracle 10333 10266 0 09:54 ? 00:00:47 /u01/app/oracle/gghome/bin/adminsrvr --config /ogg/sm/var/temp/ogg_deploy-adminsrvr-config.dat --force --quiet --xagEnabled
oracle 10335 10266 0 09:54 ? 00:01:01 /u01/app/oracle/gghome/bin/recvsrvr --config /ogg/sm/var/temp/ogg_deploy-recvsrvr-config.dat --force --quiet --xagEnabled
oracle 10337 10266 1 09:54 ? 00:02:54 /u01/app/oracle/gghome/bin/pmsrvr --config /ogg/sm/var/temp/ogg_deploy-pmsrvr-config.dat --force --quiet --xagEnabled
oracle 20607 7933 0 12:20 pts/0 00:00:00 grep --color=auto -i srvr
[oracle@ora02 ~]$ /u01/app/grid/xag/bin/agctl status goldengate ogg_ms_ha
Goldengate instance 'ogg_ms_ha' is running on ora02
/u01/app/grid/xag/bin/agctl status goldengate ogg_ms_ha
/u01/app/grid/xag/bin/agctl start goldengate ogg_ms_ha
/u01/app/grid/xag/bin/agctl stop goldengate ogg_ms_ha
/u01/app/grid/xag/bin/agctl start goldengate ogg_ms_ha --node ora02
/u01/app/grid/xag/bin/agctl relocate goldengate ogg_ms_ha --node ora01
[oracle@ora02 ~]$ /u01/app/grid/xag/bin/agctl status goldengate ogg_ms_ha
Goldengate instance 'ogg_ms_ha' is running on ora02
[oracle@ora01 ~]$ /u01/app/grid/xag/bin/agctl relocate goldengate ogg_ms_ha --node ora01
[oracle@ora01 ~]$ /u01/app/grid/xag/bin/agctl status goldengate ogg_ms_ha
Goldengate instance 'ogg_ms_ha' is running on ora01
[root@ora01 ~]# crsctl stat res xag.ogg_ms_ha.goldengate
NAME=xag.ogg_ms_ha.goldengate
TYPE=xag.goldengatesca.type
TARGET=ONLINE
STATE=ONLINE on ora01
[root@ora01 ~]# crsctl stat res ogg_vip
NAME=ogg_vip
TYPE=app.appviptypex2.type
TARGET=ONLINE
STATE=ONLINE on ora01
[root@ora01 ~]# ps -ef | grep -i service
oracle 27381 1 6 12:30 ? 00:00:14 /u01/app/oracle/gghome/bin/ServiceManager --xagEnabled
root 28884 25953 0 12:34 pts/1 00:00:00 grep --color=auto -i service
[root@ora01 ~]# ps -ef | grep -i srvr
oracle 27443 27381 0 12:30 ? 00:00:01 /u01/app/oracle/gghome/bin/distsrvr --config /ogg/sm/var/temp/ogg_deploy-distsrvr-config.dat --force --quiet --xagEnabled
oracle 27446 27381 0 12:30 ? 00:00:01 /u01/app/oracle/gghome/bin/adminsrvr --config /ogg/sm/var/temp/ogg_deploy-adminsrvr-config.dat --force --quiet --xagEnabled
oracle 27448 27381 0 12:30 ? 00:00:01 /u01/app/oracle/gghome/bin/recvsrvr --config /ogg/sm/var/temp/ogg_deploy-recvsrvr-config.dat --force --quiet --xagEnabled
oracle 27451 27381 1 12:30 ? 00:00:04 /u01/app/oracle/gghome/bin/pmsrvr --config /ogg/sm/var/temp/ogg_deploy-pmsrvr-config.dat --force --quiet --xagEnabled
root 28896 25953 0 12:34 pts/1 00:00:00 grep --color=auto -i srvr
[root@ora01 ~]# shutdown -h now
[root@ora02 ~]# /u01/app/grid/xag/bin/agctl status goldengate ogg_ms_ha
Goldengate instance 'ogg_ms_ha' INTERMEDIATE on ora02
[root@ora02 ~]# crsctl stat res xag.ogg_ms_ha.goldengate
NAME=xag.ogg_ms_ha.goldengate
TYPE=xag.goldengatesca.type
TARGET=ONLINE
STATE=ONLINE on ora02
[root@ora02 ~]# crsctl stat res ogg_vip
NAME=ogg_vip
TYPE=app.appviptypex2.type
TARGET=ONLINE
STATE=ONLINE on ora02
[root@ora02 ~]# ps -ef | grep -i service
oracle 28326 1 20 13:02 ? 00:00:02 /u01/app/oracle/gghome/bin/ServiceManager --xagEnabled
root 28637 4569 0 13:02 pts/0 00:00:00 grep --color=auto -i service
[root@ora02 ~]# ps -ef | grep -i srvr
oracle 28381 28326 4 13:02 ? 00:00:00 /u01/app/oracle/gghome/bin/distsrvr --config /ogg/sm/var/temp/ogg_deploy-distsrvr-config.dat --force --quiet --xagEnabled
oracle 28383 28326 11 13:02 ? 00:00:01 /u01/app/oracle/gghome/bin/adminsrvr --config /ogg/sm/var/temp/ogg_deploy-adminsrvr-config.dat --force --quiet --xagEnabled
oracle 28385 28326 5 13:02 ? 00:00:00 /u01/app/oracle/gghome/bin/recvsrvr --config /ogg/sm/var/temp/ogg_deploy-recvsrvr-config.dat --force --quiet --xagEnabled
oracle 28387 28326 7 13:02 ? 00:00:00 /u01/app/oracle/gghome/bin/pmsrvr --config /ogg/sm/var/temp/ogg_deploy-pmsrvr-config.dat --force --quiet --xagEnabled
root 28673 4569 0 13:03 pts/0 00:00:00 grep --color=auto -i srvr
Faydalı olması dileğiyle. Sorunuz olması durumunda dba@forenda.com.tr adresine mail atabilirsiniz.