oracle11g安装前期工作准备脚本

每次安装oracle11g前期重复的工作让我十分讨厌,所以编写了一个前期准备工作的脚本,跑完此脚本后,直接就可以安装oracle介质了!!


注意:

此脚本是在redhat6.4下编写的,脚本中标红的地方,可根据自己的环境修改,依赖包是通过本地yum安装的!



—————————————脚本开始—————————————



#!/bin/sh


cat <<EOF  >  /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=DB88

EOF


hostname DB88


cat <<EOF >  /etc/hosts

127.0.0.1    localhost localhost.localdomain localhost4 localhost4.localdomain4

::1          localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.8.88 DB88

EOF


`sed -i ‘s/ONBOOT=no/ONBOOT=yes/g‘ /etc/sysconfig/network-scripts/ifcfg-eth0`



service iptables stop 

 

setenforce 0 


`sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g‘ /etc/selinux/config`


mount -o loop /dev/cdrom  /mnt


rm -rf /etc/yum.repos.d/*


cat <<EOF > /etc/yum.repos.d/server.repo

[server]

name=server

baseurl=file:///mnt/Server

enabled=1

gpgcheck=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 

EOF






yum -y install  binutils-* \

compat-libstdc++-* \

compat-libcap1-* \

elfutils-libelf-* \

elfutils-libelf-devel-* \

gcc* \

gcc-c++-* \

glibc* \

glibc-common-* \

glibc-devel-* \

glibc-headers-* \

ksh-* \

libaio-* \

libaio-devel-* \

libgcc-* \

libstdc++-* \

libstdc++-devel* \

make-* \

sysstat-* \

unixODBC-* \

unixODBC-devel-* \

numactl-devel-* \

pdksh-* \

kernel-headers* \

wget


groupadd oinstall   


groupadd dba


useradd -g oinstall -G dba oracle


echo "oracle" | passwd --stdin oracle


echo "umask 022" >>/home/oracle/.bash_profile 

echo "stty erase ^H" >>/home/oracle/.bash_profile 

echo "PATH=\$PATH:\$HOME/bin" >>/home/oracle/.bash_profile 

echo "TMP=/tmp" >>/home/oracle/.bash_profile 

echo "TMPDIR=\$TMP" >>/home/oracle/.bash_profile 

echo "ORACLE_BASE=/home/oracle/app/oracle" >>/home/oracle/.bash_profile 

echo "ORACLE_HOME=\$ORACLE_BASE/product/11.2.0/db_1" >>/home/oracle/.bash_profile 

echo "ORACLE_SID=ecom" >>/home/oracle/.bash_profile 

echo "ORACLE_TERM=xterm" >>/home/oracle/.bash_profile 

echo "PATH=\$PATH:\$HOME/bin:\$ORACLE_HOME/bin" >>/home/oracle/.bash_profile 

echo "LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib" >>/home/oracle/.bash_profile 

echo "CLASSPATH=\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib" >>/home/oracle/.bash_profile 

echo ‘NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"‘>>/home/oracle/.bash_profile 

echo "NLS_LANG=AMERICAN_AMERICA.ZHS16GBK" >>/home/oracle/.bash_profile 

echo "export EDITOR=vi" >>/home/oracle/.bash_profile 

echo "export TMP TMPDIR ORACLE_TERM CLASSPATH NLS_DATE_FORMAT ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH NLS_LANG EDITOR" >>/home/oracle/.bash_profile 



mkdir -p /home/oracle/app/oracle


chmod -R 777 /home/oracle/app/oracle


chown -R oracle.oinstall /home/oracle

 

cd /tmp


unzip p10404530_112030_Linux-x86-64_1of7.zip 


unzip p10404530_112030_Linux-x86-64_2of7.zip 


rm -rf p10404530_112030_Linux-x86-64_1of7.zip p10404530_112030_Linux-x86-64_2of7.zip 


chmod -R 777 /tmp/database


chown -R oracle.oinstall /tmp/database


echo "Now modify the /etc/security/limits.conf,but backup it named /etc/security/limits.conf.bak before"

cp /etc/security/limits.conf /etc/security/limits.conf.bak

echo "oracle soft nproc 2047" >>/etc/security/limits.conf

echo "oracle hard nproc 16384" >>/etc/security/limits.conf

echo "oracle soft nofile 1024" >>/etc/security/limits.conf

echo "oracle hard nofile 65536" >>/etc/security/limits.conf

echo "grid soft nproc 2047" >>/etc/security/limits.conf

echo "grid hard nproc 16384" >>/etc/security/limits.conf

echo "grid soft nofile 1024" >>/etc/security/limits.conf

echo "grid hard nofile 65536" >>/etc/security/limits.conf

echo "Modifing the /etc/security/limits.conf has been succeed."

echo "Now modify the /etc/pam.d/login,but with a backup named /etc/pam.d/login.bak"

cp /etc/pam.d/login /etc/pam.d/login.bak


echo "session required /lib/security/pam_limits.so" >>/etc/pam.d/login

echo "session required pam_limits.so" >>/etc/pam.d/login


echo "Modifing the /etc/pam.d/login has been succeed."

echo "Now modify the  /etc/profile,but with a backup named  /etc/profile.bak"

cp /etc/profile /etc/profile.bak

echo ‘if [ $USER = "oracle" ]||[ $USER = "grid" ]; then‘ >>  /etc/profile

echo ‘if [ $SHELL = "/bin/ksh" ]; then‘ >> /etc/profile

echo ‘ulimit -p 16384‘ >> /etc/profile

echo ‘ulimit -n 65536‘ >> /etc/profile

echo ‘else‘ >> /etc/profile

echo ‘ulimit -u 16384 -n 65536‘ >> /etc/profile

echo ‘fi‘ >> /etc/profile

echo ‘fi‘ >> /etc/profile

echo "Modifing the /etc/profile has been succeed."


echo "Now modify the /etc/sysctl.conf,but with a backup named /etc/sysctl.bak"

cp /etc/sysctl.conf /etc/sysctl.conf.bak


echo "fs.aio-max-nr = 1048576" >> /etc/sysctl.conf

echo "fs.file-max = 6815744" >> /etc/sysctl.conf

echo "kernel.shmall = 2097152" >> /etc/sysctl.conf

echo "kernel.shmmax = 1054472192" >> /etc/sysctl.conf

echo "kernel.shmmni = 4096" >> /etc/sysctl.conf

echo "kernel.sem = 250 32000 100 128" >> /etc/sysctl.conf

echo "net.ipv4.ip_local_port_range = 9000 65500" >> /etc/sysctl.conf

echo "net.core.rmem_default = 262144" >> /etc/sysctl.conf

echo "net.core.rmem_max = 4194304" >> /etc/sysctl.conf

echo "net.core.wmem_default = 262144" >> /etc/sysctl.conf

echo "net.core.wmem_max = 1048586" >> /etc/sysctl.conf

echo "net.ipv4.tcp_wmem = 262144 262144 262144" >> /etc/sysctl.conf

echo "net.ipv4.tcp_rmem = 4194304 4194304 4194304" >> /etc/sysctl.conf


echo "Modifing the /etc/sysctl.conf has been succeed."

echo "Now make the changes take effect....."

sysctl -p


本文出自 “李鹏飞oracle” 博客,请务必保留此出处http://lipengfei666666.blog.51cto.com/6384154/1635656

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。