Oracle GoldenGate Services Architecture: Silent Install and Deployment

Introduction

In many organizations, users are not permitted to run the graphical user interfaces used to install the Oracle GoldenGate software and create Oracle GoldenGate Microservices Architecture (OGG-SA) Deployments. In this article we shall review the two response files required to silently install the OGG-SA application code and create a new Deployment.

The concepts, scripts, and information presented in this article are for educational purposes only. They are not supported by Oracle Development or Support, and come with no guarantee or warrant for functionality in any environment other than the test system used to prepare this article. Before applying any changes presented in this article to your environment, you should thoroughly test to assess functionality and performance implications.

Main Article

For this article, we shall install Oracle GoldenGate Microservices version 18.1.0. The shiphome.zip file was downloaded and unzipped in the directory /home/oracle/Downloads on my Linux virtual machine.

Silent Installation

To perform a silent installation, we need to configure the file fbo_ggs_Linux_x64_services_shiphome/Disk1/response. There are four values to set:

Install Option

Set INSTALL_OPTION to the Oracle Database version to which OGG-SA will connect. Our test environment is running Oracle Database 12.1, so we set 12c as the option:

#——————————————————————————-
# Specify the installation option.
# Specify ORA18c for installing Oracle GoldenGate for Oracle Database 18c or
#         ORA12c for installing Oracle GoldenGate for Oracle Database 12c or
#         ORA11g for installing Oracle GoldenGate for Oracle Database 11g
#——————————————————————————-
INSTALL_OPTION=ORA12c

Oracle GoldenGate Software Location

Set SOFTWARE_LOCATION to the disk directory to install the OGG-SA application files and binaries. We will use the directory location /u01/oracle/app/goldengate/ogg181ma for this installation:

#——————————————————————————-
# Specify a location to install Oracle GoldenGate
#——————————————————————————-
SOFTWARE_LOCATION=/u01/oracle/app/goldengate/ogg181ma

Oracle Inventory Location

If this is the first time installing any Oracle software, define a location to store the Oracle inventory files by setting INVENTORY_LOCATION.

#——————————————————————————-
# Specify the location which holds the install inventory files.
# This is an optional parameter if installing on
# Windows based Operating System.
#——————————————————————————-
INVENTORY_LOCATION=

Since we have other Oracle products installed on this server, the Oracle inventory already exists at /u01/app/oraInventory; so we can leave this setting blank.

[oracle@ora12nomt ~]$ ls -l /u01/app/oraInventory
total 12
drwxrwx—. 4 oracle oracle   62 Oct  2 06:08 backup
drwxrwx—. 2 oracle oracle   57 May 22  2018 ContentsXML
drwxrwx—. 9 oracle oracle 4096 Nov 30 13:31 logs
-rw-rw—-. 1 oracle oracle   54 May 22  2018 oraInst.loc
-rwxrwx—. 1 oracle oracle 1612 May 22  2018 orainstRoot.sh
drwxrwx—. 2 oracle oracle   21 May 22  2018 oui

Unix Group Name

If this is the first time installing any Oracle software, define a Unix Group Name to be used when creating the Oracle inventory directory and files by setting UNIX_GROUP_NAME.

#——————————————————————————-
# Unix group to be set for the inventory directory.
# This parameter is not applicable if installing on
# Windows based Operating System.
#——————————————————————————-
UNIX_GROUP_NAME=

As shown above, the Oracle inventory already exists and assigned to the oracle Group; so we can leave this setting blank.

Completed Response File

The completed oggcore.rsp response file we shall use for our silent installation, looks like this:

