#!/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
}