# Scripts are only used for communication and learning!
# The current script version is 1. 0. implements the detection of physical memory and swap space. The RPM package is automatically installed (you need to configure Yum or attach the disc. If you have copied all the required RPM packages to a directory, OK .), user and User Group Creation, software environment variable configuration, system kernel parameter configuration, and other functions. after the script is successfully executed, decompress the Oracle Installation Package and enable the graphical installation of runInstaller. # The script has passed the test on Red Hat Enterprise Linux 5.4 64bit (Oracle 10g/Oracle11g ). it is applicable in principle to RHEL 5 and RHEL 6. # suggestions for improvement are welcome.
# Scripts can be downloaded through attachments
#!/bin/bash# Version 1.0# AUTHOR: Xin23 http://weibo.com/231988#1.Oracle Version and SystemGetOracleVersion() { read -p "Which Version of Oracle You Will Install? [11|10]? " VERSION}GetOracleVersionSetVersion() {if [ $VERSION -eq 11 ] then echo 'Oracle Version is 11! 'elif [ $VERSION -eq 10 ] then echo 'Oracle Version is 10! 'else echo 'Please Retype The Version of Oracle You Will Install! ' GetOracleVersion SetVersionfi}SetVersionMEMORY=$(cat /proc/meminfo | grep MemTotal | awk '{print $2}')SWAP=$(cat /proc/meminfo | grep SwapTotal | awk '{print $2}')MEMORY_REQ=1048576if [ $MEMORY -lt $MEMORY_REQ ] then echo 'Physical Memory is too small! ' exit 1else echo 'Physical Memory Check OK! 'fiif [ $VERSION -eq 10 ] then if [ $MEMORY -lt 2097152 ] then if [ $SWAP -lt $(echo "$MEMORY*3/2"|bc) ] then echo 'Swap is too small! ' exit 2 else echo 'Swap Check OK! ' fi elif [ $MEMORY -gt 2097152 ] || [ $MEMORY -lt 8388608 ] then if [ $SWAP -lt $MEMORY ] then echo 'Swap is too small! ' exit 2 else echo 'Swap Check OK! ' fi elif [ $MEMORY -gt 8388608 ] then if [ $SWAP -lt $(echo "$MEMORY*3/4"|bc) ] then echo 'Swap is too small! ' exit 2 else echo 'Swap Check OK! ' fi fielif [ $VERSION -eq 11 ] then if [ $MEMORY -lt 2097152 ] then if [ $SWAP -lt $(echo "$MEMORY*3/2"|bc) ] then echo 'Swap is too small! ' exit 2 else echo 'Swap Check OK! ' fi elif [ $MEMORY -gt 2097152 ] || [ $MEMORY -lt 16777216 ] then if [ $SWAP -lt $MEMORY ] then echo 'Swap is too small! ' exit 2 else echo 'Swap Check OK! ' fi elif [ $MEMORY -gt 16777216 ] then if [ $SWAP -lt 16777216 ] then echo 'Swap is too small! ' exit 2 else echo 'Swap Check OK! ' fi fifiecho 'Oracle Version and System hardware has been checked! '#2.SoftwareRpm() {rpm -ivh compat-libstdc++*rpm -ivh compat-libstdc++*rpm -ivh elfutils-libelf*i386.rpmrpm -ivh elfutils-libelf*x86_64.rpmrpm -ivh elfutils-libelf-devel-static*x86_64.rpm elfutils-libelf-devel*x86_64.rpmrpm -ivh elfutils-libelf-devel-static*i386.rpm elfutils-libelf-devel*i386.rpmrpm -ivh libaio-devel*rpm -ivh sysstat*rpm -ivh unixODBC-[[:digit:]]*rpm -ivh unixODBC-devel*rpm -ivh kernel-headers*rpm -ivh glibc-headers*rpm -ivh glibc-devel*rpm -ivh libgomp*rpm -ivh libstdc++-devel*x86_64.rpmrpm -ivh libstdc++-devel*i386.rpmrpm -ivh gcc-[[:digit:]]*rpm -ivh gcc-c++*rpm -ivh libXp-[[:digit:]]*}Yum() { yum -y install compat-libstdc++ yum -y install elfutils-libelf-devel-static yum -y install elfutils-libelf-devel yum -y install libaio-devel yum -y install sysstat yum -y install unixODBC yum -y install unixODBC-devel yum -y install kernel-headers yum -y install glibc-headers yum -y install glibc-devel yum -y install libgomp yum -y install gcc yum -y install gcc-c++ yum -y install libstdc++-devel yum -y install libXp}GetYum() { read -p "Have you config the yum? [y|n] " YUM }GetYumRetroYum() {if [ $YUM = y ] then Yumelif [ $YUM = n ] then read -p "Please input rpm package's location: " MEDIA_DIR cd $MEDIA_DIR Rpmelse GetYum RetroYumfi}RetroYumecho 'Necessary RPM Package has been installed! '#3.User and Groupsgroupadd oinstallgroupadd dbauseradd -g oinstall -G dba oraclemkdir -p /u01/app/oracle;chown -R oracle:oinstall /u01read -p "Please input password for user oracle: " PASSWORDecho "$PASSWORD" | passwd --stdin oracleecho 'User and Group has been Created! '#4.Environmentread -p "Please input ORACLE SID: " SIDsu -c "echo 'export ORACLE_BASE=/u01/app/oracle' >> ~/.bash_profile" oraclesu -c "echo 'export ORACLE_SID=$SID' >> ~/.bash_profile" oracleexport ORACLE_BASE=/u01/app/oracleif [ $VERSION = 11 ] then su -c 'echo "export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1" >> ~/.bash_profile' oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1elif [ $VERSION = 10 ] then su -c 'echo "export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1" >> ~/.bash_profile' oracle export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1else exit 3fisu -c 'echo "export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin" >> ~/.bash_profile' oracleecho 'Software Enviroment has been finished! '#5.Operate System and Kernel Parametersread -p "Please input your ip address: " IP_ADDRESSecho "$IP_ADDRESS $(hostname)" >> /etc/hostsecho 'fs.aio-max-nr = 1048576' >> /etc/sysctl.confecho 'fs.file-max = 6815744' >> /etc/sysctl.confecho 'kernel.shmmni = 4096' >> /etc/sysctl.confecho 'kernel.sem = 250 32000 100 128' >> /etc/sysctl.confecho 'net.core.rmem_default = 262144' >> /etc/sysctl.confecho 'net.core.rmem_max = 4194304' >> /etc/sysctl.confecho 'net.core.wmem_default = 262144' >> /etc/sysctl.confecho 'net.core.wmem_max = 1048586' >> /etc/sysctl.confif [ $VERSION = 11 ] then echo 'net.ipv4.ip_local_port_range = 9000 65500' >> /etc/sysctl.confelif [ $VERSION = 10 ] then echo 'net.ipv4.ip_local_port_range = 1024 65000' >> /etc/sysctl.conffisysctl -pecho 'oracle soft nproc 2047' >> /etc/security/limits.confecho 'oracle hard nproc 16384' >> /etc/security/limits.confecho 'oracle soft nofile 1024' >> /etc/security/limits.confecho 'oracle hard nofile 65536' >> /etc/security/limits.confecho 'oracle soft stack 10240' >> /etc/security/limits.confecho 'Operate System and Kernel Parameter has been finished! 'echo 'Now You Can Run runInstaller to start Installation of Oracle! '
THE END
This article is from the "Xin23 journal account" blog and will not be reproduced!