Oracle installation script for Linux

Source: Internet
Author: User

# 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!

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.