####################################################################
## Copyright(c) Oracle Corporation 2018. All rights reserved.     ##
##                                                                ##
## Specify values for the variables listed below to customize     ##
## your installation.                                             ##
##                                                                ##
## Each variable is associated with a comment. The comment        ##
## can help to populate the variables with the appropriate        ##
## values.                                                        ##
##                                                                ##
## IMPORTANT NOTE: This file should be secured to have read       ##
## permission only by the oracle user or an administrator who     ##
## own this installation to protect any sensitive input values.   ##
##                                                                ##
####################################################################
#
#——————————————————————————-
# Do not change the following system generated value.
#——————————————————————————-
oracle.install.responseFileVersion=/oracle/install/rspfmt_ogginstall_response_schema_v18_1_0
#
#
################################################################################
##                                                                            ##
## Oracle GoldenGate installation option and details                          ##
##                                                                            ##
################################################################################
#
#——————————————————————————-
# Specify the installation option.
# Specify ORA18c for installing Oracle GoldenGate for Oracle Database 18c or
#         ORA12c for installing Oracle GoldenGate for Oracle Database 12c or
#         ORA11g for installing Oracle GoldenGate for Oracle Database 11g
#——————————————————————————-
INSTALL_OPTION=ORA12c
#
#——————————————————————————-
# Specify a location to install Oracle GoldenGate
#——————————————————————————-
SOFTWARE_LOCATION=/u01/oracle/app/goldengate/ogg181ma
#
################################################################################
##                                                                            ##
## Specify details to Create inventory for Oracle installs                    ##
## Required only for the first Oracle product install on a system.            ##
##                                                                            ##
################################################################################
#
#——————————————————————————-
# Specify the location which holds the install inventory files.
# This is an optional parameter if installing on
# Windows based Operating System.
#——————————————————————————-
INVENTORY_LOCATION=
#
#——————————————————————————-
# Unix group to be set for the inventory directory.
# This parameter is not applicable if installing on
# Windows based Operating System.
#——————————————————————————-
UNIX_GROUP_NAME=

Run Silent Install

We can now run the Oracle installer in silent mode by executing the file fbo_ggs_Linux_x64_services_shiphome/Disk1/runInstaller using the options -silent and -responsFile:

In the example below, we used the -waitforCompletion option to wait for the completion of the installation, instead of spawning the installer and returning the console prompt.

[oracle@ora12nomt Disk1]$ ./runInstaller -silent -waitForCompletion -responseFile /home/oracle/Downloads/181000_fbo_ggs_Linux_x64_services_shiphome/fbo_ggs_Linux_x64_services_shiphome/Disk1/response/oggcore.rsp
Starting Oracle Universal Installer…
Checking Temp space: must be greater than 120 MB.   Actual 68354 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 3961 MB    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2018-12-05_09-29-03AM. Please wait …You can find the log of this install session at:
/u01/app/oraInventory/logs/installActions2018-12-05_09-29-03AM.log
The installation of Oracle GoldenGate Services was successful.
Please check ‘/u01/app/oraInventory/logs/silentInstall2018-12-05_09-29-03AM.log’ for more details.
Successfully Setup Software.

The OGG-SA 18.1 software is now installed and we can proceed with a silent deployment.

Silent Deployment

To perform an OGG-SA silent deployment, we need to create and configure a response file. As there are no templates provided, we’ll walk through the various options for creating a deployment. To demonstrate, we’ll create a file /u01/oracle/app/goldengate/response_files/ogg181_bunnypos.rsp to configure a deployment named BunnyPOS.

Define Response File Version

The first entry in our response file must define the response file version. Since we are creating a response file for OGG-SA 18.1, we set the  version like this:

oracle.install.responseFileVersion=/oracle/install/rspfmt_oggca_response_schema_v18_1_0

General Deployment Options

Define the options for what you want to do; add, modify, or remove a deployment, for DEPLOYMENT_OPTION and a name for the deployment for DEPLOYMENT_NAME.

################################################################################
#                                                                              #
#                          SECTION A – GENERAL                                 #
#                                                                              #
################################################################################
#
#——————————————————————————-
# Specify the configuration option.
# Specify:
# – ADD    : for adding a new GoldenGate deployment.
# – MODIFY : for modifying an existing GoldenGate deployment.
# – REMOVE : for removing an existing GoldenGate deployment.
#——————————————————————————-
CONFIGURATION_OPTION=ADD
#
#——————————————————————————-
# Specify the name for the new or existing deployment.
#——————————————————————————-
DEPLOYMENT_NAME=BunnyPOS

