> CentOS > CentOS教程 >

CentOS-6.4-x64上静默安装Oracle 11g R2 (11.2.0.3)

一. 安装软件准备:
p10404530_112030_Linux-x86-64_1of7.zip
p10404530_112030_Linux-x86-64_2of7.zip

二.环境检测
2.1 安装依赖的包
通过如下yum语句一次安装完毕:
yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc- gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh
若yum遇到问题,尝试如下方法:
yum clean all
yum makecache

2.2系统环境性能检测
//查看内存及swap
[root@localhost ~]# grep MemTotal /proc/meminfo
[root@localhost ~]# grep SwapTotal /proc/meminfo
//查看内核
[root@localhost ~]#uname  -r
2.6.32-358.el6.x86_64
//查看内存与交换空间的使用情况
[root@localhost ~]# free -m
             total       used       free     shared    buffers     cached
Mem:         15925      12800       3125          0        158      11556
-/+ buffers/cache:       1086      14839
Swap:         8031          0       8031

三.环境配置
3.1 修改系统内核参数
[root@localhost ~]# vim /etc/sysctl.conf
#修改如下两个参数
kernel.shmall = 2097152
kernel.shmmax = 2147483648
#增加如下参数
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
3.3 修改完后,让其立即生效。
[root@localhost ~]#/sbin/sysctl -p

3.4 添加用户组及用户
groupadd oinstall
groupadd dba
useradd oracle -g oinstall -G dba           //主组为oinstall,副组dba
passwd oracle                               //设置密码

3.5 新建目录并设置权限
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oraInventory
chown -R oracle:oinstall /u01/app/
chmod -R 755 /u01/app/

3.6 设置Shell
[root@localhost ~]# vi /etc/security/limits.conf
#添加如下
oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  1024
oracle              hard    nofile  65536
root soft nproc 2047
root hard nproc 16384
root soft nofile 1024
root hard nofile 65536

3.7 修改login
[root@oracle ~]# vi /etc/pam.d/login
#添加如下
session    required     pam_limits.so

[root@oracle ~]# vi /etc/profile
#添加如下
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

3.8 修改login
[root@oracle ~]# vi /etc/csh.login
#添加如下
if ( $USER = "oracle" ) then
limit maxproc 16384
limit deors 65536
endif

3.9 关闭SELINUX的工作模式和防火墙            
[root@oracle ~]# vi /etc/selinux/config
# 设置SELINUX为disabled
SELINUX=disabled
[root@oracle ~]# service iptables stop

四. 开始安装
1. 切换到oracle账户登录,解压oracle的安装包至/tmp目录,得到database文件夹,
unzip p10404530_112030_Linux-x86-64_1of7.zip -d /tmp
unzip p10404530_112030_Linux-x86-64_2of7.zip -d /tmp
将其中的database/response/db_install.rsp复制一份出来放在/tmp目录下,
这是一份模板,需根据自己环境对原文件内容进行修改,需要注意的修改点有:
#------------------------------------------------------------------------------
# Specify the installation option.
# It can be one of the following:
# 1. INSTALL_DB_SWONLY
# 2. INSTALL_DB_AND_CONFIG
# 3. UPGRADE_DB
#-------------------------------------------------------------------------------
oracle.install.option=INSTALL_DB_AND_CONFIG ----我这里软件和数据库都选择了安装
oracle.install.db.config.starterdb.memoryLimit=7960 ----memory的50%
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true

2. 如果是首次安装,还需要创建文件oraInst.loc,其内容如下:
inventory_loc=/u01/app/oraInventory
inst_group=oinstall

3. 最后就是静默安装
[oracle@localhost database]$./runInstaller -silent -responseFile /tmp/db_install.rsp -invPtrLoc /tmp/oraInst.loc -ignoreSysPrereqs
需要注意的是,对于Linux系统,-ignoreSysPrereqs其实是必要的,否则有的包已经安装但Oracle还是声称找不到,原因是Oracle尝试去找的包版本太旧了。

安装过程根据提示,另外开一个终端,以root身份登陆(另开一个SSH即可),执行root.sh即可,然后按下回车键即可完成安装

4. 安装完成后,编辑/home/oracle/.bash_profile,添加如下内容:

TMP=/tmp; export TMP----安装前如果/tmp 分区空间不够,这里可改为其他分区
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/db_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
#NLS_LANG=AMERICAN_AMERICA.ZHS16GBK; export NLS_LANG
PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
umask 022

5. 监听已经自动起来
Service "orcl" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully




(责任编辑:IT)