Oracle Fusion Middleware 12c Install - "fmwinstallation.sh"

fmwinstallation.sh


#!/bin/sh

###################################################################################
# @author - Loguprasanth                              #
###################################################################################

# Check the User

if [[ $EUID -eq 0 ]]; then
   echo -e "\e[33mThe current user is root or has superuser privilege.\e[97m"
   exit 1
fi

#Load the properties file
source ${PWD}/fmw.properties

#path validation

if [ -d "$SOFTWARE_HOME" ]; then
echo ""
elif [ ! -d "$SOFTWARE_HOME" ]; then
echo -e "\e[31m\e[1mFMW software location ($SOFTWARE_HOME) : No such file or directory\e[0m"
echo "`date` FMW software location ($SOFTWARE_HOME) : No such file or directory" >> fmwinstallation.log;
exit 1
fi

if [ -d "$PATCH_FILE_LOCATION" ]; then
echo ""
elif [ ! -d "$PATCH_FILE_LOCATION" ]; then
echo -e "\e[31m\e[1mPatch file location($PATCH_FILE_LOCATION) : No such file or directory\e[0m"
echo "`date` Patch file location($PATCH_FILE_LOCATION) : No such file or directory" >> fmwinstallation.log;
exit 1
fi


#Java Installation
JAVA_JDK_UP=$(echo "$JAVA_JDK" | tr [:lower:] [:upper:])  #Convert to UpperCase


if  [ "$JAVA_JDK_UP" == "YES" ] ; then

echo -e "\e[32m--------------------------\e[97m"
echo -e "\e[33mJAVA INSTALLATION STARTED\e[97m"
echo -e "\e[32m--------------------------\e[97m"

tar xvzf $SOFTWARE_HOME/jdk-8u131-linux-x64.tar.gz

mkdir -p $MOUNT/$BASE

mv ${PWD}/jdk1.8.0_131 $MOUNT/$BASE/jdk

sed -i '9i export JAVA_HOME=/u01/oracle/products/jdk' ~/.bash_profile


sed -i 's|$PATH|$PATH:$JAVA_HOME/bin|g' ~/.bash_profile

echo -e "\e[33m--------------------------\e[97m"
echo -e "\e[32mJAVA INSTALLATION FINISHED\e[97m"
echo -e "\e[33m--------------------------\e[97m"


else

echo "`date` Skipped JAVA INSTALLATION" >> fmwinstallation.log;
echo -e "\e[32m--------------------------\e[97m"
echo -e "\e[33mSkipped JAVA INSTALLATION\e[97m"
echo -e "\e[32m--------------------------\e[97m"
fi



#Convert to UPPERCASE

INFRA_UP=$(echo "$INFRASTRUCTURE" | tr [:lower:] [:upper:])  #Convert to UpperCase

SOA_UP=$(echo "$SOASUITE" | tr [:lower:] [:upper:])  #Convert to UpperCase

OSB_UP=$(echo "$SERVICEBUS" | tr [:lower:] [:upper:])  #Convert to UpperCase

PATCH_INSTALL_UP=$(echo "$PATCH_INSTALL" | tr [:lower:] [:upper:]) #Convert to UpperCase

#DIRECTORY=ORACLE_HOME ;

ORACLE_HOME_LOG=$(grep -i ORACLE_HOME ${PWD}/fmw.properties | awk -F'=' '{ print $2 }');


## ASSIGNED the INSTALL_TYPE as FUSION MIDDLEWARE INFRASTRUCTURE

sed -i "s|INSTALL_TYPE=|INSTALL_TYPE=Fusion Middleware Infrastructure|g" ${PWD}/fmw.properties

INFRA_OP=$(grep -i INSTALL_TYPE ${PWD}/fmw.properties | awk -F'=' '{ print $2 }');

##LOG DETAILS INFRA
Infra_logvar1=" `date`  <FUSION MIDDLEWARE INFRASTRUCTURE> ORACLE_HOME : $ORACLE_HOME_LOG "
Infra_logvar2=" `date`  <FUSION MIDDLEWARE INFRASTRUCTURE> INSTALL_TYPE : $INFRA_OP"


# Install FMW INFRA

if  [ "$INFRA_UP" == "YES" ] ; then


echo -e "\e[32m--------------------------------------------------------\e[97m"
echo -e "\e[33mFUSION MIDDLEWARE INFRASTRUCTURE STARTED TO INSTALL...\e[97m"
echo -e "\e[32m--------------------------------------------------------\e[97m"

$JAVA_HOME/bin/java -Xmx1024m -jar $SOFTWARE_HOME/fmw_12.2.1.3.0_infrastructure.jar -silent -responseFile ${PWD}/fmw.properties -invPtrLoc $ORACLE_INVENTORY/oraInst.loc