Administrator Settings

Provide an user name and password that will be used to administer the OGG-SA deployment by setting ADMINISTRATOR_USER and ADMINISTRATOR_PASSWORD:

################################################################################
#                                                                              #
#                       SECTION B – ADMINISTRATOR ACCOUNT                      #
#                                                                              #
################################################################################
#
#——————————————————————————-
# Specify the administrator account username.
#——————————————————————————-
ADMINISTRATOR_USER=oracle
#
#——————————————————————————-
# Specify the administrator account password.
#——————————————————————————-
ADMINISTRATOR_PASSWORD=Oracle1

The password “Oracle1” is not an acceptable administrator password and should never be used in your environment.

ServiceManager Settings

Specify the settings for the ServiceManager. Best practice is to have one ServiceManager running per OGG-SA instance that acts as a “watch-dog” for all deployments on the server. There are multiple options to set for ServiceManager:

SERVICEMANAGER_DEPLOYMENT_HOME

Is the location where the ServiceManager deployment configuration files will be located. Best practice is to have a dedicated disk location for housing the ServiceManager files; which for this demonstration will be /u01/oracle/app/goldengate/ogg_deployments/ServiceManager.

HOST_SERVICEMANAGER

Defines the host where ServiceManager will be running. Specify localhost if access to the ServiceManager and Deployment services (AdminServer, DistributionServer, and MetricsServer) will only be made from a web browser or shell running directly on the server; otherwise, enter the server DNS name to allow access via an URL address.

For this demonstration, we’ll enter the server DNS name so we can login to the ServiceManager and Deployment services from any server contained within my firewall.

PORT_SERVICEMANAGER

Is the port where the OGG-SA ServiceManager will be running. Connections to the ServiceManager are made by specifying this port as part of a web page URL, in then adminclient connect statement, or via RestAPI cURL calls.

We’ll use port 21000 for this implementation. Note, there is no associated default port for the ServiceManager and you may specify any open and available port on your server.

SECURITY_ENABLED

This option indicates if security should be turned on (true) or off (false). If set to true, security parameters will need to be provided.  If false, security parameters can be ignored.

We will setup a secure deployment, so I am setting this to true.

CREATE_NEW_SERVICEMANAGER

This indicates if a new ServiceManager should be created. If this is the first deployment, the value must be set to true.  When creating additional deployments, the value should be set to false; which indicates there is an existing ServiceManager that will act as the watch-dog for the additional deployments.

Since this is the first OGG-SA 18.1 Deployment on this server, we’ll specify true.

REGISTER_SERVICEMANAGER_AS_A_SERVICE

To register the ServiceManager as a daemon process on Linux/Unix servers, specify true. This means the ServiceManager and all underlying Deployment services will automatically be started as part of the server start procedure. When set to false, the ServiceManager must be manually started via a shell script in the [ServiceManager home]/bin directory.

For production implementations where OGG-SA is run on a single server, you should set this option to true; for development or test implementations the setting will be dependent upon your corporate requirements.

My test server has multiple versions of OGG-SA installed, along with multiple versions of OGG-Classic; so we’ll go with false.

INTEGRATE_SERVICEMANAGER_WITH_XAG

If the Deployment is part of an Oracle Real Application Cluster (RAC), and you want to configure OGG-SA to be a part of the RAC flexibility, set this option to true.

Setting this option to “true” will not perform the required configurations for ServiceManager to run under XAG. For more information on how to integrate OGG-SA Deployments with XAG, refer to the white paper ‘Oracle GoldenGate Microservices Architecture with Oracle Real Application Clusters Configuration Best Practices’.

This server is not part of a RAC implementation, so we’ll specify false.

EXISTING_SERVICEMANAGER_IS_XAG_ENABLED

If adding a new Deployment to an existing ServiceManager and the ServiceManager is integrated with XAG, set this option to true; otherwise false. This will be false in our case.

