###################################################################################
## 6. 创建 oracle 用户及安装目录
###################################################################################
echo "###################################################################################"
echo "6. 创建 oracle 用户及安装目录"
echo
echo "创建oracle用户及组"
/usr/sbin/groupadd -g 500 oinstall
/usr/sbin/groupadd -g 501 dba
/usr/sbin/useradd -u 500 -g oinstall -G dba oracle
echo oracle | passwd --stdin oracle
echo
echo "创建oracle安装目录"
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle
echo
echo "修改oracle用户会话限制"
cp /etc/security/limits.conf /etc/security/limits.conf.bak
cat >> /etc/security/limits.conf << "EOF"
#########################################
#add for oracle
oraclesoftnofile131072
oraclehardnofile131072
oraclesoftnproc131072
oraclehardnproc131072
oraclesoftcoreunlimited
oraclehardcoreunlimited
oraclesoftmemlock50000000
oraclehardmemlock50000000
EOF
echo
echo
cp /etc/pam.d/login /etc/pam.d/login.bak
cat >> /etc/pam.d/login << "EOF"
##############################################
#add for oracle
session required pam_limits.so
EOF
echo
echo
echo "修改oracle用户资源限制"
cp /etc/profile /etc/profile.bak
cat >> /etc/profile << "EOF"
#########################################
#add for oracle
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
EOF
echo
echo
echo "编辑oracle用户环境变量"
cp /home/oracle/.bash_profile /home/oracle/.bash_profile.bak
cat >> /home/oracle/.bash_profile << "EOF"
#########################################
export LANG=C
export ORACLE_BASE=/u01/app/oracle
export CRS_HOME=$ORACLE_BASE/product/10.2.0/crs
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$CRS_HOME/bin:/usr/sbin:/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
umask 022
EOF
echo
###################################################################################
## 7. 重启操作系统进行修改验证
## 需要人工干预
###################################################################################
###################################################################################
## 检查修改信息
###################################################################################
echo "###################################################################################"
echo "检查修改信息"
echo
echo "-----------------------------------------------------------------------------------"
echo "/etc/selinux/config"
cat /etc/selinux/config
echo
echo "-----------------------------------------------------------------------------------"
echo "/etc/sysctl.conf"
cat /etc/sysctl.conf
echo
echo "-----------------------------------------------------------------------------------"
echo "/etc/modprobe.conf"
cat /etc/modprobe.conf
echo
echo "-----------------------------------------------------------------------------------"
echo "/etc/security/limits.conf"
cat /etc/security/limits.conf
echo
echo "----------------------