Monday, June 12, 2023

Oracle Golden Gate 21.3 MicroService Architecture - New Service Manager and Configuration Deployment Routine walk through

Deploy a new Oracle Golden Gate Service manager and configuration

Notes:

Deployment: config package addition to OGG microservice
Caution on first time deployment on a host: Secure or non-secure decision to be made
Secure Deployment: Uses SSL/TLS connections between DISTSERV and RECVSERV using server and client side certificates
Non Secure Deployment: Uses plaintext tx (REST API HTTP calls) between DISTSERV and RECVSERV without using any certificates
Local and Remote Deployments: Local, the OGG and DB are in same server vs in remote its on different server

Flow diagram:
OGGCA helps in performing the OGG deployments (add or create) -> OGG Deployment creates or modifies the service manager -> Service manager manages the deployments from then on

Prereqs:
1. Ensure to have OGG already installed.
2. before starting the OGGCA.sh, please ensure to add necessary space for the GG deployment

As root:
[root@vcentos79-oracle-sa1 ~]# vgs
  VG          #PV #LV #SN Attr   VSize   VFree
  appdata-vg    1   3   0 wz--n-  49.98g    5.98g <<< use the 5GB freespace to create a new lvg
  centos        1   2   0 wz--n- <19.00g       0
  ostmpswp-vg   1   2   0 wz--n-   7.98g 1008.00m
[root@vcentos79-oracle-sa1 ~]#

lvdisplay
lvcreate -L 1000 appdata-vg -n oggdata-lv

[root@vcentos79-oracle-sa1 ~]# lvcreate -L 1000 appdata-vg -n oggdata-lv
  Rounding up size to full physical extent 1008.00 MiB
  Logical volume "oggdata-lv" created.
[root@vcentos79-oracle-sa1 ~]#

mkfs.xfs /dev/appdata-vg/oggdata-lv

[root@vcentos79-oracle-sa1 ~]# mkfs.xfs /dev/appdata-vg/oggdata-lv
meta-data=/dev/appdata-vg/oggdata-lv isize=512    agcount=4, agsize=64512 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=258048, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=855, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

[root@vcentos79-oracle-sa1 ~]#
Add entry into /etc/fstab after a backup
Ex.:
/dev/appdata-vg/oggdata-lv /oggdata xfs defaults 0 0


mkdir /oggdata
mount /oggdata
chown oracle:dba /oggdata


Variables for OGG deployment:


export OGG_HOME=/u01/app/oracle/product/21.3.0/ogg_home_1
export TNS_ADMIN=/u01/app/oracle/product/19.0.0/db_1/network/admin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${OGG_HOME}/lib/instantclient:${OGG_HOME}/lib
Service Manager Deployment home= /oggdata/oggsrvm01
Deployment name=oggdep01
Deployment Path=/oggdata/oggdep01
deployment user=ggsca
deployment pswd=ggsca
DBSchema=oggdep01schema
datastore home=/oggdata/oggdata01perf01

Install screenshot:

[oracle@vcentos79-oracle-sa1 bin]$ export OGG_HOME=/u01/app/oracle/product/21.3.0/ogg_home_1

[oracle@vcentos79-oracle-sa1 bin]$ export TNS_ADMIN=/u01/app/oracle/product/19.0.0/db_1/network/admin

[oracle@vcentos79-oracle-sa1 bin]$ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${OGG_HOME}/lib/instantclient:${OGG_HOME}/lib

[oracle@vcentos79-oracle-sa1 bin]$ ./oggca.sh



Filled one:


[root@vcentos79-oracle-sa1 ~]# netstat -plantu|grep 9100
[root@vcentos79-oracle-sa1 ~]# ls -ld /oggdata
drwxr-xr-x. 2 oracle dba 6 Jun 12 07:52 /oggdata
[root@vcentos79-oracle-sa1 ~]# df -h /oggdata
Filesystem                           Size  Used Avail Use% Mounted on
/dev/mapper/appdata--vg-oggdata--lv 1005M   33M  973M   4% /oggdata
 [root@vcentos79-oracle-sa1 ~]# ls -altr /oggdata
total 4
dr-xr-xr-x. 22 root   root 4096 Jun 12 07:50 ..
drwxr-xr-x.  2 oracle dba     6 Jun 12 07:52 .
[root@vcentos79-oracle-sa1 ~]#



 






