详细内容以下:RAC_AUTO_CONFIG_10G.sh
#!/bin/bash
###################################################################################
## 本文档针对 Red Hat Enterprise Linux Server release 5.X 极端兼容内核 进行 10G RAC 摆设的操作
## 0. 情况信息搜检
## 1. 闭闭过剩的处事,前进操作系统性能战安齐性
## 2. 设置长途图形界面(Xmanager或VNC)
## 3. 设置当地YUM源,安拆操作系统补丁包
## 4. 批改操作系统内核参数
## 5. 设置同享存储
## 6. 创建 oracle 用户及安拆目录
## 7. 重启操作系统进行批改验证
## 8. 执行 CRS 安拆
## 9. 安拆 CRS 10.2.0.5 补丁
## 10. 执行数据库安拆
## 11. 安拆数据库 10.2.0.5 补丁
## 12. 安拆 PSU
## 13. 手工建库
## 14. 参数调解
###################################################################################
###################################################################################
## 0. 情况信息搜检
###################################################################################
echo "###################################################################################"
echo "0. 情况信息搜检"
echo
echo "memory info"
grep MemTotal /proc/meminfo
echo
echo
echo "swap info"
grep SwapTotal /proc/meminfo
echo
echo
echo "tmp info"
df -h /tmp
echo
echo
echo "disk info"
df -h
echo
echo
echo "cpu info"
grep "model name" /proc/cpuinfo
echo
echo
echo "kernel info"
uname -a
echo
echo
echo "release info"
more /etc/redhat-release
RELEASE=`more /etc/redhat-release | awk "{print $1}"`
echo "###################################################################################"
echo
echo
echo
###################################################################################
## 1. 闭闭过剩的处事,前进操作系统性能战安齐性
##
###################################################################################
echo "###################################################################################"
echo "1. 闭闭过剩的处事,前进操作系统性能战安齐性"
echo
chkconfig --level 345 bluetooth off
chkconfig --level 345 cups off
chkconfig --level 345 ip6tables off
chkconfig --level 345 iptables off
chkconfig --level 345 sendmail off
echo
echo
echo "turn off selinux"
SELINUX=`grep ^SELINUX= /etc/selinux/config`
if [ $SELINUX != "SELINUX=disabled" ];then
sed -i "$a SELINUX=disabled" /etc/selinux/config
else
fi
echo
echo "###################################################################################"
echo
echo
echo
###################################################################################
## 2. 设置长途图形界面(Xmanager或VNC)
##
###################################################################################
## | 2.1 通过 xshell 编制登录
## | 挨开 Xmanager - Passive 工具, 利用 Xshell 连接长途处事器
##
## | #export DISPLAY=客户端IP:0.0
## | #xclock
###################################################################################
## 3. 设置当地YUM源,安拆操作系统补丁包
###################################################################################
echo "###################################################################################"
echo "3. 设置当地YUM源,安拆操作系统补丁包"
echo
mkdir -p /media/cdrom
mount /dev/cdrom /media/cdrom
cd /etc/yum.repos.d/
mkdir bak
mv *.repo ./bak/
touch local.repo
# 属意RHEL战CENTOS的YUM设置编制有所不同,遵照操作系统进行对应调解
# --RHEL
# [RHEL]
# name = RHEL
# baseurl=file:///media/cdrom/Server/
# gpgcheck=0
# enabled=1
#
# --CENTOS
# [CENTOS]
# name = CENTOS
# baseurl=file:///media/cdrom/
# gpgcheck=0
# enabled=1
cat >> local.repo << "EOF"
[LOCAL]
name=LOCAL
gpgcheck=0
enabled=1
EOF
echo
if [ $RELEASE = "CentOS" ];then
else
fi
echo
echo "install package"
yum install -y binutils
yum install -y compat-gcc-34 compat-gcc-34-c++ compat-libstdc++-33 compat-libstdc++-296 gcc gcc-c++ glibc-devel glibc-headers glibc libgomp libaio.i386 libgcc.i386 libstdc++-devel libXp libXtst openssl sysstat
echo "finish package install"
echo
echo
echo "check package info"
rpm -q --qf "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH}) " binutils compat-db compat-gcc-34 compat-gcc-34-c++ compat-libstdc++-33 compat-libstdc++-296 compat-libstdc++-33 control-center elfutils-libelf-devel gcc gcc-c++ gdb gdbm glibc glibc-common glibc-devel glibc-headers libgomp libstdc++-devel ksh libaio libaio-devel libgcc libgnome libgnomeui libgomp libstdc++ libstdc++-devel libXp libXtst make openmotif setarch sysstat unixODBC unixODBC-devel util-linux xorg-x11-xinit | grep "not installed"
echo
echo "###################################################################################"
echo
echo
echo
###################################################################################
## 4. 批改操作系统内核参数
###################################################################################
echo "###################################################################################"
echo "4. 批改操作系统内核参数"
echo
cp /etc/sysctl.conf /etc/sysctl.conf.bak
cat >> /etc/sysctl.conf << "EOF"
###################################################################################
# change for oracle install
fs.file-max = 6815744
fs.aio-max-nr = 3145728
kernel.msgmni = 2878
kernel.msgmax = 8192
kernel.msgmnb = 65536
kernel.sem = 250 32000 100 142
kernel.shmmax=34359738368
kernel.shmmni=4096
kernel.shmall=16777216
#vm.nr_hugepages=16384
#kernel.sysrq = 1
net.core.rmem_default = 1048576
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
net.ipv4.tcp_rmem=4096 262144 4194304
net.ipv4.tcp_wmem=4096 262144 262144
net.ipv4.ip_local_port_range = 1024 65500
net.ipv4.tcp_keepalive_time=30
net.ipv4.tcp_keepalive_intvl=60
net.ipv4.tcp_keepalive_probes=9
net.ipv4.tcp_retries2=3
net.ipv4.tcp_syn_retries=2
vm.min_free_kbytes = 51200
vm.swappiness=20
vm.dirty_background_ratio=3
vm.dirty_ratio=15
vm.dirty_expire_centisecs=500
vm.dirty_writeback_centisecs=100
EOF
echo
echo
echo "make kernel change take effect"
/sbin/sysctl -p
echo
echo
echo "add hangcheck-timer mode"
cp /etc/modprobe.conf /etc/modprobe.conf.bak
cat >> /etc/modprobe.conf << "EOF"
options hangcheck-timer hangcheck_tick=1 hangcheck_margin=10 hangcheck_reboot=1
EOF
echo
echo
/sbin/modprobe -v hangcheck-timer
echo
echo
modprobe -l | grep -i hang
echo "###################################################################################"
echo
echo
echo
###################################################################################
## 5. 设置同享存储
##
###################################################################################
# # vi diskinfo.sh
# > diskinfo.tmp
#
# for i in a b c d e f g h i j k l m n o p q r s t u v w x y z;
# do
#
#
# done
#
# sort diskinfo.tmp > diskinfo.rs
# more diskinfo.rs
# rm -f diskinfo.tmp
###################################################################################
## 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
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
oraclesoftmemlock5000000
oraclehardmemlock5000000
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"
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 "-----------------------------------------------------------------------------------"
echo "/etc/pam.d/login"
cat /etc/pam.d/login
echo
echo "-----------------------------------------------------------------------------------"
echo "/etc/profile"
cat /etc/profile
echo
echo "-----------------------------------------------------------------------------------"
echo "/home/oracle/.bash_profile"
cat /home/oracle/.bash_profile
echo
echo "完成安拆初始化设置"
本文出自 “背向天堂” 博客,请务必保存此出处http://recyclebin.blog.51cto.com/805498/1353323
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/504925/viewspace-1114780/ ,如需转载,请注明出处,否则将追究法律责任。