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