Completed ServiceManager Configuration

With all of the above settings, the ServiceManager section of our response file looks like this:

################################################################################
#                                                                              #
#                       SECTION C – SERVICE MANAGER                            #
#                                                                              #
################################################################################
#
#——————————————————————————-
# Specify the location for the Service Manager deployment.
# This is only needed if the Service Manager deployment doesn’t exist already.
#——————————————————————————-
SERVICEMANAGER_DEPLOYMENT_HOME=/u01/oracle/app/goldengate/ogg_deployments/ServiceManager
#
#——————————————————————————-
# Specify the host for the Service Manager.
#——————————————————————————-
HOST_SERVICEMANAGER=ora12nomt
#
#——————————————————————————-
# Specify the port for the Service Manager.
#——————————————————————————-
PORT_SERVICEMANAGER=21000
#
#——————————————————————————-
# Specify if SSL / TLS is or will be enabled for the deployment.
# Specify true if SSL / TLS is or will be enabled, false otherwise.
#——————————————————————————-
SECURITY_ENABLED=true
#
#——————————————————————————-
# This option is only needed when CONFIGURATION_OPTION is ADD
#
# Specify if a new Service Manager should be created.
# Specify true if a new Service Manager should be created, false otherwise.
#——————————————————————————-
CREATE_NEW_SERVICEMANAGER=true
#
#——————————————————————————-
# This option is only needed when CONFIGURATION_OPTION is ADD
# This option does not apply to Windows platform
#
# Specify if Service Manager should be registered as a service/daemon. This
# option is mutually exclusive with the ‘INTEGRATE_SERVICEMANAGER_WITH_XAG’ option.
# Specify true if Service Manager should be registered as a service, false otherwise.
#——————————————————————————-
REGISTER_SERVICEMANAGER_AS_A_SERVICE=false
#
#——————————————————————————-
# This option is only needed when CONFIGURATION_OPTION is ADD
#
# Specify if Service Manager should be integrated with XAG. This option is
# mutually exclusive with the ‘REGISTER_SERVICEMANAGER_AS_A_SERVICE’ option.
# Specify true if Service Manager should be integrated with XAG, false otherwise
#——————————————————————————-
INTEGRATE_SERVICEMANAGER_WITH_XAG=false
#
#——————————————————————————-
# This option is only needed when CONFIGURATION_OPTION is ADD
#
# If using an existing Service Manager, specify if it is integrated with XAG.
# Specify true if the existing Service Manager is integrated with XAG, false otherwise.
#——————————————————————————-
EXISTING_SERVICEMANAGER_IS_XAG_ENABLED=false

Software Home

Specify the location of the OGG-SA software via the OGG_SOFTWARE_HOME setting. This setting is stored on disk as part of the Deployment; if you install new OGG-SA software into a different location during patching or upgrade, you will need to use the RestAPI interface to update the Deployment setting.

###############################################################################
#                                                                             #
#                       SECTION D – SOFTWARE HOME                             #
#                                                                             #
###############################################################################
#
#——————————————————————————-
# Specify the existing OGG software home location.
#——————————————————————————-
OGG_SOFTWARE_HOME=/u01/oracle/app/goldengate/ogg181ma

Deployment Directories

Set OGG_DEPLOYMENT_HOME to define where the Deployment directories, configuration files, and log files are to be located.

As a best practice, create a directory that will hold all Deployment Homes and set the Deployment Home name to match the Deployment name. For example, on this test server the disk location /u01/oracle/app/goldengate/ogg_deployments will contain all of my OGG-SA Deployments, and the disk location /u01/oracle/app/goldengate/ogg_deployments/bunnypos will be contain all of the directories and files specific to this Deployment.

Take the defaults for the other settings OGG_ETC_HOME, OGG_CONF_HOME, OGG_SSL_HOME, OGG_VAR_HOME, and OGG_DATA_HOME by leaving the options blank. This should prevent confusion as to where Deployment specific files are located.