Since we exported all necessary variables, this values are populated by default



I didn’t choose strong password



I haven’t got any certificates... so deploying this as non secure one.



[root@vcentos79-oracle-sa1 ~]# netstat -plantu|grep -E "9011|9012|9013|9014|9015"

[root@vcentos79-oracle-sa1 ~]#

Only enter first port# for admin services, rest all automatically populates in ascending order as directed in oracle guide.



An oracle DB schema, oracle wont connect here until we start extract process without source schema definition.Anyway we will create the schema in oracle DB with the name mentioned below.







Save the response file:





Prompt: /oggdata/oggsrvm01/bin/registerServiceManager.sh

 

[root@vcentos79-oracle-sa1 ~]# /oggdata/oggsrvm01/bin/registerServiceManager.sh

Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.

----------------------------------------------------

     Oracle GoldenGate Install As Service Script

----------------------------------------------------

OGG_HOME=/u01/app/oracle/product/21.3.0/ogg_home_1

OGG_CONF_HOME=/oggdata/oggsrvm01/etc/conf

OGG_VAR_HOME=/oggdata/oggsrvm01/var

OGG_USER=oracle

Running OracleGoldenGateInstall.sh...

Created symlink from /etc/systemd/system/multi-user.target.wants/OracleGoldenGate.service to /etc/systemd/system/OracleGoldenGate.service.

[root@vcentos79-oracle-sa1 ~]#

 



 

Post deployment the directories are looking like below:

 

[root@vcentos79-oracle-sa1 ~]# cd /oggdata

[root@vcentos79-oracle-sa1 oggdata]# ls -altr

total 4

dr-xr-xr-x. 22 root   root     4096 Jun 12 07:50 ..

drwxr-xr-x.  5 oracle dba        62 Jun 12 20:02 .

drwxr-x---.  4 oracle oinstall   28 Jun 12 20:02 oggdep01

drwxr-x---.  5 oracle oinstall   39 Jun 12 20:02 oggsrvm01

drwxr-x---.  3 oracle oinstall   25 Jun 12 20:02 oggdata01perf01

[root@vcentos79-oracle-sa1 oggdata]# ls -altr ogg*

oggdep01:

total 0

drwxr-xr-x. 5 oracle dba      62 Jun 12 20:02 ..

drwxr-x---. 4 oracle oinstall 29 Jun 12 20:02 etc

drwxr-x---. 4 oracle oinstall 28 Jun 12 20:02 .

drwxr-x---. 7 oracle oinstall 63 Jun 12 20:02 var

 

oggsrvm01:

total 0

drwxr-x---. 4 oracle oinstall 29 Jun 12 20:02 etc

drwxr-x---. 7 oracle oinstall 63 Jun 12 20:02 var

drwxr-xr-x. 5 oracle dba      62 Jun 12 20:02 ..

drwxr-x---. 2 oracle oinstall 39 Jun 12 20:02 bin

drwxr-x---. 5 oracle oinstall 39 Jun 12 20:02 .

 

oggdata01perf01:

total 0

drwxr-xr-x. 5 oracle dba       62 Jun 12 20:02 ..

drwxr-x---. 3 oracle oinstall  25 Jun 12 20:02 .

drwxr-x---. 2 oracle oinstall 259 Jun 12 20:02 metricstore

[root@vcentos79-oracle-sa1 oggdata]#

 

[root@vcentos79-oracle-sa1 oggdata]# df -h /oggdata

Filesystem                           Size  Used Avail Use% Mounted on

/dev/mapper/appdata--vg-oggdata--lv 1005M   76M  930M   8% /oggdata

[root@vcentos79-oracle-sa1 oggdata]#

 

Various ports status now:

[root@vcentos79-oracle-sa1 oggdata]# netstat -plantu|grep -E "9100|9011|9012|9013|9014|9015"

tcp        0      0 0.0.0.0:9100            0.0.0.0:*               LISTEN      14725/ServiceManage

tcp        0      0 0.0.0.0:9011            0.0.0.0:*               LISTEN      14501/adminsrvr

tcp        0      0 0.0.0.0:9012            0.0.0.0:*               LISTEN      14503/distsrvr

tcp        0      0 0.0.0.0:9013            0.0.0.0:*               LISTEN      14508/recvsrvr

tcp        0      0 0.0.0.0:9014            0.0.0.0:*               LISTEN      14540/pmsrvr

