[code language=”sql”]
#!/bin/ksh
############################################################################
# Script Name..: gg_common.ksh
# Description..: Common GG Hub functions for inclusion to all driver scripts
# Author…….: Michael Culp
# Date………: 04/23/2010
# Version……: .65
# Modified By..: Michael Culp
# Date Modified: 06/07/2017
# Comments…..: Change this library to make mods to all functions
# Schema owner.: N/A
# Dependent on.: N/A
# Script type..: function library
# Function list:
############################################################################

############################################################################
#
############################################################################

gg_init()
##########################################################
# These variables should be set prior to setup
# Call this function anytime the variables need to be
# set for values that will be utilized in other functioons
# gg_init should be used to determine which environment
# needs to be setup
#########################################################
{

# Take a parameter for the instance
gginst=$1

# Do not change the following 2 variables
#########################################################
ggcomver=".92"
ggcomdt="10/18/2018"

# set -xv
# This will set the ggini file based on the hostname
#########################################################
initflnm=`hostname -a`".ggini"

echo "Display the init file name"
echo $initflnm

# Test to see if the is an init file first
# if so read it, otherwise set these variables

# future enhancement check for various scripts standard names
echo
echo
echo "Checking for the existance of the ggini initialization file.."
echo

# if [ -f /oracle/admin/scripts/ggcommon/`hostname -a`.ggini ]; then
if [ -f /oracle/admin/scripts/ggcommon/`hostname -a`.gginix ]; then
echo "….file exists…."
echo
echo " The ggini file was read ….Y"
echo
echo "….reading variables from the .ggini file….."
echo
# . ./`hostname -a`.ggini
. /oracle/admin/scripts/ggcommon/`hostname -a`.ggini
else
echo "….file does not exist"
echo
echo " The ggini file was not read …."
echo
echo "….reading variables from the gg_init function….."
echo
#########################################################
# Set the Oracle inventory location
#########################################################
orainv="/oracle/oraInventory"

echo
echo "Running gg_init function()……."
echo

#######################################################
# GoldenGate operational directory
# This needs to be set during build of additional
# GoldenGate instances
#######################################################
# gg_dir="/oracle/product/gg123"
# gg_dir="/oracle/product/gg123ms"
# gg_dir="/oracle/product/gg122"

# gg_dir="/oracle/product/ggvad001"
# gg_dir="/oracle/product/ggvad001"
# gg_dir="/oracle/product/ggvad001"
# gg_dir="/oracle/product/ggtxd003"
# gg_dir="/oracle/product/ggtxd002"
# gg_dir="/oracle/product/ggtxd001"
# gg_dir="/oracle/product/ggtxd006"
# gg_dir="/oracle/product/ggtxd007"
gg_dir="/oracle/product/ggvat004"

# gg_dir="/oracle/product/gg121"

export GGS_HOME=$gg_dir

export OGG_HOME=$GGS_HOME

#######################################################
# GoldenGate version
# We support GG 12.1, 12.2, 12.3 currently
#######################################################
ggver="12.3"
# ggver="12.2"
# ggver="12.1"

# export DBFS_MNT=/dbfs

#######################################################
# GoldenGate source version
#######################################################
ggsrcver="12.1"

#######################################################
# ggflnm – is the zip file name of the GG distro
# This is the name of the goldengate zip files
#######################################################
# File below is 12.3.0.1.2
ggflnm="123014_fbo_ggs_Linux_x64_shiphome.zip"

# File below is 12.3.0.1.2
# ggflnm="123012_fbo_ggs_Linux_x64_shiphome.zip"

# File below is 12.2
# ggflnm="V100692-01.zip"

# File below is 12.3 Micro Service Architecture
# ggflnm="123010_fbo_ggs_Linux_x64_shiphome.zip"
#######################################################

#######################################################
# ggdir_dist – directory of the distro zip file
# This is the name of the directory where the distribution GoldenGate software is stored
# Choose one and uncomment it
#######################################################
##### GoldenGate ver. 12.3
# ggdir_dist="/ora01/Oracle_SW/gg123/"
##### GoldenGate ver. 12.3.0.1.4
ggdir_dist="/ora01/Oracle_SW/gg123/123014/"
##### GoldenGate ver. 12.3 MicroService Architecture
# ggdir_dist="/ora01/Oracle_SW/gg123ms/"
# ggdir_dist="/ora01/Oracle_SW/gg122/"
# ggdir_dist="/ora01/Oracle_SW/gg121/"

#######################################################
# gginstdir – Location of the installer
# GoldenGate installer directory
#######################################################
gginstdir=$ggdir_dist"fbo_ggs_Linux_x64_shiphome/Disk1"

#######################################################
# ggrspfldir – Response file directory
# Response file directory
#######################################################
ggrspfldir=$ggdir_dist"fbo_ggs_Linux_x64_shiphome/Disk1/response"

#######################################################
# ggrspfl – response file name
# Response file name for install of the GG binaries
#######################################################
ggrspfl="oggcore_mrc.rsp"

#######################################################
# XAG version
#######################################################
# xagver="7.1b"
# xagver="8.1b"
xagver="9.1"

#######################################################
# This is the name of the directory where the XAG software is stored
#######################################################
# xagdir_dist="/ora01/Oracle_SW/xag71/"
# xagdir_dist="/ora01/Oracle_SW/xag81b/"
xagdir_dist="/ora01/Oracle_SW/xag91/"

#######################################################
# XAG Ops directory
# This is the operational directory for XAG
#######################################################
# xagdir="/oracle/product/xag_71"
# xagdir="/oracle/product/xag_81b"
xagdir="/oracle/product/xag_91"

#######################################################
# XAG home directory
#######################################################
XAG_HOME=/oracle/product/xag_91
XAG_LOG=/oracle/product/xag_91/log/nodename

#######################################################
# This is the name of the xag zip file
#######################################################
# xagflnm="xagpack81b.zip"
xagflnm="xagpack91.zip"

# Read the GG environment files
# . ./ggoraenv.env

fi

XAG_SD=/oracle/admin/scripts/ggcommon

CRS_SD=/oracle/admin/scripts/crsdbfs
DBFS_SD=/oracle/admin/scripts/clle_dbfscommon
GG_SD=/oracle/admin/scripts/ggcommon
ASM_SD=/oracle/admin/scripts/asmcommon
DG_SD=/oracle/admin/scripts/dgcommon

############################################################################
# Show the variable status dashboard, comment this line to not display it
############################################################################
gg_init_dbrd

}

