Tuesday 22 October 2013

How to automate installation script for Oracle Database on Linux :



#########———— Installing Rpm files —–########

#Change directory to /tmp/install
cd /tmp/install
#Install all packages that are not installed during OS installation and that are required packages for Oracle Database 10gR2
echo “Installing rpm packages …”

rpm -Uvh “$(find /media/ -name compat-db*)”
rpm -Uvh “$(find /media/ -name sysstat*)”
rpm -Uvh “$(find /media/ -name libaio-devel*)”
rpm -Uvh “$(find /media/ -name libXp-1*)”

echo “Rpm packages installed


#Add lines to limits.conf file
echo “Changing limits.conf file”
cat >> /etc/security/limits.conf <<EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
EOF
echo “limits.conf file changed successfully


#Add lines to profile to give maximum limit for Oracle user
echo “Changing /etc/profile file ….”
cat >> /etc/profile <<EOF
if [ \$USER = "oracle" ]; then
                                                  if [ \$SHELL = "bin/ksh" ]; then
                                                                ulimit -p 16384
                                                                ulimit -n 65536
                                                  else
                                                                ulimit -u 16384 -n 65536
                                                  fi
                                                  umask 022
fi
EOF
echo “/etc/profile file changed successfully


#Add line to /etc/pam.d/login file
echo “Changing /etc/pam.d/login file …”
cat >> /etc/pam.d/login <<EOF
session required /lib/security/pam_limits.so
EOF
echo “/etc/pam.d/login file changed successfuly


#Add some kernel parameters to /etc/sysctl.conf file
echo “Changing kernel parameters … “

cat >> /etc/sysctl.conf <<EOF
kernel.shmmax = 2147483648
kernel.shmall = 2097152
kernel.shmmni=4096
kernel.sem=250 32000 100 128
fs.file-max=65536
net.ipv4.ip_local_port_range=1024 65000
net.core.rmem_default=1048576
net.core.rmem_max=1048576
net.core.wmem_default=262144
net.core.wmem_max=262144
EOF

echo “Kernel parameters changed successfully

#Save all new kernel parameters

/sbin/sysctl -p

#Add “redhat-4″ line to /etc/redhat-release file

echo “Changing /etc/redhat-release file …”
cp /etc/redhat-release /etc/redhat-release.original
echo “redhat-4″ > /etc/redhat-release
echo “/etc/redhat-release file changed successfully


#Create new groups and “oracle” user and add this user to group
echo “Creating new groups and ‘oracle’ user …”
groupadd oinstall
groupadd dba
useradd -m -g oinstall -G dba -d /home/oracle -s /bin/bash -c “Oracle Software Owner” oracle
passwd oracle
echo “Groups and user created successfully

#Adding Environment Variables
#Adding Environment Variables
cat >> /home/oracle/.bashrc <<EOF
export ORACLE_HOME=/home/oracle/oracle/product/10.2.0/db_1
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH
alias mydb=’export ORACLE_SID=mydb;sqlplus “/ as sysdba”‘
export ORACLE_SID=mydb
EOF
EOF


#Unzip setup of Oracle
echo “Unzipping setup of Oracle 10g Release 2…. “
unzip 10201_database_linux32.zip
echo “Setup file successfully unzipped

#Enter to installation directory and run the installation …
echo “Installation begins …”
cd /tmp/install/database
chmod 755 runInstaller
chmod 755 install/.oui
chmod 755 install/unzip
xhost +
sudo -u oracle /tmp/install/database/runInstaller

No comments:

Post a Comment