###############################################################################
#                                                                             #
#                       SECTION E – DEPLOYMENT DIRECTORIES                    #
#                                                                             #
###############################################################################
#
#——————————————————————————-
# Specify the location of the new or existing OGG deployment.
#——————————————————————————-
OGG_DEPLOYMENT_HOME=/u01/oracle/app/goldengate/ogg_deployments/bunnypos
#
#——————————————————————————-
# Specify the location for OGG_ETC_HOME.
#——————————————————————————-
OGG_ETC_HOME=
#
#——————————————————————————-
# Specify the location for OGG_CONF_HOME.
#——————————————————————————-
OGG_CONF_HOME=
#
#——————————————————————————-
# Specify the location for OGG_SSL_HOME.
#——————————————————————————-
OGG_SSL_HOME=
#
#——————————————————————————-
# Specify the location for OGG_VAR_HOME.
#——————————————————————————-
OGG_VAR_HOME=
#
#——————————————————————————-
# Specify the location for OGG_DATA_HOME.
#——————————————————————————-
OGG_DATA_HOME=

Environment Variables

Set the server environment variables that will be used to associate the Deployment with an Oracle Database. These settings are stored on disk as part of the Deployment, so there is no longer a requirement to set them at the shell level as with Oracle GoldenGate Classic implementations. This makes OGG-SA Deployments “static” and you will need to use the RestAPI interface to modify any environmental changes, such as ORACLE_HOME if you change the Oracle Database Home as part of your patching procedures.

ENV_ORACLE_HOME

This setting is used to define the Oracle Database Home location the Oracle GoldenGate processes will use when connecting to the database.

In this test server, the Oracle Database Home is /u01/oracle/app/oracle/product/12.1.0/dbhome_1.

ENV_LD_LIBRARY_PATH

Oracle GoldenGate uses shared database libraries that provide functionality required for connectivity and data manipulation. This setting is used to define the location of the database library files that will be used by the OGG-SA Deployment.

The Oracle 12c Database libraries on this test server are located at /u01/oracle/app/oracle/product/12.1.0/dbhome_1/lib.

ENV_TNS_ADMIN

This environmental variable defines the location of the Oracle Database tnsnames.ora file. The setting is used when OGG-SA is running on a mid-tier server that only contains the Oracle Client software that will be used to connect to a remote Oracle Database. It is not required when OGG-SA is running on the Oracle Database server; however, as a personal preference I set it as a reference.

ENV_ORACLE_SID

Defines the Oracle Database Instance or Service to which this OGG-SA Deployment will connect.

The Oracle Instance to which this Deployment will connect is orcl.

ENV_STREAMS_POOL_SIZE

Is used to specify the size of the Streams Pool when Sharding is enabled. We’re not connecting to an Oracle Sharded Database, so we’ll leave this blank.

ENV_USER_VARS

Is used to define any user specific environmental setting to associated with the Deployment. For this test, we’ll leave this blank.

With these setting, our environmental variables settings in the response file look like this:

###############################################################################
#                                                                             #
#                       SECTION F – ENVIRONMENT VARIABLES                     #
#                                                                             #
###############################################################################
#
#——————————————————————————-
# Specify the value for the ORACLE_HOME environment variable.
#——————————————————————————-
ENV_ORACLE_HOME=/u01/oracle/app/oracle/product/12.1.0/dbhome_1
#
#——————————————————————————-
# Specify the value for the LD_LIBRARY_PATH environment variable.
#——————————————————————————-
ENV_LD_LIBRARY_PATH=${ORACLE_HOME}/lib:/u01/oracle/app/oracle/product/12.1.0/dbhome_1/lib
#
#——————————————————————————-
# Specify the value for the TNS_ADMIN environment variable.
#——————————————————————————-
ENV_TNS_ADMIN=/u01/oracle/app/oracle/product/12.1.0/dbhome_1/network/admin
#
#——————————————————————————-
# Specify the value for the ORACLE_SID environment variable.
#——————————————————————————-
ENV_ORACLE_SID=orcl
#
#——————————————————————————-
# This option is only needed when Sharding will be enabled.
# Specify the value for the STREAMS_POOL_SIZE environment variable.
#——————————————————————————-
ENV_STREAMS_POOL_SIZE=
#
#——————————————————————————-
# Specify any additional environment variables.
#——————————————————————————-
ENV_USER_VARS=

