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


    #!/bin/bash

    #Test in RHEL 5.5 for 10g

    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
    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
    #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/10.2.0/db_1
    ORACLE_SID=db01
    PATH=$ORACLE_HOME/bin:$PATH
    LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
    NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
    export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBARY_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.--"

  • 相关阅读:
    session验证登陆- 页面跳转
    SQL 语句
    MD5加密
    【JS】布尔逻辑
    一道题
    正则表达式
    被搁置的生活 by刘瑜
    LoadRunner 12下载和安装教程
    Delphi Idhttp Post提交 Aspx/Asp.net 时 500错误的解决办法。
    phpmyadmin 4.x 版本无法看到登录框的处理
  • 原文地址:https://www.cnblogs.com/john2017/p/6364319.html
Copyright © 2020-2023  润新知