lx86 发表于 2018-8-24 06:32:17

【shell】oracle安装前环境设置

#! /bin/sh  

  
ORACLE_BASE="/u01"
  
BAKFILENAME=`date +"%F-%H%M%S"`.bak
  
SYSCTLCONF="/etc/sysctl.conf"
  
LIMITSCONF="/etc/security/limits.conf"
  
LOGINFILE="/etc/pam.d/login"
  
PROFILE="/etc/profile"
  

  

  
grep oinstall: /etc/group > /dev/null
  
if [ $? -ne 0];then
  
    groupadd oinstall
  
fi
  

  
grep dba: /etc/group > /dev/null
  
if [ $? -ne 0 ];then
  
    groupadd dba
  
fi
  

  
grep oracle: /etc/passwd > /dev/null
  

  
if [ $? -ne 0 ];then
  useradd -g oinstall -G dba oracle
  
      echo "zerostudy" | passwd --stdin oracle
  
fi
  

  
if [ ! -d "$ORACLE_BASE" ];then
  
   mkdir $ORACLE_BASE
  
   chown -R oracle:oinstall $ORACLE_BASE
  
   chmod -R 775 $ORACLE_BASE
  
fi
  

  

  
#edit /etc/sysctl.conf file section
  

  
cp -p $SYSCTLCONF $SYSCTLCONF.$BAKFILENAME
  

  
CHECKNUM=1
  
if [ $CHECKNUM -eq 1 ];then
  
echo "#`date +"%F %T"` ------add section----- "
  
echo "fs.aio-max-nr = 1048576"
  
echo "fs.file-max = 6815744"
  
echo "kernel.shmall = 2097152"
  
echo "kernel.shmmax = 536870912"
  
echo "kernel.shmmni = 4096"
  
echo "kernel.sem = 250 32000 100 128"
  
echo "net.ipv4.ip_local_port_range = 9000 65500"
  
echo "net.core.rmem_default = 262144"
  
echo "net.core.rmem_max = 4194304"
  
echo "net.core.wmem_default = 262144"
  
echo "net.core.wmem_max = 1048586"
  

  
fi >> $SYSCTLCONF
  

  

  
# edit /etc/security/limits.conf file
  

  
cp -p $LIMITSCONF $LIMITSCONF.$BAKFILENAME
  

  
if [ $CHECKNUM -eq 1 ];then
  
echo "#`date +"%F %T"` ------add section----- "
  
echo "oracle         soft    nproc   2047"
  
echo "oracle         hard    nproc   16384"
  
echo "oracle         soft    nofile1024"
  
echo "oracle         hard    nofile65536"
  

  
fi >> $LIMITSCONF
  

  

  

  

  
# edit /etc/pam.d/login file
  

  
cp -p $LOGINFILE $LOGINFILE.$BAKFILENAME
  

  
if [ $CHECKNUM -eq 1 ];then
  

  
echo "#`date +"%F %T"` ------add section----- "
  
echo "session    required   pam_limits.so"
  

  
fi >> $LOGINFILE
  

  

  
# edit /etc/profile file
  

  
cp -p $PROFILE $PROFILE.$BAKFILENAME
  

  

  

  
if [ $CHECKNUM -eq 1 ];then
  

  
echo "#`date +"%F %T"` ------add section----- "
  

  

  
echo 'if [ $USER = "oracle" ]; then'
  
echo '      if [ $SHELL = "/bin/ksh" ]; then'
  
echo "             ulimit -p 16384"
  
echo "            ulimit -n 65536"
  
echo "      else"
  
echo "            ulimit -u 16384 -n 65536"
  
echo "      fi"
  
echo "fi"
  

  
fi >> $PROFILE


页: [1]
查看完整版本: 【shell】oracle安装前环境设置