Security

For a security enabled Deployment, specify settings related to the type of encryption and cipher suites to be used. For non-secure Deployments, such as used in Development systems, leave these settings blank. For this demonstration, we’ll create a secure Deployment that uses Server and Client security certificates stored in wallets created by the orapki utility provided with the OGG-SA application.

CIPHER_SUITES

Specify the ciphers to be used by the Deployment. The ciphers used will be determined by your corporate Security Officer; for this test deployment we’ll take the defaults, TLS_RSA_WITH_AES_256_CBC_SHA and TLS_RSA_WITH_AES_128_CBC_SHA.

SERVER_WALLET

If you are using an Oracle Wallet to store the server’s Trusted Certificate, enter the location of the Wallet. For this example, we are using a Trusted Certificate stored in a Wallet located at  /u01/oracle/app/goldengate/wallet/ora12nomt.

SERVER_CERTIFICATE

If you are not using Oracle Wallet, you can import a server’s Trusted Certificate to be used for security verifications by providing the location of the certificate. We’re using an Oracle Wallet, so this setting is left blank.

SERVER_CERTIFICATE_KEY_FILE

If using a Server Certificate, and it is encrypted, specify the key file for decrypting the certificate. We’re using an Oracle Wallet, so this setting is left blank.

SERVER_CERTIFICATE_KEY_FILE_PWD

If using a Server Certificate, and it is encrypted, specify the key file password. We’re using an Oracle Wallet, so this setting is left blank.

CLIENT_WALLET

To enable secure data transmission between the OGG-SA Distribution Server on the source side deployment and Receiver Server on the target side deployment, and Oracle Wallet has been used to store the Client Certificate, enter the location of the Wallet. For this example, we are using a Trusted Certificate stored in a Wallet located at  /u01/oracle/app/goldengate/wallet/oggdistclient.

CLIENT_CERTIFICATE

If you are not using Oracle Wallet, you can import a Trusted Certificate to be used for data transmission security verifications by providing the location of the certificate. We’re using an Oracle Wallet, so this setting is left blank.

CLIENT_CERTIFICATE_KEY_FILE

If using a Client Certificate, and it is encrypted, specify the key file for decrypting the certificate. We’re using an Oracle Wallet, so this setting is left blank.

CLIENT_CERTIFICATE_KEY_FILE_PWD

If using a Client Certificate, and it is encrypted, specify the key file password. We’re using an Oracle Wallet, so this setting is left blank.

Using the above settings, the Security section on our response file looks like this:

###############################################################################
#                                                                             #
#                           SECTION G – SECURITY                              #
#           This section is only needed if Security will be enabled           #
#                                                                             #
###############################################################################
#
#——————————————————————————-
# Specify the Cipher Suites to be used for SSL.
#——————————————————————————-
CIPHER_SUITES=TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA
#
#——————————————————————————-
# If SSL / TLS will be enabled, specify the server Wallet to be copied.
#——————————————————————————-
SERVER_WALLET=/u01/oracle/app/goldengate/wallet/ora12nomt
#
#——————————————————————————-
# If SSL / TLS will be enabled, specify the Oracle GoldenGate server certificate
# to be imported.
#——————————————————————————-
SERVER_CERTIFICATE=
#
#——————————————————————————-
# If the Oracle GoldenGate server certificate is encrypted, specify the key file
#——————————————————————————-
SERVER_CERTIFICATE_KEY_FILE=
#
#——————————————————————————-
# If the Oracle GoldenGate server certificate is encrypted, specify the key file
# password
#——————————————————————————-
SERVER_CERTIFICATE_KEY_FILE_PWD=
#
#——————————————————————————-
# If SSL / TLS will be enabled, specify the client Wallet to be copied. (Optional)
#——————————————————————————-
CLIENT_WALLET=/u01/oracle/app/goldengate/wallet/oggdistclient
#
#——————————————————————————-
# If SSL / TLS will be enabled, specify the Oracle GoldenGate client certificate
# to be imported. (Optional)
#——————————————————————————-
CLIENT_CERTIFICATE=
#
#——————————————————————————-
# If the Oracle GoldenGate client certificate is encrypted, specify the key file
#——————————————————————————-
CLIENT_CERTIFICATE_KEY_FILE=
#
#——————————————————————————-
# If the Oracle GoldenGate server certificate is encrypted, specify the key file
# password
#——————————————————————————-
CLIENT_CERTIFICATE_KEY_FILE_PWD=

