经常在手上要搭建一堆测试环境,Oracle软件装来装去的,重复步骤做得很烦。解决这种问题,用虚拟机克隆是一种方法。我这里用脚本搞定一些重复性的动作也是一种方法。我分四个脚本来做。
一。检查服务器配置及是否缺少必须的包。
二。脚本化自动化配置系统参数,并提供undo功能。
三。脚本化配置全局和Oracle用户的环境变量。
四。通过脚本静 安装Oracle软件
自动化脚本能省我不少事,中间只有很少一些步骤需要手工操作。 脚本内容仅供参考,还是要以官方指南和实际环境为准。
环境: 仅针对 Oracle 11gR2 for Linux 平台
一。 检查服务器配置及是否缺少必须的包
############################
#
#author:xiongchuanliang
#create date:2012-12-25
#desc:
############################
#Oracle 11g
####################################################################################
#To determine the distribution and version of Linux installed.
cat /proc/version
#To determine whether the required kernel is installed.
uname -r
#On Linux x86-64
# At least 4 GB of RAM
grep MemTotal /proc/meinfo
#To determine the size of the configured swap space,enter the following command:
grep SwapTotal /proc/meminfo
####################################################################################
#Checking the Software Requirements
####################################################################################
#Package Requirements
rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' binutils \
compat-libstdc++-33 \
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
#yum install unixODBC
#yum install unixODBC-devel
####################################################################################
#To determine if the Oracle Inventory group exit
grep oinstall /etc/group
#To determine whether the oraInstall.loc file exists.
cat /etc/oraInst.loc
####################################################################################
上面部份列出操作系统环境,中间是检查包,后面通过检查文件看是否有装过,用cat如果存在,能列出文件内容。
二。脚本化自动化配置系统参数,并提供undo功能。
2.1 脚本分三部份
a. 用于创建安装Oracle的相关组和用户
b.用于创建软件安装目录,并授权
c.用于配置相关的系统参数,并在最后显示其内容以供检查
#! /bin/sh
############################
#
#author:xiongchuanliang
#create date:2012-12-25
#desc: Oracle 11g for Linux
############################
######################################
DATE=`date +%Y+%m+%d`
mkdir /bak
#Creating Required Operating System Groups and Users
groupadd -g 507 oinstall
groupadd -g 502 dba
groupadd -g 503 oper
groupadd -g 504 asmadmin
groupadd -g 505 asmoper
groupadd -g 506 asmdba
useradd -g oinstall -G dba,asmdba,oper -d /home/oracle oracle
useradd -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid
id oracle
id grid
passwd oracle
passwd grid
######################################
mkdir -p /u01/app/grid
mkdir -p /u01/app/crs_base
mkdir -p /u01/app/crs_home
mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R oracle:oinstall /u01/app/oracle
chown -R grid:oinstall /u01/app/crs*
chown -R grid:oinstall /u01/app/grid
mkdir -p /u01/app/oraInventory
chown -R grid:oinstall /u01/app/oraInventory
chmod -R 775 /u01/
ls -al /u01
######################################
#CheckResource Limits for the Oracle Software Installation Users
yes|cp /etc/security/limits.conf /bak/bak_limits.conf
#Installation Owner Resource Limit Recommended Ranges
echo "#xcl "${DATE} >> /etc/sec