• Oracle 11g 安装环境配置脚本


    #!/bin/bash

    #Test in RHEL 5.5 for 11g

    c=`cat /etc/shadow | grep oracle | wc -l`
    if [ $c != 0 ]
    then
      w=0
      while [ $w -eq 0 ]
      do
        echo "--Find user oracle has been existed!--"
        echo "--Do you want to delete user oracle?[yes/no]:"
        read yn
          case $yn in
            "yes")
             gpasswd -d oracle dba
             userdel -r oracle
             rm -fr /home/oracle
             echo "--User oracle has been deleted.--"
             /usr/sbin/groupadd oinstall
             /usr/sbin/groupadd dba
             /usr/sbin/useradd -g oinstall -G dba  oracle
             echo "--Please set user oracle's password--"
             passwd oracle
             echo "--password is ok!--"
             w=1
             ;;
            "no")
             echo "--I will not delete user oracle!--"
             w=1
             ;;
            *)
             echo "--Please input yes or no!--"
             w=0
            ;;
          esac
      done
    else
      /usr/sbin/groupadd oinstall
      /usr/sbin/groupadd dba
      /usr/sbin/useradd -g oinstall -G dba  oracle
      echo "--Please set user oracle's password."
      passwd oracle
      echo "--password is ok!--"
    fi

    mkdir -p /u01/app/oracle
    chown -R oracle:oinstall /u01
    chmod -R 775 /u01

    sed -i '/kernel.shmmax/d' /etc/sysctl.conf
    sed -i '/kernel.shmall/d' /etc/sysctl.conf
    sed -i '/kernel.shmmni/d' /etc/sysctl.conf
    sed -i '/kernel.sem/d' /etc/sysctl.conf
    sed -i '/fs.file-max/d' /etc/sysctl.conf
    sed -i '/net.ipv4.ip_local_port_range/d' /etc/sysctl.conf
    sed -i '/net.core.rmem_default/d' /etc/sysctl.conf
    sed -i '/net.core.rmem_max/d' /etc/sysctl.conf
    sed -i '/net.core.wmem_default/d' /etc/sysctl.conf
    sed -i '/net.core.wmem_max/d' /etc/sysctl.conf

    sed -i "/#fordelbegin/,/#fordelend/d" /etc/sysctl.conf
    cat >> /etc/sysctl.conf << "EOF"
    #fordelbegin#################################
    #use for oracle
    fs.file-max = 6815744
    fs.aio-max-nr = 1048576
    kernel.shmall = 2097152
    kernel.shmmax = 2147483648
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    net.ipv4.ip_local_port_range = 9000 65500
    net.core.rmem_default = 4194304
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 1048576
    #fordelend
    EOF

    /sbin/sysctl -p
    echo "--/ect/sysctl.conf is ok!--"

    sed -i "/#fordelbegin/,/#fordelend/d" /etc/security/limits.conf
    cat >> /etc/security/limits.conf << "EOF"
    #fordelbegin#################################
    #use for oracle
    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
    #fordelend
    EOF
    echo "--/etc/security/limits.conf is ok!--"

    sed -i "/#fordelbegin/,/#fordelend/d" /etc/pam.d/login
    cat >> /etc/pam.d/login << "EOF"
    #fordelbegin#################################
    #use for oracle
    #session required /lib64/security/pam_limits.so  #for 64
    session required /lib/security/pam_limits.so     #for 32
    session required pam_limits.so
    #fordelend
    EOF
    echo "--/etc/pam.d/login is ok!--"

    sed -i "/#fordelbegin/,/#fordelend/d" /etc/profile
    cat >> /etc/profile << "EOF"
    #fordelbegin#################################
    #use for oracle
    if [ $USER = "oracle" ]; then         
        if [ $SHELL = "/bin/ksh" ]; then              
          ulimit -p 16384              
          ulimit -n 65536          
        else              
          ulimit -u 16384 -n 65536             
        fi
    fi
    #fordelend
    EOF
    echo "--/etc/profile is ok!--"

    sed -i "/#fordelbegin/,/#fordelend/d" /home/oracle/.bash_profile
    cat >> /home/oracle/.bash_profile << "EOF"
    #fordelbegin#################################
    #use for oracle
    umask 022
    ORACLE_BASE=/u01/app/oracle
    ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
    ORACLE_SID=db01
    PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
    LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
    NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
    export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH NLS_LANG
    #fordelend
    EOF

    echo "--Please set you oracle_sid:"
    read orasid
    sed -i "s/db01/$orasid/g" /home/oracle/.bash_profile

    source /home/oracle/.bash_profile
    echo "--/home/oracle/.bash_profile is ok!--"

    echo "--Config is OK!--"
    echo "--Dont forget to vi your /etc/hosts.--"

  • 相关阅读:
    服务器IIS禁止通过IP访问
    如何自定义Kubernetes资源
    敏捷 | 无处不在的敏捷思想应用
    敏捷 | 如何做好服务型Scrum Master?
    敏捷 | 如何填好推进的坑?
    敏捷 | 如何正确推进敏捷?
    敏捷 | 如何正确理解敏捷?
    管理 |《技术管理案例课》学习总结(下)
    管理 |《技术管理案例课》学习总结(上)
    《ArcGIS 从基础到实战》书正式出版
  • 原文地址:https://www.cnblogs.com/john2017/p/6364323.html
Copyright © 2020-2023  润新知