echo $Infra_logvar1 >> fmwinstallation.log; echo $Infra_logvar2 >> fmwinstallation.log;

echo -e "\e[32m------------------------------------------\e[97m"
echo -e "\e[33mFUSION MIDDLEWARE INFRASTRUCTURE FINISHED \e[97m"
echo -e "\e[32m------------------------------------------\e[97m"

else

echo "`date` Skipped INFRASTRUCTURE" >> fmwinstallation.log;

echo -e "\e[32m------------------------\e[97m"
echo -e "\e[33mSkipped INFRASTRUCTURE\e[97m"
echo -e "\e[32m------------------------\e[97m"

fi
## TO nullify the INSTALL_TYPE and ASSIGNED the INSTALL_TYPE as SOA Suite

sed -i "s|INSTALL_TYPE=Fusion Middleware Infrastructure|INSTALL_TYPE=|g" ${PWD}/fmw.properties

sed -i "s|INSTALL_TYPE=|INSTALL_TYPE=SOA Suite|g" ${PWD}/fmw.properties

##LOG DETAILS SOA
SOA_OP=$(grep -i INSTALL_TYPE ${PWD}/fmw.properties | awk -F'=' '{ print $2 }');

Soa_logvar1=" `date` <SOA SUITE> ORACLE_HOME : $ORACLE_HOME_LOG "
Soa_logvar2=" `date` <SOA SUITE> INSTALL_TYPE : $SOA_OP"


##### Install SOA Suite


if  [ "$SOA_UP" == "YES" ] ; then

   echo -e "\e[32m--------------------------------\e[97m"
       echo -e "\e[33mSOA SUITE STARTED TO INSTALL...\e[97m"
   echo -e "\e[32m--------------------------------\e[97m"

   $JAVA_HOME/bin/java -Xmx1024m -jar $SOFTWARE_HOME/fmw_12.2.1.3.0_soa.jar -silent -responseFile ${PWD}/fmw.properties -invPtrLoc $ORACLE_INVENTORY/oraInst.loc

echo $Soa_logvar1 >> fmwinstallation.log; echo $Soa_logvar2 >> fmwinstallation.log;
   
echo -e "\e[32m-------------------------------\e[97m"
        echo -e "\e[33mSOA SUITE INSTALLATION FINISHED\e[97m"
    echo -e "\e[32m--------------------------------\e[97m"

else

echo "`date` Skipped SOA Suite" >> fmwinstallation.log;

echo -e "\e[32m-------------------------------\e[97m"
echo -e "\e[33mSkipped SOA Suite INSTALLATION\e[97m"
echo -e "\e[32m-------------------------------\e[97m"
fi

## TO nullify the INSTALL_TYPE and ASSIGNED the INSTALL_TYPE as Service Bus

sed -i "s|INSTALL_TYPE=SOA Suite|INSTALL_TYPE=|g" ${PWD}/fmw.properties
sed -i "s|INSTALL_TYPE=|INSTALL_TYPE=Service Bus|g" ${PWD}/fmw.properties

##LOG DETAILS OSB
OSB_OP=$(grep -i INSTALL_TYPE ${PWD}/fmw.properties | awk -F'=' '{ print $2 }');

Osb_logvar1=" `date` <SERVICE BUS> ORACLE_HOME : $ORACLE_HOME_LOG "
Osb_logvar2=" `date` <SERVICE BUS> INSTALL_TYPE : $OSB_OP"



##### Install OSB

 if  [ "$OSB_UP" == "YES" ] ; then

   echo -e "\e[32m---------------------------------\e[97m"
           echo -e "\e[33mSERVICE BUS STARTED TO INSTALL...\e[97m"
   echo -e "\e[32m---------------------------------\e[97m"

   $JAVA_HOME/bin/java -Xmx1024m -jar $SOFTWARE_HOME/fmw_12.2.1.3.0_osb.jar -silent -responseFile ${PWD}/fmw.properties -invPtrLoc $ORACLE_INVENTORY/oraInst.loc

echo $Osb_logvar1 >> fmwinstallation.log; echo $Osb_logvar2 >> fmwinstallation.log;
echo -e "\e[32m---------------------------------\e[97m"
echo -e "\e[33mService Bus INSTALLATION FINISHED\e[97m"
echo -e "\e[32m---------------------------------\e[97m"

else

echo "`date` Skipped SERVICE BUS" >> fmwinstallation.log;
echo -e "\e[32m---------------------------------\e[97m"
echo -e "\e[33mSkipped Service Bus INSTALLATION\e[97m"
echo -e "\e[32m---------------------------------\e[97m"
fi


