【shell】oracle安装前环境设置
#! /bin/shORACLE_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]