redhat 6.5安装oracle 11的自动化shell脚本

准备工作:lenovo用户,oracle 11的两个压缩包(p13390677_112040_Linux-x86-64_1of7.zip,p13390677_112040_Linux-x86-64_2of7.zip),pdksh包(pdksh-5.2.14-37.el5_8.1.x86_64.rpm,若不装oracle图形安装时会报错),redhat 6.5 ISO镜像文件插光驱,shell脚本如下,最好以root用户执行脚本,执行完后到/data/database/database/目录下,双击runInstaller可执行文件,选择run选项即进入图形化安装界面:

#! /bin/bash
echo "安装oracle前的准备工作......"
echo "预备工作:利用ISO镜像文件配置本地源"
mkdir -p /mnt/cdrom 
mount -t iso9660 /dev/cdrom /mnt/cdrom 1>/dev/null 
cp /etc/yum.repos.d/rhel-source.repo /etc/yum.repos.d/rhel-source.repo.bak 
echo -e "name=RedHat Local Source">>/etc/yum.repos.d/rhel-source.repo 
echo -e "baseurl=file:///mnt/cdrom">>/etc/yum.repos.d/rhel-source.repo 
echo -e "enabled=1">>/etc/yum.repos.d/rhel-source.repo 
echo -e "gpgcheck=0">>/etc/yum.repos.d/rhel-source.repo 
yum clean all
yum  makecache
echo "======================================================================"
echo "======================================================================"
echo "步骤一:创建运行oracle数据库的系统用户和用户组,创建中......."
echo "创建用户组oinstall和dba.."
sudo groupadd oinstall
sudo groupadd dba
echo "创建oracle用户,并加入用户组oinstall和dba"
sudo useradd -g oinstall -g dba -m oracle
echo "设置用户oralce的密码..."
sudo passwd oracle
echo "查看新建的oracle用户信息"
id oracle
echo "======================================================================"
echo "======================================================================"
echo "步骤二:创建oracle安装目录oracle,解压目录database配置文件目oraInventory......"
sudo mkdir -p /data/oracle 
sudo mkdir -p /data/oraInventory 
sudo mkdir -p /data/database 
echo "设置目录所有者为oinstall用户组的oracle用户"
chown -R oracle:oinstall /data
echo "======================================================================"
echo "======================================================================"
echo "步骤三:安装oracle数据库所依赖的开发环境包Development Tools"
yum grouplist|grep "Development"
yum -y groupinstall Development tools
echo "检查并安装其他一些依赖包和oracle图形安装check时报错的pdksh"
yum -y install binutils* compat-libcap1* compat-libstdc++* gcc* gcc-c++* glibc* glibc-devel* ksh* libaio* 
yum -y install libaio-devel* libgcc* libstdc++* libstdc++-devel* 
yum -y install libXi* libXtst* make* sysstat* elfutils* unixODBC* 
echo "请确保pdksh包存在桌面上"
while true 
    do 
	if [ -e  /home/lenovo/Desktop/pdksh-5.2.14-37.el5_8.1.x86_64.rpm ]; then 
		echo "先删除跟pdksh冲突的ksh依赖"
		sudo rpm -e ksh-20120801-10.el6.x86_64
		sudo rpm -ivh /home/lenovo/Desktop/pdksh-5.2.14-37.el5_8.1.x86_64.rpm 
		break	
	else 
		echo "请将pdksh包复制到桌面" 
		sleep 5
	fi 
    done 