Sharding

If the OGG-SA Deployment is capturing or applying data to an Oracle Sharded Database, set SHARDING_ENABLED to true and provide the database Sharding User as SHARDING_USER. We are not connecting to an Oracle Sharded Database, so SHARDING_ENABLED is set to false and SHARDING_USER is left blank.

###############################################################################
#                                                                             #
#                           SECTION H – SHARDING                              #
#                                                                             #
###############################################################################
#
#——————————————————————————-
# Specify if Sharding will be enabled for this deployment.
# Specify true if Sharding will be enabled for this deployment, false otherwise.
#——————————————————————————-
SHARDING_ENABLED=false
#
#——————————————————————————-
# This option is only needed when Sharding will be enabled.
# Specify the Sharding user.
#——————————————————————————-
SHARDING_USER=

Services

In the Services section, we define operational settings to be used by the Deployment; such as port numbers. Provide port numbers for the PORT_ADMINSRVR, PORT_DISTSRVR, PORT_RCVRSRVR,  and PORT_PMSRVR and UDP_PORT_PMSRVR (if you are enabling the reporting of performance metrics in the deployment).

If you are creating a Non-secure Deployment that will deliver data to a Secure Deployment, set NON_SECURE_DISTSRVR_CONNECTS_TO_SECURE_RCVRSRVR to true. For this example, we are replicating data to a secure target Deployment, so we’ll set this parameter to false.

Metrics Server Settings

The Deployment Metrics Server collects and stores performance statistics for the Deployment. The Metrics Server provides a wealth of information about the health of the Deployment, and is optional; however, for production deployments you should probably have one configured.

To enable the Metrics Server, set METRICS_SERVER_ENABLED to true.

If the Deployment is integrated with XAG, set METRICS_SERVER_IS_CRITICAL to true. Our test deployment is not integrated with XAG, so we’ll set this to false.

Set the DataStore type for the for the Metrics Server via the PMSRVR_DATASTORE_TYPE parameter. The choices are BDB for Berkley Database or LMDB for Lightning Memory-Mapped Database Manager. For this test deployment we’ll take the default, BDB.

Set the DataStore Home location for the Metrics Server via the PMSRVR_DATASTORE_HOME setting. This is the disk location where the DataStore will write metrics information when it is flushed from memory. (Note: As of the date of this article this location must exist before creating the deployment.) For this deployment, I created the disk location, /u01/oracle/app/goldengate/ogg_deployments/bunnypos/pmsrvr, as the DataStore Home.

With these settings, the Services section of our response file looks like this:

