脚本结构:
-rwxr-xr-x. 1 root root 539 Nov 26 02:02 1_ora_yum.sh #yum安装软件包
-rwxr-xr-x. 1 root root 1331 Nov 26 02:02 2_ora_init.sh #系统级操作,创建组、用户,配置内核参数及资源限制
-rwxr-xr-x. 1 root root 273 Nov 26 02:02 3_fd_init.sh #创建Oracle安装目录
-rwxr-xr-x. 1 root root 57 Nov 26 02:02 4_ora_profile.sh #拷贝环境变量到oracle目录
-rwxr-xr-x. 1 root root 372 Nov 26 02:02 5_init_orahome.sh #拷贝oracle安装包和安装脚本到oracle目录
-rwxr-xr-x. 1 root root 109 Nov 26 02:02 6_ora_install.sh #静默安装oracle软件
-rwxr-xr-x. 1 root root 213 Nov 26 02:02 7_ora_dbca.sh #静默DBCA建库
-rwxr-xr-x. 1 root root 85 Nov 26 02:08 all_install.sh #集成前五个脚本
-rw-r--r--. 1 root root 535 Nov 26 02:02 bash_profile #配置好的环境变量
drwxr-xr-x. 7 root root 4096 Nov 26 02:05 database #oracle安装包
-rw-r--r--. 1 root root 25241 Nov 26 02:05 db_install.rsp #静默安装响应文件
-rw-r--r--. 1 root root 210877 Nov 26 02:05 pdksh-5.2.14-37.el5_8.1.x86_64.rpm #centos6.5缺少的一个软件包
执行脚本顺序:
注:需要事先配置好yum源、主机名、以及关闭防火墙
[root@centos6_dg scripts]# chmod +x *.sh #脚本赋权限
[root@centos6_dg scripts]# chmod -R +x database #安装包赋权限
[root@centos6_dg scripts]# ./all_install.sh #执行前五个脚本
[oracle@centos6_dg ~]$ ./6_ora_install.sh #切换到oracle用户执行脚本6安装Oracle软件
[oracle@centos6_dg ~]$ ./7_ora_dbca.sh #dbca静默建库
脚本1:
[root@centos6_dg scripts]# cat 1_ora_yum.sh
yum list
yum -y install glibc glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh compat-libcap1 compat-libstdc++ elfutils-libelf-devel gcc-c++
yum list | grep compat-libstdc++
yum -y install compat-libstdc++-33.x86_64
yum -y install pdksh-5.2.14-37.el5_8.1.x86_64.rpm
rpm -q glibc glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh compat-libcap1 compat-libstdc++ elfutils-libelf-devel gcc-c++
脚本2:
[root@centos6_dg scripts]# cat 2_ora_init.sh
groupadd oinstall
groupadd dba
chattr -i /etc/passwd /etc/shadow
useradd -g oinstall -G dba oracle
echo "oracle soft nproc 2047" >> /etc/security/limits.conf
echo "oracle hard nproc 16384" >> /etc/security/limits.conf
echo "oracle soft nofile 65536" >> /etc/security/limits.conf
echo "oracle hard nofile 65536" >> /etc/security/limits.conf
echo "oracle soft stack 10240" >> /etc/security/limits.conf
echo "oracle soft memlock unlimited" >> /etc/security/limits.conf
echo "oracle hard memlock unlimited" >> /etc/security/limits.conf
echo "kernel.shmall = 4294967296" >> /etc/sysctl.conf
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 = 980221952" >> /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
sysctl -p
脚本3:
[root@centos6_dg scripts]# cat 3_fd_init.sh
cd /
mkdir -p /home/u01
ln -s /home/u01 u01
mkdir -p /u01/app/oracle/product/11.2.0.4/db_1
mkdir -p /u01/app/oraInventory
chown -R oracle:oinstall /u01/app/oraInventory
chown -R oracle:oinstall /u01/app/oracle
chown -R oracle:oinstall /u01/app/oracle/product/11.2.0.4/db_1
脚本4:
[root@centos6_dg scripts]# cat 4_ora_profile.sh
cp /root/scripts/bash_profile /home/oracle/.bash_profile
脚本5:
[root@centos6_dg scripts]# cat 5_init_orahome.sh
cp -r /root/scripts/database /home/oracle
chown -R oracle:oinstall /home/oracle/database
cp /root/scripts/db_install.rsp /home/oracle/db_install.rsp
cp /root/scripts/6_ora_install.sh /home/oracle/6_ora_install.sh
cp /root/scripts/7_ora_dbca.sh /home/oracle/7_ora_dbca.sh
chown oracle:oinstall /home/oracle/6_ora_install.sh
chown oracle:oinstall /home/oracle/7_ora_dbca.sh
脚本6:
[root@centos6_dg scripts]# cat 6_ora_install.sh
cd /home/oracle/database
./runInstaller -silent -responseFile /home/oracle/db_install.rsp -ignoreSysPrereqs
脚本7:
[root@centos6_dg scripts]# cat 7_ora_dbca.sh
cd /home/oracle/database
mkdir -p /u01/app/oracle/oradata/orcl
dbca -silent -createDatabase -templateName $ORACLE_HOME/assistants/dbca/templates/General_Purpose.dbc -gdbname orcl -sid orcl -characterSet ZHS16GBK
集成前五个脚本:
[root@centos6_dg scripts]# cat all_install.sh
./1_ora_yum.sh
./2_ora_init.sh
./3_fd_init.sh
./4_ora_profile.sh
./5_init_orahome.sh
环境变量bash_profile:
[root@centos6_dg scripts]# cat bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:$PATH
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export TNS