本文共 4282 字,大约阅读时间需要 14 分钟。
#!/bin/bash
ip=ifconfig|grep 'inet addr:'|grep -v '127.0.0.1'|cut -d: -f2 |awk '{ print $1}'
hostname=echo $HOSTNAME
echo "$ip $hostname ">>/etc/hostsmem=grep MemTotal /proc/meminfo|awk '{print $2}'
shmmax=$(($mem/2*1024))service iptables stopsed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/configsetenforce 0 #install packages
yum -y install readline unzip binutilsx86_64 glibcx86_64 compat-libstdc++x86_64 elfutils-libelfx86_64 gccx86_64 ksh-x86_64 libaiox86_64 libgccx86_64 libstdc++x86_64 makex86_64 numactl-develx86_64 sysstat-9x86_64 compat-libstdc++i686 compat-libcap libXp libaio
groupadd oinstallgroupadd dbauseradd -g oinstall -G dba oracleecho oracle123|passwd oracle --stdinmkdir -p /data/oracle //$ORACLE_BASEmkdir -p /data/oracle/product/112010/db_1 //$ORACLE_HOMEmkdir /data/oracle/inventorymkdir /data/oracle/oradata //存放数据库目录mkdir /data/oracle/flash_recovery_areachown -R oracle.oinstall /data/oraclechmod -R 775 /data/oraclemkdir /data/packagesora_dir=/data/packagesmv /tmp/oraclepackages.zip $ora_dirchown -R oracle.oinstall $ora_dir##############################################
#modify sysctl.conf ###############################################sed -i -e "s/kernel.shmall./kernel.shmall = 2097152/" -e "s/kernel.shmmax./kernel.shmmax = $shmmax/" /etc/sysctl.confcat >> /etc/sysctl.conf <<donefs.file-max = 6815744kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576fs.aio-max-nr = 1048576donesysctl -p###############################################
#modify /etc/security/limits.conf ################################################cat >> /etc/security/limits.conf << doneoracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536done################################################
#modify /etc/pam.d/login #################################################echo "session required pam_limits.so">>/etc/pam.d/login################################################
################################################
cat >> /etc/profile <<doneif [ \$USER = "oracle" ]; thenif [ \$SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi
fi
donesource /etc/profile################################################
################################################
cat >> /home/oracle/.bash_profile <<doneexport ORACLE_BASE=/data/oracle;export ORACLE_HOME=/data/oracle/product/112010/db_1export ORACLE_SID=orcl;export PATH=\$PATH:\$HOME/bin:\$ORACLE_HOME/binexport LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/usr/libif [ \$USER = "oracle" ]; then
if [ \$SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi umask 022
fi
alias sqlplus='rlwrap sqlplus'alias rman='rlwrap rman'donesource /home/oracle/.bash_profile################################################
################################################
su - oracle -c "cd $ora_dir&&unzip $ora_dir/oraclepackages.zip&&unzip -q $ora_dir/linux.x64_11gR2_database_2of1.zip -d /data/oracle&&unzip -q $ora_dir/linux.x64_11gR2_database_2of2.zip -d /data/oracle"cd $ora_dir&&tar -zxvf rlwrap-0.43.tar.gz&&cd rlwrap-0.43&&./configure&&make&&make installsu - oracle -c "mv $ora_dir/.rsp /data/oracle/database/response/"su - oracle -c "sed -i 's/ORACLE_HOSTNAME./ORACLE_HOSTNAME=echo $RANDOM
' /data/oracle/database/response/db_install.rsp"su - oracle -c "cd /data/oracle/database/&&./runInstaller -silent -responseFile /data/oracle/database/response/db_install.rsp -ignorePrereq"cat << EOF###########################################################################安装完oracle,在root用户执行下面2条命令./data/oracle/inventory/orainstRoot.sh/data/oracle/product/112010/db_1/root.shsu - oraclenetca /silent /responseFile /data/oracle/database/response/netca.rspdbca -silent -responseFile /data/oracle/database/response/dbca.rsp############################################################################EOF 转载于:https://blog.51cto.com/suxiaojin/2169310