echo "======================================================================"
echo "======================================================================"
echo "步骤四:关闭防火墙并禁止开机启动,关掉selinux"
echo "关闭iptables并禁止自启"
service iptables stop 
service ip6tables stop 
chkconfig iptables off 
echo "关闭Selinux"
sudo sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
echo "======================================================================"
echo "======================================================================"
echo "步骤五:修改内核参数并使之生效"
echo "修改sysctl.conf文件"
sudo echo -e "net.ipv4.icmp_echo_ignore_broadcasts = 1">>/etc/sysctl.conf 
sudo echo -e "net.ipv4.conf.all.rp_filter = 1">>/etc/sysctl.conf 
sudo echo -e "s.file-max = 6815744 ">>/etc/sysctl.conf #设置最大打开文件数
sudo echo -e "fs.aio-max-nr = 1048576">>/etc/sysctl.conf 
sudo echo -e "kernel.shmall = 2097152 ">>/etc/sysctl.conf #共享内存的总量
sudo echo -e "kernel.shmmax = 2147483648">>/etc/sysctl.conf #最大共享内存的段大小
sudo echo -e "kernel.shmmni = 4096">>/etc/sysctl.conf #整个系统共享内存端的最大数
sudo echo -e "kernel.sem = 250 32000 100 128">>/etc/sysctl.conf 
sudo echo -e "net.ipv4.ip_local_port_range = 9000 65500">>/etc/sysctl.conf #可使用的IPv4端口范围
sudo echo -e "net.core.rmem_default = 262144">>/etc/sysctl.conf 
sudo echo -e "net.core.rmem_max= 4194304">>/etc/sysctl.conf 
sudo echo -e "net.core.wmem_default= 262144">>/etc/sysctl.conf 
sudo echo -e "net.core.wmem_max= 1048576">>/etc/sysctl.conf 
sysctl -p #使内核参数生效
echo "限制oracle用户的一些操作"
sudo echo -e "oracle soft nproc 2047">>/etc/security/limits.conf #创建进程数超过2047就告警
sudo echo -e "oracle hard nproc 16384">>/etc/security/limits.conf #创建进程数上限为16384
sudo echo -e "oracle hard nofile 65536">>/etc/security/limits.conf #文件打开数上限为65536
sudo echo -e "oracle hard nofile 1024">>/etc/security/limits.conf  #文件打开数超过1024就告警
echo "======================================================================="
echo "======================================================================="
echo "步骤六:配置安装oracle时用户的环境变量,xuyao oracle yong hu"
echo "添加oracle环境变量"
declare ORACLE_BASE=/data/oracle
declare ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
set -a ORACLE_BASE
set -a ORACLE_HOME
echo -e "export ORACLE_BASE=$ORACLE_BASE">>/home/oracle/.bash_profile #oracle数据库安装目录
echo -e "export ORACLE_HOME=$ORACLE_HOME">>/home/oracle/.bash_profile #oracle安装路径 
echo -e "export ORACLE_SID=orcl">>/home/oracle/.bash_profile #oracle启动数据库实例名
echo -e "export ORACLE_UNQNAME=orcl">>/home/oracle/.bash_profile 
echo -e "export ORACLE_TERM=xterm">>/home/oracle/.bash_profile  #xterm窗口模式安装
echo -e "export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH ">>/home/oracle/.bash_profile #添加系统环境变量
echo -e "export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib">>/home/oracle/.bash_profile #库文件目录
echo -e "export LANG=C ">>/home/oracle/.bash_profile #防止乱码
echo -e "export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK">>/home/oracle/.bash_profile #设置字符集
source /home/oracle/.bash_profile 
echo "======================================================================"
echo "======================================================================"
echo "步骤七:将安装包从桌面移动到/usr/local/src路径下,并解压到/data/database"
mv /home/lenovo/Desktop/p13390677_112040_Linux-x86-64_1of7.zip  /usr/local/src 
mv /home/lenovo/Desktop/p13390677_112040_Linux-x86-64_2of7.zip  /usr/local/src 
unzip /usr/local/src/p13390677_112040_Linux-x86-64_1of7.zip -d /data/database/ 
unzip /usr/local/src/p13390677_112040_Linux-x86-64_2of7.zip -d /data/database/ 

猜你喜欢

转载自blog.csdn.net/boyheroes/article/details/83720921
今日推荐