###############################################################################
#                                                                             #
#                           SECTION I – SERVICES                              #
#                                                                             #
###############################################################################
#
#——————————————————————————-
# Specify the port for Administration Server.
#——————————————————————————-
PORT_ADMINSRVR=21001
#
#——————————————————————————-
# Specify the port for Distribution Server.
#——————————————————————————-
PORT_DISTSRVR=21002
#
#——————————————————————————-
# If security is disabled, specify if this non-secure deployment will be used
# to send trail data to a secure deployment.
#——————————————————————————-
NON_SECURE_DISTSRVR_CONNECTS_TO_SECURE_RCVRSRVR=false
#
#——————————————————————————-
# Specify the port for Receiver Server.
#——————————————————————————-
PORT_RCVRSRVR=21003
#
#——————————————————————————-
# Specify if Performance Metrics server will be enabled.
# Specify true if Performance Metrics server will be enabled, false otherwise.
#——————————————————————————-
METRICS_SERVER_ENABLED=true
#
#——————————————————————————-
# Specify if Performance Metrics server is a critical service.
# Specify true if Performance Metrics server is a critical service, false otherwise.
# This is optional and only takes effect when Performance Metrics server will be enabled.
# Also, this option should only be set when the Service Manager is integrated with XAG.
# The default value is false.
#——————————————————————————-
METRICS_SERVER_IS_CRITICAL=false
#
#——————————————————————————-
# This option is only needed when Performance Metrics server will be enabled.
# Specify the port for Performance Metrics server (TCP).
#——————————————————————————-
PORT_PMSRVR=21004
#
#——————————————————————————-
# This option is only needed when Performance Metrics server will be enabled.
# Specify the port for Performance Metrics server (UDP).
#——————————————————————————-
UDP_PORT_PMSRVR=21005
#
#——————————————————————————-
# This option is only needed when Performance Metrics server will be enabled.
# Specify the DataStore type for Performance Metrics server.
# Valid values are: BDB, LMDB
#——————————————————————————-
PMSRVR_DATASTORE_TYPE=BDB
#
#——————————————————————————-
# Specify the DataStore home location for Performance Metrics server.
# This is optional and only takes effect when Performance Metrics server will be enabled.
#——————————————————————————-
PMSRVR_DATASTORE_HOME=/u01/oracle/app/goldengate/ogg_deployments/bunnypos/pmsrvr

Replication Options

Provide the name of the Database schema where Oracle GoldenGate checkpoint and heartbeat tables will be created via the parameter OGG_SCHEMA. In my Oracle Database the GoldenGate user schema is GGADMIN. This will be used as the GGSCHEMA setting in the deployment GLOBALS parameter file.

###############################################################################
#                                                                             #
#                       SECTION J – REPLICATION OPTIONS                       #
#                                                                             #
###############################################################################
#
#——————————————————————————-
# Specify the value for the GoldenGate schema.
#——————————————————————————-
OGG_SCHEMA=ggadmin

Remove Deployment Options

If you are removing a Deployment and want to delete its associated disk files, set REMOVE_DEPLOYMENT_FROM_DISK to true. We’re creating a Deployment, so we’ll choose false for this setting.

###############################################################################
#                                                                             #
#                  SECTION K – REMOVE DEPLOYMENT OPTIONS                      #
#                                                                             #
###############################################################################
#
#——————————————————————————-
# Specify if the deployment files should be removed from disk.
# Specify true if the deployment files should be removed, false otherwise.
#——————————————————————————-
REMOVE_DEPLOYMENT_FROM_DISK=false

Create the Deployment

Now that our response file has been setup, we can create the Deployment.

[oracle@ora12nomt bin]$ ./oggca.sh -silent -responseFile /u01/oracle/app/goldengate/response_files/ogg181_bunnypos.rsp
Version 18.1.0.0.0 OGGCORE_18.1.0.0.0_PLATFORMS_180928.0432

Copyright (C) 1995, 2018, Oracle and/or its affiliates. All rights reserved.

Linux, x64, 64bit (optimized) on Sep 28 2018 14:38:11
Operating system character set identified as UTF-8.
Successfully Setup Software.

The Deployment processes will be running and you may move on to configuring the replication components from within the Web GUI or via the adminclient or RestAPI interfaces.

Summary

In this article we setup response files and performed a silent installation of Oracle GoldenGate Microservices Architecture for Oracle Databases and performed a silent deployment to create a new Oracle GoldenGate Microservices Deployment.

For more information on what other articles are available for Oracle GoldenGate please view our index page.

Add Your Comment