sed -i "s|INSTALL_TYPE=Service Bus|INSTALL_TYPE=|g" ${PWD}/fmw.properties


##### PATCH INSTALLATION

if [ "$PATCH_INSTALL_UP" == YES ]; then

echo "`date` Patch installation Started" >> fmwinstallation.log;
echo -e "\e[32m---------------------------\e[97m"
echo -e "\e[33mPatch installation Started\e[97m"
echo -e "\e[32m---------------------------\e[97m"

for (( i = 1; i <= $NO_OF_PATCHFILE; i++ ))
do
var="PATCH_FILENAME_$i"
echo ${!var}

unzip /u02/patch/${!var} -d $PATCH_HOME
echo "`date` Patch (${!var}) file extracted successfully..." >> fmwinstallation.log;
echo -e "\e[33m--------------------------------------------------------------------\e[97m"
echo -e "\e[32mPatch (${!var}) file extracted successfully... \e[97m"
echo -e "\e[33m--------------------------------------------------------------------\e[97m"

done


#export ORACLE_HOME=$ORACLE_HOME
export PATH=$PATH:$ORACLE_HOME/OPatch

echo "loading.."
echo "`date` Patch Home - $PATCH_HOME" >> fmwinstallation.log;
cd $PATCH_HOME


opatch napply -silent

echo -e "\e[33m----------------------------\e[97m"
echo -e "\e[32mPatch installation Finished\e[97m"
echo -e "\e[33m----------------------------\e[97m"


elif  [ "$PATCH_INSTALL_UP" == NO ]; then

echo "`date` skipped Patch installation" >> fmwinstallation.log;
echo -e "\e[32m---------------------------\e[97m"
echo -e "\e[33mPatch installation skipped\e[97m"
echo -e "\e[32m---------------------------\e[97m"
fi

                                                                  * * *


fmw.properties


# Properties for Install
MOUNT=/u01 
BASE=oracle/products 

# Binary Location
SOFTWARE_HOME=/u01/logu/fmwinstallation/Softwares

##Mention YES / NO for JAVA INSTALLATION (Examples: JAVA_JDK=YES / JAVA_JDK=NO)
JAVA_JDK=no

JAVA_HOME=/u01/oracle/products/jdk

#Oracle Inventory location path##
ORACLE_INVENTORY=/u01/logu/fmwinstallation/Softwares

#The Oracle home location. This can be an existing Oracle Home or a new Oracle Home
ORACLE_HOME=/u01/oracle/products/fmw

##Mention YES / NO for FMW products (Examples: INFRASTRUCTURE=YES / INFRASTRUCTURE=YES )

INFRASTRUCTURE=no

SOASUITE=no

SERVICEBUS=no

#Mention  YES / NO for FMW Patch installation
PATCH_INSTALL=yes

#Provide a patch file name (.zip)
NO_OF_PATCHFILE=2

PATCH_FILE_LOCATION=/u02/patch

PATCH_FILENAME_1="p22526026_122130_Generic.zip"
PATCH_FILENAME_2="p27811634_122130_Generic.zip"

#Extract location
PATCH_HOME=/u01/oracle/products/fmw/patches


######################################
####DO NOT CHANGE BELOW PARAMETERS####
######################################
Response_File_Version=1.0.0.0.0

##[GENERIC]

#Set this to true if you wish to skip software updates
DECLINE_AUTO_UPDATES=true

#My Oracle Support User Name
MOS_USERNAME=

#My Oracle Support Password
#MOS_PASSWORD=<SECURE VALUE>

#If the Software updates are already downloaded and available on your local system, then specify the path to the directory where these patches are available and set SPECIFY_DOWNLOAD_LOCATION to true
AUTO_UPDATES_LOCATION=

#Proxy Server Name to connect to My Oracle Support
SOFTWARE_UPDATES_PROXY_SERVER=

#Proxy Server Port
SOFTWARE_UPDATES_PROXY_PORT=

#Proxy Server Username
SOFTWARE_UPDATES_PROXY_USER=

#Proxy Server Password
#SOFTWARE_UPDATES_PROXY_PASSWORD=<SECURE VALUE>

#The federated oracle home locations. This should be an existing Oracle Home. Multiple values can be provided as comma separated values
FEDERATED_ORACLE_HOMES=

#Set this variable value to the Installation Type selected. e.g. Fusion Middleware Infrastructure With Examples, Fusion Middleware Infrastructure.
INSTALL_TYPE=

                     
                                                                           * * *
NOTE:

fmwinstallation.log

Log file will generate automatically (specified location)






No comments:

Post a Comment