[code language=”sql”]
#################################################################
# #
#################################################################
# #
# Modified by EMEA OracleDBA Team for enhancements & automation #
# APRIL 2016 #
# #
#################################################################
# #
# USAGE : To be executed as root user #
# (pbrun to oracle or pboracle) #
# #
# Manual execution #
# sh bl_start_crs.ksh #
# #
# Via job scheduler tools and by-passing the prompt #
# sh bl_start_crs.ksh y #
# #
#—————————————————————#
# #
# //Generic information about the batch of scripts developed// #
# bl_status.ksh #
# bl_stop.ksh #
# bl_stop_crs.ksh #
# bl_start_crs.ksh #
# bl_start.ksh #
# #
# Versions/Combinations Supported #
# Clustware 11g #
# Clustware 10g #
# NON-RAC with ASM 11g #
# NON-RAC with ASM 10g #
# NON-RAC & NON-ASM #
# #
# Components in scope #
# Clusterware #
# ASM Instance #
# Database Instance #
# Cluster Listener #
# Local Listener #
# Manager Recovery Process #
# GoldenGate Replication #
# Port Utility #
# Enterprise Manager Agent #
# OSWatcher Utility #
# Foglight Monitoring Agent #
# Filesystem #
# Rawdisk #
# #
#################################################################
export OS=`uname -a | awk ‘{ print $1 }’`
eval timevalue=`date ‘+%m%d%Y_%H%M%S’`
eval filename=$(echo $(hostname) | cut -d. -f1)_$timevalue
export PATH=$PATH:/usr/local/bin
if [[ -f /etc/redhat-release ]]; then
export RH_VER=`cat /etc/redhat-release | grep "Linux Server release" | sed -n ‘s/.*\(Linux Server release.*\).*/\1/p’ | awk ‘{ print $4 }’`
else
export RH_VER=0
fi
if [ "$(ps -ef | grep -i mysql | grep -v grep | wc -l)" -ge 1 ]
then
echo "This is a MySQL Database Server"
exit 0
fi
# CHECK IF THE USER IS ROOT
echo " "
if [ $(whoami) != "root" ]
then
echo "ATTENTION : Please execute this script as root user"
exit 0;
fi
# SCRIPT AND OUTPUT DIRECTORIES INITIALIZATION
SCRIPT_DIRECTORY=/efs/dist/gmrtdba/dbascripts/scripts/common
if [[ -d /oracle/dba/output/generic ]]; then
OUTPUT_DIRECTORY=/oracle/dba/output/generic
else
OUTPUT_DIRECTORY=/var/bl_ora/log
if [[ ! -d $OUTPUT_DIRECTORY ]]; then
echo "OUTPUT_DIRECTORY: $OUTPUT_DIRECTORY was not found on this server … Exiting"
exit 0
fi
fi
# Check if user really wants to START the services
if [ $# -eq 0 ]
then
read -r -p "Are you sure you want to START the Clusterware services ? [y/n] " response
if [ $response = y ]
then
echo ""; echo "Please wait while the services are started up… "; echo ""
else
exit; >/dev/null
fi
elif [ $1 == y ]
then
echo ""; echo "Please wait while the services are started up… "; echo ""
else
exit; >/dev/null
fi
export server_type=$(cat $OUTPUT_DIRECTORY/server_type.log)
collect_esm()
{
if [ $when = pre ]
then
if [ ! -f $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log ]
then
touch $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log
ps -ef | grep -i esm | grep -v grep | wc -l > $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log
elif [ $(( (`date +%s` – `stat -L –format %Y $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log`) > (2880*60) ) ) = 1 ]
then
rm -f $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log
ps -ef | grep -i esm | grep -v grep | wc -l > $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log
else
if [ $(cat $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log) -gt 0 ]
then
sleep 1
else
ps -ef | grep -i esm | grep -v grep | wc -l > $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log
fi
fi
elif [ $when = post ]
then
ps -ef | grep -i esm | grep -v grep | wc -l > $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log
else
sleep 0
fi
}
collect_dma()
{
if [ $when = pre ]
then
if [ ! -f $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log ]
then
touch $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log
ps -ef | grep opsware | grep -v grep | wc -l > $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log
elif [ $(( (`date +%s` – `stat -L –format %Y $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log`) > (2880*60) ) ) = 1 ]
then
rm -f $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log
ps -ef | grep opsware | grep -v grep | wc -l > $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log
else
if [ $(cat $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log) -gt 0 ]
then
sleep 1
else
ps -ef | grep opsware | grep -v grep | wc -l > $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".lo g
fi
fi
elif [ $when = post ]
then
ps -ef | grep opsware | grep -v grep | wc -l > $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log
else
sleep 0
fi
}
collect_lsnr()
{
if [ $when = pre ]
then
if [ ! -f $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log ]
then
touch $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log
ps -ef | grep lsnr |grep -v grep | sed -n ‘s/.*\(tnslsnr.*\).*/\1/p’ | awk ‘{ print $2 }’ | sed ‘/^\s*$/d’ >$OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log
#elif [ $(( (`date +%s` – `stat -L –format %Y $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log`) > (2880*60) )) -eq 1 ]
#then
#rm -f $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log
#ps -ef | grep lsnr |grep -v grep | sed -n ‘s/.*\(tnslsnr.*\).*/\1/p’ | awk ‘{ print $2 }’ | sed ‘/^\s*$/d ‘ >$OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log
else
for LSNR in `ps -ef | grep lsnr |grep -v grep | sed -n ‘s/.*\(tnslsnr.*\).*/\1/p’ | awk ‘{ print $2 }’ | s ed ‘/^\s*$/d’`
do
if [ $(grep -w "$LSNR" $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log | wc -l) -eq 1 ]
then
sleep 0
else
echo $LSNR >> $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log
fi
done
fi
elif [ $when = post ]
then
ps -ef | grep lsnr |grep -v grep | sed -n ‘s/.*\(tnslsnr.*\).*/\1/p’ | awk ‘{ print $2 }’ | sed ‘/^\s*$/d’ >$OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log
else
sleep 0
fi
}
collect_asm()
{
if [ $when = pre ]
then
if [ ! -f $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log ]
then
touch $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log
ps -ef | grep pmon | sort -k9 | grep -v grep | grep "+ASM" | grep -v onitor | awk ‘BEGIN{FS="_"}{print $NF }’>$OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log
#elif [ $(( (`date +%s` – `stat -L –format %Y $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log`) > (2880*60) )) -eq 1 ]
#then
#rm -f $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log
#ps -ef | grep pmon | sort -k9 | grep -v grep | grep "+ASM" | grep -v onitor | awk ‘BEGIN{FS="_"}{print $N F}’>$OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log
else
for ASM in `ps -ef | grep pmon | sort -k9 | grep -v grep | grep "+ASM" | grep -v onitor | awk ‘BEGIN{FS="_"}{print $NF}’`
do
if [ $(grep -w "$ASM" $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log | wc -l) -eq 1 ]
then
sleep 1
else
echo $ASM >> $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log
fi
done
fi
elif [ $when = post ]
then
ps -ef | grep pmon | sort -k9 | grep -v grep | grep "+ASM" | grep -v onitor | awk ‘BEGIN{FS="_"}{print $NF }’>$OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log
else
sleep 0
fi
}
collect_crs()
{
if [ $when = pre ]
then
if [ ! -f $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log ]
then
touch $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log
ps -ef | grep crs | grep -v grep | grep -v tfa | wc -l > $OUTPUT_DIRECTORY/"$when"_"$why"_"$what". log
#elif [ $(( (`date +%s` – `stat -L –format %Y $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log`) > (2880*60) )) -eq 1 ]
#then
#rm -f $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log
#ps -ef | grep crs | grep -v grep | grep -v tfa | wc -l > $OUTPUT_DIRECTORY/"$when"_"$why"_"$what" .log
else
if [ $(cat $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log) -gt 0 ]
then
sleep 1
else
ps -ef | grep crs | grep -v grep | grep -v tfa | wc -l > $OUTPUT_DIRECTORY/"$when"_"$why"_ "$what".log
fi
fi
elif [ $when = post ]
then
ps -ef | grep crs | grep -v grep | grep -v tfa | wc -l > $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log
else
sleep 0
fi
}
#Portdaemon detection
collect_portutil()
{
if [ $when = pre ]
then
if [ ! -f $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log ]
then
touch $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log
ps -ef | grep "portdaemon.pl" | grep -v grep | grep port | wc -l > $OUTPUT_DIRECTORY/"$when"_"$why "_"$what".log
#elif [ $(( (`date +%s` – `stat -L –format %Y $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log`) > (2880*60) )) -eq 1 ]
#then
#rm -f $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log
#ps -ef | grep "portdaemon.pl" | grep -v grep | grep port | wc -l > $OUTPUT_DIRECTORY/"$when"_"$wh y"_"$what".log
else
if [ $(cat $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log) -gt 0 ]
then
sleep 1
else
ps -ef | grep "portdaemon.pl" | grep -v grep | grep port | wc -l > $OUTPUT_DIRECTORY/"$whe n"_"$why"_"$what".log
fi
fi
elif [ $when = post ]
then
ps -ef | grep "portdaemon.pl" | grep -v grep | grep port | wc -l > $OUTPUT_DIRECTORY/"$when"_"$why"_"$what ".log
else
sleep 0
fi
}
display_pre_post()
{
if [ $when = pre ]
then
if [ $what = asm ] || [ $what = lsnr ] || [ $what = portutil ]
then
if [ "$(cat $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log)" = 0 ] || [ ! -s $OUTPUT_DIRECTORY/"$when"_"$why" _"$what".log ]
then
echo "PRE stop" $what "running " ":" "NO" | tee -a ${LOG}
else
echo "PRE stop" $what "running " ":" $(cat $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log) | tee -a ${LO G}
fi
elif [ $what = crs ]
then
if [ "$(cat $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log)" -lt 3 ]
then
echo "PRE stop" $what "running " ":" "NO" | tee -a ${LOG}
else
echo "PRE stop" $what "running " ":" "YES" | tee -a ${LOG}
fi
fi
elif [ $when = post ]
then
if [ $what = asm ] || [ $what = lsnr ] || [ $what = portutil ]
then
if [ "$(cat $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log)" = 0 ] || [ ! -s $OUTPUT_DIRECTORY/"$when"_"$why" _"$what".log ]
then
echo "POST start" $what "running " ":" "NO" | tee -a ${LOG}
else
echo "POST start" $what "running " ":" $(cat $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log) | tee -a ${ LOG}
fi
elif [ $what = crs ]
then
if [ "$(cat $OUTPUT_DIRECTORY/"$when"_"$why"_"$what".log)" -lt 3 ]
then
echo "POST start" $what "running " ":" "NO" | tee -a ${LOG}
else
echo "POST start" $what "running " ":" "YES" | tee -a ${LOG}
fi
fi
fi
}
started_status()
{
if [ $what = asm ] || [ $what = lsnr ] || [ $what = portutil ]
then
rm -f $OUTPUT_DIRECTORY/diff_file; rm -f $OUTPUT_DIRECTORY/diff_1; rm -f $OUTPUT_DIRECTORY/diff_2
cat $OUTPUT_DIRECTORY/pre_stop_$what.log | sort > $OUTPUT_DIRECTORY/diff_1;
cat $OUTPUT_DIRECTORY/post_start_$what.log | sort > $OUTPUT_DIRECTORY/diff_2;
diff -b -i -w $OUTPUT_DIRECTORY/diff_1 $OUTPUT_DIRECTORY/diff_2 > $OUTPUT_DIRECTORY/diff_file
#chown oracle:dba $OUTPUT_DIRECTORY/diff_file
chmod 777 $OUTPUT_DIRECTORY/diff_file
if [ ! -s $OUTPUT_DIRECTORY/diff_file ]
then
echo "yes" > $OUTPUT_DIRECTORY/started_$what.log | tee -a ${LOG}
echo "OK : pre-post status matches for $what"
else
echo "no" > $OUTPUT_DIRECTORY/started_$what.log | tee -a ${LOG}
echo "ATTENTION : $what didn’t start. Please check"
fi
elif [ $what = crs ]
then
if [ "$(cat $OUTPUT_DIRECTORY/post_start_"$what".log)" -gt 5 ] || [ ! -s $OUTPUT_DIRECTORY/post_start_"$what".log ]
then
echo "yes" > $OUTPUT_DIRECTORY/started_$what.log
echo "OK : pre-post status matches for $what"
else
echo "no" > $OUTPUT_DIRECTORY/started_$what.log
echo "ATTENTION : $what didn’t start. Please check"
fi
fi
}
start_esm()
{
if [ "$(cat $OUTPUT_DIRECTORY/pre_stop_esm.log)" = 0 ]
then
echo "ESM Agent was down even before the activity, so didn’t bring it up" >> ${LOG}; echo -e "\n" > > ${LOG}
elif [ "$(ps -ef | grep esm | grep -v grep | wc -l)" != 0 ]
then
echo "ESM Agent is already running" >> ${LOG}; echo -e "\n" >> ${LOG}
else
/etc/init.d/esmrc start >/dev/null;
sleep 2
fi
}
start_dma()
{
if [ "$(cat $OUTPUT_DIRECTORY/pre_stop_dma.log)" = 0 ]
then
echo "DMA Agent was down even before the activity, so didn’t bring it up" >> ${LOG}; echo -e "\n" > > ${LOG}
elif [ "$(ps -ef | grep opsware | grep -v grep | wc -l)" != 0 ]
then
echo "DMA Agent is already running" >> ${LOG}; echo -e "\n" >> ${LOG}
else
/etc/init.d/opsware-agent start >/dev/null;
sleep 15
fi
}
start_has()
{
ORACLE_SID=`cat /etc/oratab | awk ‘BEGIN{FS=":"}{print $1}’ | grep ASM | grep -v "#"`
export ORAENV_ASK=NO >/dev/null;
. oraenv >/dev/null
crsctl start has >> ${LOG} ; echo "" >> ${ LOG}
sleep 10
if [ "$(crsctl check has | grep online | wc -l)" -ne 0 ]
then
echo "Clusterware Services started" >> ${LOG}; echo "" >> ${LOG}
crsctl enable has >/dev/null
crs_en_dis=`cat /etc/oracle/scls_scr/$(echo $(hostname) | cut -d. -f1)/root/crsstart | awk ‘BEGIN{ FS=":"}{print $1}’`
echo "HAS status : $crs_en_dis" >> ${LOG}; echo "" >> ${LO G}
echo "HAS is now enabled" >> ${LOG}
else
echo "ATTENTION : Clusterware services do not appear to have started properly" >> ${LOG} ; echo " " >> ${LOG}
echo "ATTENTION : CRS not enabled" >> ${LOG} ; echo "" >> ${L OG}
fi
}
start_crs()
{
ORACLE_SID=`cat /etc/oratab | awk ‘BEGIN{FS=":"}{print $1}’ | grep CRS | grep -v "#"`
export ORAENV_ASK=NO >/dev/null;
. oraenv >/dev/null
crsctl start crs >> ${LOG} ; echo "" >> ${ LOG}
sleep 10
if [ "$(crsctl check crs | grep online || crsctl check crs | grep healthy | wc -l)" -ne 0 ]
then
echo "Clusterware Services started" >> ${LOG}; echo "" >> ${LOG}
crsctl enable crs
crs_en_dis=`cat /etc/oracle/scls_scr/$(echo $(hostname) | cut -d. -f1)/root/crsstart | awk ‘BEGIN{ FS=":"}{print $1}’`
echo "CRS status : $crs_en_dis" >> ${LOG}; echo "" >> ${LO G}
echo "CRS is now enabled" >> ${LOG}
else
echo "ATTENTION : Clusterware services do not appear to have started properly" >> ${LOG} ; echo " " >> ${LOG}
echo "ATTENTION : CRS not enabled" >> ${LOG} ; echo "" >> ${L OG}
fi
}
start_portutil()
{
# Initialise any previous Portdaemon start files
if [[ -f $OUTPUT_DIRECTORY/Portdaemon_start.sh ]]; then
rm $OUTPUT_DIRECTORY/Portdaemon_start.sh
fi
if [[ -f $OUTPUT_DIRECTORY/Portdaemon_config.txt ]]; then
cat $OUTPUT_DIRECTORY/Portdaemon_config.txt | while read PORT_CONFIG
do
PORT_USER=`echo $PORT_CONFIG | cut -d":" -f1 -s`
PORT_PROC=`echo $PORT_CONFIG | cut -d":" -f2 -s`
PORT_DIR=`dirname $PORT_PROC`
PORT_NUMB=`echo $PORT_CONFIG | cut -d":" -f3 -s`
# Gen Command for starting Portdaemon for this POrt ..
echo "su – $PORT_USER -c ‘sh ${PORT_DIR}/start_port_daemon ${PORT_NUMB}’" >> $OUTPUT_DIRECTORY/Portdaemon_start .sh
done
# Loop through and stop all detected Portdaemon(s)
if [[ -f $OUTPUT_DIRECTORY/Portdaemon_start.sh ]]; then
chmod 744 $OUTPUT_DIRECTORY/Portdaemon_start.sh
sh $OUTPUT_DIRECTORY/Portdaemon_start.sh > /dev/null 2>&1
fi
else
echo "Portdaemon services not detected on this host" >> ${LOG}; echo "" >> ${LOG}
fi
}
enable_standalone_autostart()
{
DDMMYY=`date ‘+%m%d%y_%H:%M:%S’`
if [[ -f /etc/oratab_bl_backup ]]; then
if [[ -f /etc/oratab ]]; then
oracred=`ls -l /etc/oratab | awk ‘{ print $3":"$4 }’`
mv /etc/oratab $OUTPUT_DIRECTORY/oratab_no_autostart_${DDMMYY}
fi
mv /etc/oratab_bl_backup /etc/oratab
chown $oracred /etc/oratab
fi
if [[ -f /etc/lsnrtab_bl_backup ]]; then
if [[ -f /etc/lsnrtab ]]; then
oracred=`ls -l /etc/lsnrtab | awk ‘{ print $3":"$4 }’`
mv /etc/lsnrtab $OUTPUT_DIRECTORY/lsnrtab_no_autostart_${DDMMYY}
fi
mv /etc/lsnrtab_bl_backup /etc/lsnrtab
chown $oracred /etc/lsnrtab
fi
}
start_rh7_dbserv()
{
if [[ -f /etc/redhat-release ]] && [[ "$RH_VER" == 7.* ]]; then
export RH7_ORASTR=`systemctl status oracle_db.service | grep "Active: " | awk ‘{ print $1,$2,$3 }’`
if [[ "${RH7_ORASTR}" != "Active: active (running)" ]]; then
echo "" >> $LOG
echo "########################################################################" >> $LOG
echo "Note: RedHat7 service: oracle_db.service will be started here … " >> $LOG
echo "" >> $LOG
echo "PRE Startup Status: " >> $LOG
systemctl status oracle_db.service | grep "Active: " >> $LOG
echo "" >> $LOG
echo " => Attempting to Start it …" >> $LOG
echo "" >> $LOG
systemctl start oracle_db.service >> $LOG
sleep 2
echo "POST Startup Status: " >> $LOG
systemctl status oracle_db.service | grep "Active: " >> $LOG
echo "########################################################################" >> $LOG
echo "" >> $LOG
else
echo "" >> $LOG
echo "########################################################################" >> $LOG
echo "NO ACTION TAKEN: RedHat7 service: oracle_db.service was already found to be in ACTIVE state " >> $LOG
systemctl status oracle_db.service | grep "Active: " >> $LOG
echo "########################################################################" >> $LOG
echo "" >> $LOG
fi
fi
}
# Remove the temporary log file
rm -f $OUTPUT_DIRECTORY/start_crs.log
# Assign a new log file
LOG=$OUTPUT_DIRECTORY/start_crs.log; echo "" >> ${LOG};
#INSERT INTO REPOSITORY DATABASE
#ASSIGNING THE OUTPUT VARIABLES
assign_log()
{
if [ -s $OUTPUT_DIRECTORY/post_start_crs.log ]
then
crs_output=`cat $OUTPUT_DIRECTORY/post_start_crs.log`
else
crs_output="no_status"
fi
if [ -s $OUTPUT_DIRECTORY/post_start_asm.log ]
then
asm_output=`cat $OUTPUT_DIRECTORY/post_start_asm.log`
else
asm_output="no_status"
fi
if [ -s $OUTPUT_DIRECTORY/post_start_esm.log ]
then
esm_agent_output=`cat $OUTPUT_DIRECTORY/post_start_esm.log`
else
esm_agent_output="no_status"
fi
if [ -s $OUTPUT_DIRECTORY/post_start_dma.log ]
then
dma_agent_output=`cat $OUTPUT_DIRECTORY/post_start_dma.log`
else
dma_agent_output="no_status"
fi
if [ -s $OUTPUT_DIRECTORY/post_start_lsnr.log ]
then
listener_output=`cat $OUTPUT_DIRECTORY/post_start_lsnr.log`
else
listener_output="no_status"
fi
if [ -s $OUTPUT_DIRECTORY/post_start_dbinst.log ]
then
db_instance_output=`cat $OUTPUT_DIRECTORY/post_start_dbinst.log`
else
db_instance_output="no_status"
fi
if [ -s $OUTPUT_DIRECTORY/post_start_dbopen.log ]
then
db_open_output=`cat $OUTPUT_DIRECTORY/post_start_dbopen.log`
else
db_open_output="no_status"
fi
if [ -s $OUTPUT_DIRECTORY/post_start_dbopenro.log ]
then
db_openro_output=`cat $OUTPUT_DIRECTORY/post_start_dbopenro.log`
else
db_openro_output="no_status"
fi
if [ -s $OUTPUT_DIRECTORY/post_start_dbmount.log ]
then
db_mount_output=`cat $OUTPUT_DIRECTORY/post_start_dbmount.log`
else
db_mount_output="no_status"
fi
if [ -s $OUTPUT_DIRECTORY/post_start_dbservices.log ]
then
service_alignment_output=`cat $OUTPUT_DIRECTORY/post_start_dbservices.log`
else
service_alignment_output="no_status"
fi
if [ -s $OUTPUT_DIRECTORY/post_start_mrp.log ]
then
mrp_output=`cat $OUTPUT_DIRECTORY/post_start_mrp.log`
else
mrp_output="no_status"
fi
if [ -s $OUTPUT_DIRECTORY/post_start_agent.log ]
then
oem_agent_output=`cat $OUTPUT_DIRECTORY/post_start_agent.log`
else
oem_agent_output="no_status"
fi
if [ -s $OUTPUT_DIRECTORY/post_start_portutil.log ]
then
port_utility_output=`cat $OUTPUT_DIRECTORY/post_start_portutil.log`
else
port_utility_output="no_status"
fi
if [ -s $OUTPUT_DIRECTORY/post_start_fgl.log ]
then
foglight_output=`cat $OUTPUT_DIRECTORY/post_start_fgl.log`
else
foglight_output="no_status"
fi
if [ -s $OUTPUT_DIRECTORY/post_start_osw.log ]
then
os_watcher_output=`cat $OUTPUT_DIRECTORY/post_start_osw.log`
else
os_watcher_output="no_status"
fi
if [ -s $OUTPUT_DIRECTORY/post_start_usb.log ]
then
usb_output=`cat $OUTPUT_DIRECTORY/post_start_usb.log`
else
usb_output="no_status"
fi
if [ -s /oracle/dba/foglight/fgl_5/bin/fglam ]
then
fglam_output=`/oracle/dba/foglight/fgl_5/bin/fglam –check-connection`
else
fglam_output="no_status"
fi
if [ -s $OUTPUT_DIRECTORY/server_type.log ]
then
instance_type=`cat $OUTPUT_DIRECTORY/server_type.log`
else
instance_type="no_status"
fi
if [ -s $OUTPUT_DIRECTORY/version_executed_status.log ]
then
script_version=`cat $OUTPUT_DIRECTORY/version_executed_status.log`
else
script_version="no_status"
fi
}
insert_repdb()
{
for what in dma esm lsnr asm crs
do
if [ -f $OUTPUT_DIRECTORY/stopped_$what.log ]
then
if [ "$(cat $OUTPUT_DIRECTORY/stopped_$what.log)" = yes ]
then
eval var_$what="success"
fi
if [ "$(cat $OUTPUT_DIRECTORY/stopped_$what.log)" = no ]
then
eval var_$what="failure"
fi
else
eval var_$what="no_status"
fi
done
if [[ $server_type = "rac_10g" ]]
then
var_lsnr="na"
var_asm="na"
elif [[ $server_type = "norac_asm10" ]] || [[ $server_type = "norac_noasm" ]]
then
var_dma="na"
var_esm="na"
var_lsnr="na"
var_asm="na"
var_crs="na"
fi
for what in fgl osw agent portutil mrp dbinst
do
eval var_$what="na"
done
#PREPARING THE INSERT STATEMENT
if [ $(cat /etc/oratab | grep oracle | grep -v -i asm | grep -v -i crs | grep -v -i oem | grep -v "#" | awk ‘BEGIN{FS=":"} {print $1}’ | head -1 | wc -l) = 1 ]
then
export ORACLE_SID=`cat /etc/oratab | grep oracle | grep -v -i asm | grep -v -i crs | grep -v -i oem | grep -v "#" | awk ‘B EGIN{FS=":"}{print $1}’ | head -1`
export ORAENV_ASK=NO >/dev/null
. oraenv >/dev/null
$ORACLE_HOME/bin/sqlplus -s OSH_SEH/dbaas_operations1@SUNDVD94 << EOFSTATUS
set echo off;
set head off;
set feedback off;
insert into OSH_SEH.dbss_log (DBSS_ID,
SCRIPT_VERSION,
INSTANCE_TYPE,
STOP_OR_START,
CRS_OR_DB,
SERVER_NAME,
SERVER_TIMESTAMP,
CRS,
ASM,
LISTENER,
DB_INSTANCE,
MRP_PROCESS,
ESM_AGENT,
DMA_AGENT,
OEM_AGENT,
PORT_UTILITY,
FOGLIGHT,
OS_WATCHER,
SENT_MAIL,
CRS_OUTPUT,
ASM_OUTPUT,
LISTENER_OUTPUT,
DB_INSTANCE_OUTPUT,
DB_OPEN_OUTPUT,
DB_OPENRO_OUTPUT,
DB_MOUNT_OUTPUT,
SERVICE_ALIGNMENT_OUTPUT,
MRP_OUTPUT,
ESM_AGENT_OUTPUT,
DMA_AGENT_OUTPUT,
OEM_AGENT_OUTPUT,
PORT_UTILITY_OUTPUT,
FOGLIGHT_OUTPUT,
OS_WATCHER_OUTPUT,
USB_OUTPUT,
FGLAM_OUTPUT)
values (DBSS_LOG_SEQ.nextval,
‘$script_version’,
‘$instance_type’,
‘start’,
‘crs’,
‘$(hostname -f)’,
‘$timevalue’,
‘$var_crs’,
‘$var_asm’,
‘$var_lsnr’,
‘$var_dbinst’,
‘$var_mrp’,
‘$var_esm’,
‘$var_dma’,
‘$var_agent’,
‘$var_portutil’,
‘$var_fgl’,
‘$var_osw’,
0,
‘$crs_output’,
‘$asm_output’,
‘$listener_output’,
‘$db_instance_output’,
‘$db_open_output’,
‘$db_openro_output’,
‘$db_mount_output’,
‘$service_alignment_output’,
‘$mrp_output’,
‘$esm_agent_output’,
‘$dma_agent_output’,
‘$oem_agent_output’,
‘$port_utility_output’,
‘$foglight_output’,
‘$os_watcher_output’,
‘$usb_output’,
‘$fglam_output’);
commit;
EOFSTATUS
fi
}
case $server_type in
"rac_12c")
echo "" ;
echo "—————————————————————————————" >> ${LOG};
echo "—————————> THIS IS A 12c CLUSTERWARE SYSTEM <————————- " >> ${LOG};
echo "—————————————————————————————" >> ${LOG}; echo "" >> ${LOG}
if [ "$(ps -ef | grep pmon | grep -v grep |grep -v "+ASM" |grep -v "\-MGMTDB" | grep -v onitor | wc -l)" -eq 0 ]
then
why=stop;
for what in esm dma asm lsnr crs portutil
do
when=pre; collect_$what; display_pre_post
done
echo "";
echo "Starting HAS"; echo "";
start_has
echo " "
echo "Starting Any Portdaemon Services if any "; echo "";
start_portutil
if [[ $OS != "AIX" ]]; then
echo "Waiting for 4 minutes to allow all the CRS processes to come up"
for i in {1..4}
do
echo -n -e ‘ ‘
for i in {1..60}
do
echo -n ".";sleep 1;
done
echo "";
done
else
echo "Waiting for 4 minutes to allow all the CRS processes to come up"
i=1
while [[ $i -le 120 ]] ; do
echo ".\c";sleep 1;
i=$(expr $i + 1)
done
echo ""
i=1
while [[ $i -le 120 ]] ; do
echo ".\c";sleep 1;
i=$(expr $i + 1)
done
fi
start_esm
start_dma
why=start;
for what in esm dma asm lsnr crs portutil
do
when=post; collect_$what; display_pre_post
done
echo " "
echo "******************** SUMMARY ********************"
echo ""
for what in esm dma lsnr asm crs portutil
do
started_status
done
echo ""
#Avoid error for SCAN lsnr
if [[ ! -f $OUTPUT_DIRECTORY/started_lsnr.log ]]; then
touch $OUTPUT_DIRECTORY/started_lsnr.log
fi
if [ "$(cat $OUTPUT_DIRECTORY/started_asm.log)" = yes ] && [ "$(cat $OUTPUT_DIRECTORY/started_lsnr .log)" = yes ] && [ "$(cat $OUTPUT_DIRECTORY/started_crs.log)" = yes ] && [ "$(cat $OUTPUT_DIRECTORY/started_portutil.log) " = yes ]
then
echo "1" > $OUTPUT_DIRECTORY/bl_start_crs_flag.log
echo ""
echo "SUCCESS : Ready to move to next step" | tee -a ${LOG}
echo ""
# Deal with lsnr check seperately due to SCAN lsnr
elif [ "$(cat $OUTPUT_DIRECTORY/started_asm.log)" = yes ] && [ "$(cat $OUTPUT_DIRECTORY/started_ls nr.log)" != yes ] && [ "$(cat $OUTPUT_DIRECTORY/started_crs.log)" = yes ] && [ "$(cat $OUTPUT_DIRECTORY/started_portutil.l og)" = yes ]
then
echo "1" > $OUTPUT_DIRECTORY/bl_start_crs_flag.log
echo ""
echo "SUCCESS : Ready to move to next step" | tee -a ${LOG}
echo ""
else
echo "0" > $OUTPUT_DIRECTORY/bl_start_crs_flag.log
echo ""
echo "ATTENTION : Some services didn’t start. Please check" | tee -a ${LOG}
echo ""
fi
else
echo "ATTENTION : CRS appears to be running already. Please check." | tee -a ${LOG}
echo "" | tee -a ${LOG}
fi
assign_log
insert_repdb
echo "**************************************************"
;;
"rac_11g")
echo "" ;
echo "—————————————————————————————" >> ${LOG};
echo "—————————> THIS IS A 11g CLUSTERWARE SYSTEM <————————- " >> ${LOG};
echo "—————————————————————————————" >> ${LOG}; echo "" >> ${LOG}
if [ "$(ps -ef | grep pmon | grep -v grep |grep -v "+ASM" | grep -v "\-MGMTDB" | grep -v onitor | wc -l)" -eq 0 ]
then
why=stop;
for what in esm dma asm lsnr crs portutil
do
when=pre; collect_$what; display_pre_post
done
echo "";
echo "Starting HAS"; echo "";
start_has
echo " "
echo "Starting Any Portdaemon Services if any "; echo "";
start_portutil
if [[ $OS != "AIX" ]]; then
echo "Waiting for 4 minutes to allow all the CRS processes to come up"
for i in {1..4}
do
echo -n -e ‘ ‘
for i in {1..60}
do
echo -n ".";sleep 1;
done
echo "";
done
else
echo "Waiting for 4 minutes to allow all the CRS processes to come up"
i=1
while [[ $i -le 120 ]] ; do
echo ".\c";sleep 1;
i=$(expr $i + 1)
done
echo ""
i=1
while [[ $i -le 120 ]] ; do
echo ".\c";sleep 1;
i=$(expr $i + 1)
done
fi
start_esm
start_dma
why=start;
for what in esm dma asm lsnr crs portutil
do
when=post; collect_$what; display_pre_post
done
echo " "
echo "******************** SUMMARY ********************"
echo ""
for what in esm dma asm crs portutil
do
started_status
done
#Avoid error for SCAN lsnr
if [[ ! -f $OUTPUT_DIRECTORY/started_lsnr.log ]]; then
touch $OUTPUT_DIRECTORY/started_lsnr.log
fi
echo ""
if [ "$(cat $OUTPUT_DIRECTORY/started_asm.log)" = yes ] && [ "$(cat $OUTPUT_DIRECTORY/started_lsnr .log)" = yes ] && [ "$(cat $OUTPUT_DIRECTORY/started_crs.log)" = yes ] && [ "$(cat $OUTPUT_DIRECTORY/started_portutil.log) " = yes ]
then
echo "1" > $OUTPUT_DIRECTORY/bl_start_crs_flag.log
echo ""
echo "SUCCESS : Ready to move to next step" | tee -a ${LOG}
echo ""
# Deal with lsnr check seperately due to 11g SCAN
elif [ "$(cat $OUTPUT_DIRECTORY/started_asm.log)" = yes ] && [ "$(cat $OUTPUT_DIRECTORY/started_ls nr.log)" != yes ] && [ "$(cat $OUTPUT_DIRECTORY/started_crs.log)" = yes ] && [ "$(cat $OUTPUT_DIRECTORY/started_portutil.l og)" = yes ]
then
echo "1" > $OUTPUT_DIRECTORY/bl_start_crs_flag.log
echo ""
echo "SUCCESS : Ready to move to next step" | tee -a ${LOG}
echo ""
else
echo "0" > $OUTPUT_DIRECTORY/bl_start_crs_flag.log
echo ""
echo "ATTENTION : Some services didn’t start. Please check" | tee -a ${LOG}
echo ""
fi
else
echo "ATTENTION : CRS appears to be running already. Please check." | tee -a ${LOG}
echo "" | tee -a ${LOG}
fi
assign_log
insert_repdb
echo "**************************************************"
;;
"rac_10g")
echo "" ;
echo "—————————————————————————————" >> ${LOG};
echo "—————————> THIS IS A 10g CLUSTERWARE SYSTEM <————————- " >> ${LOG};
echo "—————————————————————————————" >> ${LOG}; echo "" >> ${LOG}
if [ "$(ps -ef | grep pmon | grep -v grep |grep -v "+ASM" | grep -v "\-MGMTDB" | grep -v onitor | wc -l)" -eq 0 ]
then
why=stop;
for what in esm dma crs portutil
do
when=pre; collect_$what; display_pre_post
done
echo "";
echo "Starting CRS"; echo "";
start_crs
echo " "
echo "Starting Any Portdaemon Services if any "; echo "";
start_portutil
if [[ $OS != "AIX" ]]; then
echo "Waiting for 4 minutes to allow all the CRS processes to come up"
for i in {1..4}
do
echo -n -e ‘ ‘
for i in {1..60}
do
echo -n ".";sleep 1;
done
echo "";
done
else
echo "Waiting for 4 minutes to allow all the CRS processes to come up"
i=1
while [[ $i -le 120 ]] ; do
echo ".\c";sleep 1;
i=$(expr $i + 1)
done
echo ""
i=1
while [[ $i -le 120 ]] ; do
echo ".\c";sleep 1;
i=$(expr $i + 1)
done
fi
start_esm
start_dma
why=start;
for what in esm dma crs portutil
do
when=post; collect_$what; display_pre_post
done
echo " "
echo "******************** SUMMARY ********************"
echo ""
for what in esm dma crs portutil
do
started_status
done
echo ""
if [ "$(cat $OUTPUT_DIRECTORY/started_crs.log)" = yes ]
then
echo "1" > $OUTPUT_DIRECTORY/bl_start_crs_flag.log
echo ""
echo "SUCCESS : Ready to move to next step" | tee -a ${LOG}
echo ""
else
echo "0" > $OUTPUT_DIRECTORY/bl_start_crs_flag.log
echo ""
echo "ATTENTION : Some services didn’t start. Please check" | tee -a ${LOG}
echo ""
fi
else
echo "ATTENTION : CRS appears to be running already. Please check." | tee -a ${LOG}
echo "" | tee -a ${LOG}
fi
assign_log
insert_repdb
echo "**************************************************"
;;
"norac_asm12c")
echo "" ;
echo "—————————————————————————————" >> ${LOG};
echo "————————-> THIS IS A NON-RAC SYSTEM BUT WITH ASM 12c <—————– " >> ${LOG};
echo "—————————————————————————————" >> ${LOG}; echo "" >> ${LOG}
if [ "$(ps -ef | grep pmon | grep -v grep |grep -v "+ASM" | grep -v "\-MGMTDB" | grep -v onitor | wc -l)" -eq 0 ]
then
why=stop;
for what in esm dma asm lsnr crs portutil
do
when=pre; collect_$what; display_pre_post
done
echo "";
echo "Starting HAS"; echo "";
start_has
echo " "
echo "Starting Any Portdaemon Services if any "; echo "";
start_portutil
if [[ $OS != "AIX" ]]; then
echo "Waiting for 4 minutes to allow all the CRS processes to come up"
for i in {1..4}
do
echo -n -e ‘ ‘
for i in {1..60}
do
echo -n ".";sleep 1;
done
echo "";
done
else
echo "Waiting for 4 minutes to allow all the CRS processes to come up"
i=1
while [[ $i -le 120 ]] ; do
echo ".\c";sleep 1;
i=$(expr $i + 1)
done
echo ""
i=1
while [[ $i -le 120 ]] ; do
echo ".\c";sleep 1;
i=$(expr $i + 1)
done
fi
start_esm
start_dma
why=start;
for what in esm dma asm lsnr crs portutil
do
when=post; collect_$what; display_pre_post
done
echo " "
echo "******************** SUMMARY ********************"
echo ""
for what in esm dma asm lsnr crs portutil
do
started_status
done
echo ""
if [ "$(cat $OUTPUT_DIRECTORY/started_asm.log)" = yes ] && [ "$(cat $OUTPUT_DIRECTORY/started_lsnr .log)" = yes ] && [ "$(cat $OUTPUT_DIRECTORY/started_crs.log)" = yes ] && [ "$(cat $OUTPUT_DIRECTORY/started_portutil.log) " = yes ]
then
echo "1" > $OUTPUT_DIRECTORY/bl_start_crs_flag.log
echo ""
echo "SUCCESS : Ready to move to next step" | tee -a ${LOG}
echo ""
else
echo "0" > $OUTPUT_DIRECTORY/bl_start_crs_flag.log
echo ""
echo "ATTENTION : Some services didn’t start. Please check" | tee -a ${LOG}
echo ""
fi
else
echo "ATTENTION : CRS appears to be running already. Please check." | tee -a ${LOG}
echo "" | tee -a ${LOG}
fi
assign_log
insert_repdb
echo "**************************************************"
;;
"norac_asm11g")
echo "" ;
echo "—————————————————————————————" >> ${LOG};
echo "————————-> THIS IS A NON-RAC SYSTEM BUT WITH ASM 11g <—————– " >> ${LOG};
echo "—————————————————————————————" >> ${LOG}; echo "" >> ${LOG}
if [ "$(ps -ef | grep pmon | grep -v grep |grep -v "+ASM" | grep -v "\-MGMTDB" | grep -v onitor | wc -l)" -eq 0 ]
then
why=stop;
for what in esm dma asm lsnr crs portutil
do
when=pre; collect_$what; display_pre_post
done
echo "";
echo "Starting HAS"; echo "";
start_has
echo " "
echo "Starting Any Portdaemon Services if any "; echo "";
start_portutil
if [[ $OS != "AIX" ]]; then
echo "Waiting for 4 minutes to allow all the CRS processes to come up"
for i in {1..4}
do
echo -n -e ‘ ‘
for i in {1..60}
do
echo -n ".";sleep 1;
done
echo "";
done
else
echo "Waiting for 4 minutes to allow all the CRS processes to come up"
i=1
while [[ $i -le 120 ]] ; do
echo ".\c";sleep 1;
i=$(expr $i + 1)
done
echo ""
i=1
while [[ $i -le 120 ]] ; do
echo ".\c";sleep 1;
i=$(expr $i + 1)
done
fi
start_esm
start_dma
why=start;
for what in esm dma asm lsnr crs portutil
do
when=post; collect_$what; display_pre_post
done
echo " "
echo "******************** SUMMARY ********************"
echo ""
for what in esm dma asm lsnr crs portutil
do
started_status
done
echo ""
if [ "$(cat $OUTPUT_DIRECTORY/started_asm.log)" = yes ] && [ "$(cat $OUTPUT_DIRECTORY/started_lsnr .log)" = yes ] && [ "$(cat $OUTPUT_DIRECTORY/started_crs.log)" = yes ] && [ "$(cat $OUTPUT_DIRECTORY/started_portutil.log) " = yes ]
then
echo "1" > $OUTPUT_DIRECTORY/bl_start_crs_flag.log
echo ""
echo "SUCCESS : Ready to move to next step" | tee -a ${LOG}
echo ""
else
echo "0" > $OUTPUT_DIRECTORY/bl_start_crs_flag.log
echo ""
echo "ATTENTION : Some services didn’t start. Please check" | tee -a ${LOG}
echo ""
fi
else
echo "ATTENTION : CRS appears to be running already. Please check." | tee -a ${LOG}
echo "" | tee -a ${LOG}
fi
assign_log
insert_repdb
echo "**************************************************"
;;
"norac_asm10g")
echo "" ;
echo "—————————————————————————————" >> ${LOG};
echo "————————-> THIS IS A NON-RAC SYSTEM BUT WITH ASM 10g <—————- " >> ${LOG};
echo "—————————————————————————————" >> ${LOG}; echo "" >> ${LOG}
echo " Checking the status of ESM & DMA agents" | tee -a ${LOG}; echo -e "\n" | tee -a ${ LOG}
why=stop;
for what in esm dma portutil
do
when=pre; collect_$what; display_pre_post
done
start_esm
start_dma
echo " "
echo "Starting Any Portdaemon Services if any "; echo "";
start_portutil
why=start;
for what in esm dma portutil
do
when=post; collect_$what; display_pre_post
done
echo -e ‘ \t ‘ "******************** SUMMARY ********************"
echo -e "\n"
for what in esm dma
do
started_status
done
echo "1" > $OUTPUT_DIRECTORY/bl_start_crs_flag.log
echo -e "\n"
echo -e ‘ \t ‘ "SUCCESS : Ready to move to next step" | tee -a ${LOG}
echo -e "\n"
assign_log
insert_repdb
;;
"norac_noasm")
echo "" ;
echo "—————————————————————————————" >> ${LOG};
echo "————————–> THIS IS A NON-RAC & NON-ASM SYSTEM <———————– " >> ${LOG};
echo "—————————————————————————————" >> ${LOG}; echo "" >> ${LOG}
echo " This script will check/start any Port daemons and Enable Autostart, If RH7 System it will strat Oracle Ser vice – otherwise it has no relevance to this server " | tee -a ${LOG}; echo "" | tee -a ${LOG}
why=stop;
for what in esm dma portutil
do
when=pre; collect_$what; display_pre_post
done
echo " "
echo "";
start_esm
start_dma
echo " "
echo "Starting Any Portdaemon Services if any "; echo "";
start_portutil
why=start;
for what in esm dma portutil
do
when=post; collect_$what; display_pre_post
done
for what in esm dma
do
started_status
done
echo "";
echo "Enabling Auto-start for this standalone host "; echo "";
enable_standalone_autostart
echo "Content of ORATAB on this host : "; echo "";
if [[ -f /etc/oratab ]]; then
echo "`cat /etc/oratab | grep -v "^#" | sort -u `"
fi
echo "";
echo "Content of LSNRTAB on this host : "; echo "";
if [[ -f /etc/lsnrtab ]]; then
echo "`cat /etc/lsnrtab | grep -v "^#" | sort -u `"
fi
if [[ "$RH_VER" == 7.* ]]; then
start_rh7_dbserv
fi
echo "";
echo "1" > $OUTPUT_DIRECTORY/bl_start_crs_flag.log
echo ""
echo "SUCCESS : Ready to move to next step" | tee -a ${LOG}
echo ""
assign_log
insert_repdb
;;
*)
echo "Invalid Selection"
esac
chmod 777 $OUTPUT_DIRECTORY/pre_stop*.log 1> /dev/null 2>&1
chmod 777 $OUTPUT_DIRECTORY/post_start*.log 1> /dev/null 2>&1
chmod 777 $OUTPUT_DIRECTORY/started*.log 1> /dev/null 2>&1
chmod 777 $OUTPUT_DIRECTORY/start_crs*.log 1> /dev/null 2>&1
chmod 777 $OUTPUT_DIRECTORY/bl_start*.log 1> /dev/null 2>&1
#chown oracle:dba $OUTPUT_DIRECTORY/pre_stop*.log 1> /dev/null 2>&1
#chown oracle:dba $OUTPUT_DIRECTORY/post_start*.log 1> /dev/null 2>&1
#chown oracle:dba $OUTPUT_DIRECTORY/started*.log 1> /dev/null 2>&1
#chown oracle:dba $OUTPUT_DIRECTORY/start_crs*.log 1> /dev/null 2>&1
#chown oracle:dba $OUTPUT_DIRECTORY/bl_start*.log 1> /dev/null 2>&1
if ls $OUTPUT_DIRECTORY/Portdaemon* 1> /dev/null 2>&1; then
chmod 777 $OUTPUT_DIRECTORY/Portdaemon*
#chown oracle:dba $OUTPUT_DIRECTORY/Portdaemon*
fi
filename=$(echo $(hostname) | cut -d. -f1)_$(date ‘+%m%d%Y_%H%M%S’)
mv ${LOG} $OUTPUT_DIRECTORY/start_crs_$filename.log
echo "************************************************************************************************************";
echo "Please check the detailed CRS START report at $OUTPUT_DIRECTORY/start_crs_$filename.log"
echo "************************************************************************************************************";
echo ""
echo ""
1419,1 Bot
echo "Content of LSNRTAB on this host : "; echo "";
if [[ -f /etc/lsnrtab ]]; then
echo "`cat /etc/lsnrtab | grep -v "^#" | sort -u `"
fi
if [[ "$RH_VER" == 7.* ]]; then
start_rh7_dbserv
fi
echo "";
echo "1" > $OUTPUT_DIRECTORY/bl_start_crs_flag.log
echo ""
echo "SUCCESS : Ready to move to next step" | tee -a ${LOG}
echo ""
assign_log
insert_repdb
;;
*)
echo "Invalid Selection"
esac
chmod 777 $OUTPUT_DIRECTORY/pre_stop*.log 1> /dev/null 2>&1
chmod 777 $OUTPUT_DIRECTORY/post_start*.log 1> /dev/null 2>&1
chmod 777 $OUTPUT_DIRECTORY/started*.log 1> /dev/null 2>&1
chmod 777 $OUTPUT_DIRECTORY/start_crs*.log 1> /dev/null 2>&1
chmod 777 $OUTPUT_DIRECTORY/bl_start*.log 1> /dev/null 2>&1
#chown oracle:dba $OUTPUT_DIRECTORY/pre_stop*.log 1> /dev/null 2>&1
#chown oracle:dba $OUTPUT_DIRECTORY/post_start*.log 1> /dev/null 2>&1
#chown oracle:dba $OUTPUT_DIRECTORY/started*.log 1> /dev/null 2>&1
#chown oracle:dba $OUTPUT_DIRECTORY/start_crs*.log 1> /dev/null 2>&1
#chown oracle:dba $OUTPUT_DIRECTORY/bl_start*.log 1> /dev/null 2>&1
if ls $OUTPUT_DIRECTORY/Portdaemon* 1> /dev/null 2>&1; then
chmod 777 $OUTPUT_DIRECTORY/Portdaemon*
#chown oracle:dba $OUTPUT_DIRECTORY/Portdaemon*
fi
filename=$(echo $(hostname) | cut -d. -f1)_$(date ‘+%m%d%Y_%H%M%S’)
mv ${LOG} $OUTPUT_DIRECTORY/start_crs_$filename.log
echo "************************************************************************************************************";
echo "Please check the detailed CRS START report at $OUTPUT_DIRECTORY/start_crs_$filename.log"
echo "************************************************************************************************************";
echo ""
echo ""
[/code]