gg_init_dbrd()
########################################################
# This is a display dashboard that shows the values of
# Environmental variables
# used in various functions
########################################################
{

echo
echo "Change variables in gg_common.ksh gg_init…."
echo "Display with gg_init_dbrd function ………."
echo

echo
echo "..gg_common.ksh ver. $ggcomver Date $ggcomdt"
echo "….Oracle Inventory location…………….: " $orainv
echo "….GoldenGate Version…………………..: " $ggver
echo "….GoldenGate Source Version supported……: " $ggsrcver
echo
echo "================= Installation Parameters ======================="
echo "….GoldenGate Filename………………….: " $ggflnm
echo "….GoldenGate software distribution dir…..: " $ggdir_dist
echo "….GoldenGate Response File Dir………….: " $ggrspfldir
echo "….GoldenGate Response File …………….: " $ggrspfl
echo "….GoldenGate Installer directory………..: " $gginstdir
echo "….GoldenGate Ops Directory…………….: " $gg_dir
echo "….GoldenGate Home..GGS_HOME…………….: " $GGS_HOME
echo "….GoldenGate Home..OGG_HOME…………….: " $OGG_HOME
echo
echo "….XAG Version…………………………: " $xagver
echo "….XAG Filename………………………..: " $xagflnm
echo "….XAG Dist directory…………………..: " $xagdir_dist
echo "….XAG Ops directory……………………: " $xagdir
echo "….XAG Home directory…………………..: " $XAG_HOME
echo "…….XAG scripts directory……………..: " $XAG_SD
echo "….XAG Log Directory……………………: " $XAG_LOG
echo
echo "================= DBFS Parameters =============================="

echo "================= Scripts Directoriess ========================="
echo "…….CRS……………..: " $CRS_SD
echo "…….DBFS…………….: " $DBFS_SD
echo "…….GoldenGate……….: " $GG_SD
echo "…….XAG……………..: " $XAG_SD
echo "…….DataGuard………..: " $DG_SD
echo "================================================================"

echo
echo "….LD_LIBRARY_PATH……………………..: " $LD_LIBRARY_PATH
echo
echo "….PATH……………………………….: " $PATH
echo

echo "Installation directories………………….."
echo
ls -lt /oracle/product/

# echo "Show ldd for libraries……………………."
# ldd -d extract
# echo "….end transmission………………………"

}