tcp6       0      0 :::9100                 :::*                    LISTEN      14725/ServiceManage

tcp6       0      0 :::9011                 :::*                    LISTEN      14501/adminsrvr

tcp6       0      0 :::9012                 :::*                    LISTEN      14503/distsrvr

tcp6       0      0 :::9013                 :::*                    LISTEN      14508/recvsrvr

tcp6       0      0 :::9014                 :::*                    LISTEN      14540/pmsrvr

udp        0      0 0.0.0.0:9013            0.0.0.0:*                           14508/recvsrvr

[root@vcentos79-oracle-sa1 oggdata]#

 

Add exemption or stop firewall in linux OS and try access the below url:

http://127.0.0.1:59100 (for me 59100 is forwarded to 9100)

 


Post login using ggsca user




The deployments can be seen and you can manage the status of the deployment and its services along with their config (like port, state – enabled/disabled etc..)


Note the response file values:

 

[oracle@vcentos79-oracle-sa1 ogg_home_1]$ cat /home/oracle/dba/oggca.rsp|grep -Ev '^#|^$|=""|=$'

oracle.install.responseFileVersion=/oracle/install/rspfmt_oggca_response_schema_v21_1_0

CONFIGURATION_OPTION=ADD

DEPLOYMENT_NAME=oggdep01

ADMINISTRATOR_USER=ggsca

SERVICEMANAGER_DEPLOYMENT_HOME=/oggdata/oggsrvm01

HOST_SERVICEMANAGER=127.0.0.1

PORT_SERVICEMANAGER=9100

SECURITY_ENABLED=false

STRONG_PWD_POLICY_ENABLED=false

CREATE_NEW_SERVICEMANAGER=true

REGISTER_SERVICEMANAGER_AS_A_SERVICE=true

INTEGRATE_SERVICEMANAGER_WITH_XAG=false

EXISTING_SERVICEMANAGER_IS_XAG_ENABLED=false

OGG_SOFTWARE_HOME=/u01/app/oracle/product/21.3.0/ogg_home_1

OGG_DEPLOYMENT_HOME=/oggdata/oggdep01

ENV_LD_LIBRARY_PATH=${OGG_HOME}/lib/instantclient:${OGG_HOME}/lib

ENV_TNS_ADMIN=/u01/app/oracle/product/19.0.0/db_1/network/admin

FIPS_ENABLED=false

SHARDING_ENABLED=false

ADMINISTRATION_SERVER_ENABLED=true

PORT_ADMINSRVR=9011

DISTRIBUTION_SERVER_ENABLED=true

PORT_DISTSRVR=9012

NON_SECURE_DISTSRVR_CONNECTS_TO_SECURE_RCVRSRVR=false

RECEIVER_SERVER_ENABLED=true

PORT_RCVRSRVR=9013

METRICS_SERVER_ENABLED=true

METRICS_SERVER_IS_CRITICAL=false

PORT_PMSRVR=9014

UDP_PORT_PMSRVR=9015

PMSRVR_DATASTORE_TYPE=BDB

PMSRVR_DATASTORE_HOME=/oggdata/oggdata01perf01

OGG_SCHEMA=oggdep01schema

[oracle@vcentos79-oracle-sa1 ogg_home_1]$

 

oggca.sh help menu:

 

[oracle@vcentos79-oracle-sa1 bin]$ ./oggca.sh -help

Usage:  oggca.sh [<flag>]

Following are the possible flags:

        -help - display help.

        -silent - run in silent mode. The inputs can be a response file or a list of command line variable value pairs.

        -responseFile - specify the complete path of the response file to use.

        -debug - run in debug mode.

 

 

[oracle@vcentos79-oracle-sa1 bin]$ ./oggca.sh -silent -help

Usage:  oggca.sh [<flag>]

Following are the possible flags:

        -help - display help.

        -silent - run in silent mode. The inputs can be a response file or a list of command line variable value pairs.

        -responseFile - specify the complete path of the response file to use.

        -debug - run in debug mode.

 

 

[oracle@vcentos79-oracle-sa1 bin]$


No comments:

Post a Comment

Troubleshooting the “Cannot Generate SSPI Context” Error After SQL Server Migration

  Introduction After a recent  SQL Server migration from 2012 to 2022 , our team encountered a classic authentication issue: The target prin...