Welcome 微信登录

首页 / 数据库 / MySQL / Oracle11.2.0.1在Linux-X64下安装脚本-

Oracle在linux上安装前需要做一系列的配置;每次搭建环境如果都手动执行有点慢;
这里写了两个脚本,实现自动化配置和安装,目前在自己的CentOS6.3的linux模板上安装成功;
在其他系统上未测试,使用前,要先理解脚本,配置好一个网卡的静态IP地址,适当修改后再操作;
脚本由一系列函数,顺序组成;#!/bin/bash
#set -x
echo "Start Configure Oracle Environment For Install......................... "
time=`date +%Y%m%d_%H%M%S`
flag="####################################################################"
#备份配置文件,很简单,仅仅是复制一下将要修改的系统配置文件;复制了两份,便于恢复
backup_config(){
    #echo "$flag"
    echo "#########################Step 1:backup system config that will be modified###########################"
    cp /etc/sysconfig/network /etc/sysconfig/network.bak${time}
    cp /etc/sysctl.conf /etc/sysctl.conf.bak${time}
    cp /etc/security/limits.conf /etc/security/limits.conf.bak${time}
    cp /etc/pam.d/login /etc/pam.d/login.bak${time}
    cp /etc/profile /etc/profile.bak${time}
    cp /home/oracle/.bash_profile /home/oracle/.bash_profile.bak${time}
    cp /etc/selinux/config /etc/selinux/config.bak${time}
   
    cp /etc/sysconfig/network /etc/sysconfig/network.bak
    cp /etc/sysctl.conf /etc/sysctl.conf.bak
    cp /etc/security/limits.conf /etc/security/limits.conf.bak
    cp /etc/pam.d/login /etc/pam.d/login.bak
    cp /etc/profile /etc/profile.bak
    cp /home/oracle/.bash_profile /home/oracle/.bash_profile.bak
    cp /etc/selinux/config /etc/selinux/config.bak
}
#获取当前系统信息,配置hostname,关闭selinux
sys_info()
{
    #echo "$flag"
    echo "check system space and version";
    echo "#########################Step 2:check system space and versio#########################################"
    uname -a
    cat /etc/*release
    df -h
    hostname
    ip_add=`ifconfig  | grep "inet addr:"| grep -v "127.0.0.1" |cut -d: -f2 | awk "{ print $1}"`
    ip_code=`ifconfig  | grep "inet addr:"| grep -v "127.0.0.1" |cut -d: -f2 | awk "{ print $1}"|cut -d. -f4`
    echo "$ip_add oraserver${ip_code}" >> /etc/hosts
    sed -i "/HOSTNAME=/s/localhost.localdomain/oraserver""${ip_code}""/" /etc/sysconfig/network
    sed -i "/SELINUX=/s/enforcing/disabled/" /etc/selinux/config
    hostname oraserver${ip_code}
}
#安装需要的依赖包,不同的系统当然定制的RPM不一样,这一步大可手工检查
rpm_info()
{
    echo "#########################Step 2:install oracle rpms ###################################################"
    rpm -q  binutils compat-libstdc++ elfutils-libelf  elfutils-libelf-devel  gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ make numactl-devel sysstat unixODBC unixODBC-devel elfutils-libelf-devel-static kernel-headers libgomp
    rpm -ivh /root/rpm-centos/lrzsz-0.12.20-27.1.el6.x86_64.rpm
    rpm -ivh /root/rpm-centos/compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm
    rpm -ivh /root/rpm-centos/unixODBC*
    rpm -ivh /root/rpm-centos/libaio*
    rpm -ivh /root/rpm-centos/numactl*
    rpm -ivh /root/rpm-centos/sysstat*
    rpm -ivh /root/rpm-centos/unzip-6.0-1.el6.x86_64.rpm
    rpm -ivh /root/rpm-centos/ksh-20100621-16.el6.x86_64.rpm
    rpm -ivh /root/rpm-centos/elfutils-libs-0.152-1.el6.x86_64.rpm
    rpm -ivh /root/rpm-centos/elfutils-libelf-devel*
    echo "##########After Install essential rpms"
    rpm -q  binutils compat-libstdc++ elfutils-libelf  elfutils-libelf-devel  gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ make numactl-devel sysstat unixODBC unixODBC-devel elfutils-libelf-devel-static kernel-headers libgomp
}
#创建oracle用户、相关目录、允许oracle以sudo来以root用户执行脚本
oracle_user()
{
    echo "#########################Step 3:add oracle user and group,create directory #############################"
    groupadd oinstall
    groupadd dba
    useradd -g oinstall -G dba -d /home/oracle -m -s /bin/bash -c "ORACLE" oracle
    echo "oracle:oracle" > /root/oracle_pass
    chpasswd < /root/oracle_pass
    rm -rf /root/oracle_pass
    id oracle;
    id nobody;
    echo "";
    echo "##########create oracle directory"
    mkdir -p /oracle;
    mkdir -p /oracle/oraInventory;
    chown -R oracle:oinstall /oracle;
    chmod -R 775 /oracle/;
    echo "##########Add Oracle to sudu user "
    chmod u+w /etc/sudoers
    echo "oracle ALL=(ALL)     ALL" >>/etc/sudoers
    chmod u-w /etc/sudoers
}
#配置内核参数
sysctl_config()
{
echo "#########################Step 4:configure system kernal args ############################################"
cat>>/etc/sysctl.conf<<EOF
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
EOF
sysctl -p
echo "Have sourced the nernel args"
}
#配置安全限制参数等
security_config()
{
echo "";
echo "#########################Step 5:configure security limits args ###########################################"
cat>>/etc/security/limits.conf<< EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
EOF
echo "##########set security login args";
cat>>/etc/pam.d/login<<EOF
session required /lib64/security/pam_limits.so
session required pam_limits.so
EOF
}
#这里安装一个rlwrap的SQLPLUS增强文件,可以使sqlplus使用方向键,方便操作
rlwrap_config()
{
    echo "#########################Step 6:install rlwrap for sqlplus direction#####################################"
    rpm -ivh /root/rpm-centos/readline-devel-6.0-4.el6.x86_64.rpm
    tar -zxvf /root/rpm-centos/rlwrap-0.37-x86_64.tar.gz -C /root > /dev/null
    cd /root/rlwrap-0.37
    echo "configuring rlwrap......"
    ./configure > /dev/null
    echo "making rlwrap......"
    make > /dev/null
    echo "make installing rlwrap......"
    make install > /dev/null
    echo "rlwrap installed finished!"
}
#配置环境变量
environment_config(){
echo "#########################Step 7:config etc profile environment ##############################################"
echo "set oracle profile environment------------------------"
cat >> /etc/profile << EOF
if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
  else
    ulimit -u 16384 -n 65536
  fi
fi
EOF
echo "#########################Step 8:config oracle install environment############################################"
echo "set oracel path and environment-----------------------"
echo "";
ora_profile="/home/oracle/.bash_profile"
cat >> /home/oracle/.bash_profile << EOF
ORACLE_BASE=/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
ORACLE_SID=SDK
PATH=$ORACLE_HOME/bin:PATH=$PATH:$HOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export ORACLE_BASE
export ORACLE_HOME
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
export ORACLE_SID
export PATH
export LD_LIBRARY_PATH
EOF
source $ora_profile
echo "alias sqlplus="/usr/local/bin/rlwrap sqlplus"" >> /home/oracle/.bashrc
echo "alias rman="/usr/local/bin/rlwrap rman"" >> /home/oracle/.bashrc
chmod 775 /home/oracle/.bash*
chown oracle:oinstall /home/oracle/.bash*
}
#必要时恢复配置文件,在运行时先不要调用此函数
restore_config()
{
    echo "$flag"
    cp -r /etc/sysctl.conf.bak /etc/sysctl.conf
    cp -r /etc/security/limits.conf.bak /etc/security/limits.conf
    cp -r /etc/pam.d/login.bak /etc/pam.d/login
    cp -r /etc/profile.bak /etc/profile
    cp -r /home/oracle/.bash_profile.bak /home/oracle/.bash_profile
    cp -r  /etc/sysconfig/network.bak /etc/sysconfig/network
    echo "1.8-###############RESTORE FINISHED#####################################"
}
#依次调用函数来执行,根据需要,注释掉对应的函数
oracle_user;
backup_config;
sys_info;
rpm_info;
sysctl_config;
security_config;
rlwrap_config;
environment_config;
#restore_config;
echo "############################## ....over....##################################################################"
echo "###############Now you should login in by oracle and upload ZIP FILES and install############################"
echo "#############################################################################################################"
  • 1
  • 2
  • 下一页
【内容导航】
第1页:root配置篇第2页:Oracle安装篇
SysBench 0.5 入门教程Linux下MySQL5.6.15-忘记root密码-重置相关资讯      Oracle安装  Oracle11.2.0.1 
  • 在Oracle Linux 4u4上安装Oracle   (05/11/2015 09:16:31)
  • RedHat Linux 6环境下安装Oracle   (01/20/2015 20:02:20)
  • Oracle Linux 6.5安装Oracle 11.2.  (11/26/2014 16:43:56)
  • RedHat+Oracle安装过程中碰到的一  (02/08/2015 20:27:24)
  • CentOS上安装Oracle XE指南  (01/10/2015 17:30:01)
  • 使用NFS安装Oracle软件  (11/05/2014 09:54:17)
本文评论 查看全部评论 (0)
表情: 姓名: 字数