gg_cr_env()
###############################################################################
# Create the ggoraenv.env file
###############################################################################
{

#
# Environment
#

################################################################
# usedate=`date +%a`
################################################################
usedate=`date +%d-%h-%Y`

echo $usedate

echo
echo "…Creating ggoraenv_"$usedate".env…."
echo

# echo > ggoraenv.env
cat << EOS > ggoraenv_$usedate.env

# export ORACLE_HOME=/oracle/product/
# export ORACLE_SID=
# export LD_LIBRARY_PATH=

# GGS_HOME=/oracle/product/gg12.1
# GGS_HOME=/oracle/product/12.2/gg_2
# export GGS_HOME=/u01/app/oracle/product/12.2/gg_2
# export GGS_HOME=$gg_dir
# GGS_HOME=\$gg_dir
# export GGS_HOME=$gg_dir
export GGS_HOME=/oracle/product/gg122

export GG_SITE=01
# export GG_SITE=02
# export GG_SITE=03
# export GG_SITE=04
# export GG_SITE=05
# export GG_SITE=06
# export GG_SITE=07
export GG_LOC=TX
# export GG_LOC=VA

# if there is only one DB related to this GG home,
# set NEW_ORACLE_SID to avoid constant switch between a DB env and its GG env
# export NEW_ORACLE_SID=DBFSXD011; . ~/.std_profile

# otherwise, set NEW_ORACLE_SID to dummy if there are multiple replicated databases related to same GG home
# export NEW_ORACLE_SID=dummy; . ~/.std_profile

# uncomment next three lines if ORACLE_SID is dummy
# export ORACLE_HOME=/oracle/product/11.2.0/db_1

export LD_LIBRARY_PATH=$ORACLE_HOME/lib/$JAVA_HOME/lib/amd64/server:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH

export PATH=$GGS_HOME:$PATH
export LD_LIBRARY_PATH=$GGS_HOME:$LD_LIBRARY_PATH

# for OEM12c GG monitoring
# export JAVA_HOME=/oracle/product/12.1.0/oem_1/agent/core/12.1.0.2.0/jdk/jre
# export PATH=$JAVA_HOME/bin:$PATH
# export LD_LIBRARY_PATH=$JAVA_HOME/lib/amd64/server:$LD_LIBRARY_PATH

TZ=UTC
export TZ

#############################################
## For GI Agent (XAG)
##############################################
# export XAG_HOME=/oracle/product/xag71
# export XAG_HOME=/oracle/product/xag81b
# export XAG_HOME=/oracle/product/xag91
# export PATH=$XAG_HOME/bin:$PATH

##############################################
# Change the prompt
##############################################
PS1="\\
\${PWD} \\
\${SNAME} [\${ORACLE_SID}] [GG_site$GG_SITE"_"$GG_LOC]-> "
export PS1

# alias ggsora12=’. $HOME/.ggsora12_env;cd $GGS_HOME’
# alias ggsora12=’. /ora_rman/ora013/mrc/gg/ggoraenv.env;cd $GGS_HOME’
# alias xag=’. $HOME/.ggsora12_env;cd $XAG_HOME’
# alias ggstatus=’$XAG_HOME/bin/agctl status goldengate piperd01_oggapp’

echo "GGS_HOME is : " $GGS_HOME

# export TMPLT=/oracle/product/11.2.0/db_1/assistants/dbca/templates
export TMPLT=/oracle/product/12.1.0/db_1/assistants/dbca/templates
export ADMSCR=/oracle/admin/scripts
export APXSCR=/oracle/admin/scripts/apex
export GGADMSCR=/oracle/admin/scripts/ggcommon
export APXADMSCR=/oracle/admin/scripts/apex

alias admscr=’cd $ADMSCR’
alias apxscr=’cd $APXADMSCR’
alias tmplt=’cd $TMPLT’
alias ggadmscr=’cd $GGADMSCR’

alias gi=’cd /oracle_crs/product/11.2.0/crs_2/log/$HOST’
alias ocssd=’cd /oracle_crs/product/11.2.0/crs_2/log/$HOST/cssd’
alias crsd=’cd /oracle_crs/product/11.2.0/crs_2/log/$HOST/crsd’

GGS_HOME=/oracle/product/12.2/gg_2
alias gh=’cd $GGS_HOME’
alias gd=’cd /ggate’
#############################################
# For GoldenGate
#############################################
export GGS_HOME=/oracle/product/12.2/gg_2
export PATH=$GGS_HOME:$PATH
export LD_LIBRARY_PATH=$GGS_HOME:$LD_LIBRARY_PATH

EOS
}

[/code]