RedHat6静默安装Oracle11gR2

之前看了网上很多篇Linux静默安装Oracle的文章,但安装测试时老觉得有问题,后来直接找来Oracle官方英文文档并仔细阅读研究rsp文件的内容说明,经过自己在虚拟机中的安装测试,使用RedHat 6.5(内核版本:2.6.32-431.el6.x86_64)上静默安装Oracle 11gR2(版本:11.2.0.3),整理出了本文,主要包括了环境要求与准备、静默安装Oracle软件与监听、静默安装Oracle数据库、安装完成后检查、设置Oracle开机自动启动等部分。

创新互联公司坚信:善待客户,将会成为终身客户。我们能坚持多年,是因为我们一直可值得信赖。我们从不忽悠初访客户,我们用心做好本职工作,不忘初心,方得始终。十多年网站建设经验创新互联公司是成都老牌网站营销服务商,为您提供网站设计制作、成都网站设计、网站设计、H5场景定制、网站制作、品牌网站制作、小程序制作服务,给众多知名企业提供过好品质的建站服务。

一、 环境要求与准备

1、硬件要求

(1)内存

Minimum: 1 GB of RAM

Recommended: 2 GB of RAM or more

To determine the RAM size, enter the following command:

# grep MemTotal /proc/meminfo

 

(2)SWAP

Available RAM Swap Space Required

Between 1 GB and 2 GB 1.5   ——times the size of the RAM

Between 2 GB and 16 GB——Equal to the size of the RAM

More than 16 GB——16 GB

# grep SwapTotal /proc/meminfo

 

(3)ASM

Automatic Memory Management feature  requires more shared memory ( /dev/shm) and file descriptors

#df -h /dev/shm/

Note: MEMORY_MAX_TARGET and  MEMORY_TARGET cannot be used whenLOCK_SGA is enabled or with HugePages on Linux.

 

(4)磁盘空间

At least 1 GB of disk space in the  /tmp directory

Enterprise Edition——At least4.7 GB for Software Files and 1.7 GB  for Data Files

Standard Edition——At least4.6GB for Software Files and 1.5 GB  for Data Files


2、软件要求

(1)操作系统要求

■ Asianux Server 3 SP2

■ Asianux Server 4 SP3

■ Oracle Linux 4 Update 7

■ Oracle Linux 5 Update 2 (with Red Hat Compatible Kernel)

■ Oracle Linux 5 Update 5

■ Oracle Linux 6

■ Oracle Linux 6 (with Red Hat Compatible Kernel)

■ Oracle Linux 7

■ Oracle Linux 7 (with the Red Hat Compatible Kernel)

■ Red Hat Enterprise Linux 4 Update 7

■ Red Hat Enterprise Linux 5 Update 2

■ Red Hat Enterprise Linux 6

■ Red Hat Enterprise Linux 7

■ SUSE Linux Enterprise Server 10 SP2

■ SUSE Linux Enterprise Server 11

 

(2)内核要求

■On Red Hat Enterprise Linux 5 Update 5

2.6.18 or later

■On Red Hat Enterprise Linux 6

2.6.32-71.el6.x86_64 or later

■ On Red Hat Enterprise Linux 7

3.10.0-54.0.1.el7.x86_64 or later

 

(3)依赖包要求

Note: Starting with Oracle Database 11g Release 2 (11.2.0.2), all the 32-bit packages, except for  gcc-32bit-4.3 , listed in the following table are no longer required for installing a database on Linux x86-64. Only the 64-bit packages are required. However, for any Oracle Database 11g release before 11.2.0.2, both the 32-bit and 64-bit packages listed in the following table are required.

 The following or later version of packages for Oracle Linux 6, Red Hat EnterpriseLinux 6, and Asianux Server 4 must be installed:

binutils-2.20.51.0.2-5.11.el6 (x86_64)

compat-libcap1-1.10-1 (x86_64)

compat-libstdc++-33-3.2.3-69.el6 (x86_64)

compat-libstdc++-33-3.2.3-69.el6.i686

gcc-4.4.4-13.el6 (x86_64)

gcc-c++-4.4.4-13.el6 (x86_64)

glibc-2.12-1.7.el6 (i686)

glibc-2.12-1.7.el6 (x86_64)

glibc-devel-2.12-1.7.el6 (x86_64)

glibc-devel-2.12-1.7.el6.i686

ksh

libgcc-4.4.4-13.el6 (i686)

libgcc-4.4.4-13.el6 (x86_64)

libstdc++-4.4.4-13.el6 (x86_64)

libstdc++-4.4.4-13.el6.i686

libstdc++-devel-4.4.4-13.el6 (x86_64)

libstdc++-devel-4.4.4-13.el6.i686

libaio-0.3.107-10.el6 (x86_64)

libaio-0.3.107-10.el6.i686

libaio-devel-0.3.107-10.el6 (x86_64)

libaio-devel-0.3.107-10.el6.i686

make-3.81-19.el6

sysstat-9.0.4-11.el6 (x86_64)

(4)ODBC要求

On Oracle Linux 6, Red Hat Enterprise Linux 6:

unixODBC-2.2.14-11.el6 (x86_64) or later

unixODBC-2.2.14-11.el6.i686 or later

unixODBC-devel-2.2.14-11.el6 (x86_64) or later

unixODBC-devel-2.2.14-11.el6.i686 or later

3、用户和组要求

The following local operating system groups and users are required if you areinstalling Oracle Database:

■ The Oracle Inventory group (typically,  oinstall )

■ The OSDBA group (typically,  dba )

■ The Oracle software owner (typically,  oracle )

■ The OSOPER group (optional. Typically,  oper )

# grep dba /etc/group

# id oracle

#groupadd dba

#groupadd oinstall

If the oracle user exists:

# /usr/sbin/usermod -g oinstall -G dba oracle

If the oracle user does not exist:

# /usr/sbin/useradd -g oinstall -G dba oracle

set the password: 

# passwd oracle

4、内核参数要求

RedHat 6 静默安装Oracle 11gR2

Note: If the current value of any parameter is higher than the valuelisted in this table, then do not change the value of thatparameter.本文原始出处:江健龙的技术博客http://jiangjianlong.blog.51cto.com/3735273/1832986

修改方法:

create or edit the  /etc/sysctl.conf file, and add or editlines similar to the following:

 

fs.aio-max-nr = 1048576

fs.file-max = 6815744

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

 

Note: if any of the current values are larger than the

minimum value, then specify the larger value。

使生效:

# /sbin/sysctl -p或reboot

 

如果运行 #sysctl  -p 命令报错

error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key

error: "net.bridge.bridge-nf-call-iptables" is an unknown key

error: "net.bridge.bridge-nf-call-arptables" is an unknown key

则解决方法为执行如下命令:

#modprobe  bridge

 

查看:

# /sbin/sysctl -a

5、资源限制要求

修改好后必须使用Oracle用户登出再登录才生效

$ ulimit -Sn

4096

$ ulimit -Hn

65536

$ ulimit -Su

2047

$ ulimit -Hu

16384

$ ulimit -Ss

10240

$ ulimit -Hs

32768

修改方法:

vi /etc/security/limits.conf

末尾加入以下内容:

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile4096

oracle hard nofile 65536

oracle hard stack 32768

6、创建安装目录

Oracle_Base目录:/u01/app/oracle/

Oracle_Home目录:/u01/app/oracle/11gr2

Oracle清单目录:/u01/app/oracle/oraInventory

RedHat 6 静默安装Oracle 11gR2

7、配置Oracle用户环境变量

vi /home/oracle/.bash_profile

export EDITOR=vi

export ORACLE_SID=orcl

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/11gr2

export nls_date_format="yyyy-mm-dd hh34:mi:ss"

export PATH=/u01/app/oracle/11gr2/bin:$PATH

 

执行命令ource .bash_profile使配置生效  

8、编辑/etc/profile

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

本文原始出处:江健龙的技术博客http://jiangjianlong.blog.51cto.com/3735273/1832986

二、 静默安装Oracle 软件和监听

1、静默安装命令

$ /directory_path/runInstaller [-silent] [-noconfig] -responseFile responsefilename

■-noconfig suppresses running the configuration assistants during installation,

and a software-only installation is performed instead.

■ responsefilename is the full path and file name of the installation response

file that you configured.

2、编辑应答文件db_install.rsp

更改以下内容,其他不需要改,标橙色的需注意要结合实际环境更改。Oracle版本:11.2.0.3

oracle.install.option=INSTALL_DB_SWONLY

ORACLE_HOSTNAME=rh7

UNIX_GROUP_NAME=oinstall

SELECTED_LANGUAGES=en,zh_CN

ORACLE_HOME=/u01/app/oracle/11gr2

ORACLE_BASE=/u01/app/oracle/

INVENTORY_LOCATION=/u01/app/oraInventory

oracle.install.db.InstallEdition=EE

oracle.install.db.DBA_GROUP=dba

oracle.install.db.OPER_GROUP=oinstall

DECLINE_SECURITY_UPDATES=true

oracle.install.db.EEOptionsSelection=false

3、执行静默安装Oracle命令

./runInstaller -silent -noconfig -ignorePrereq -responseFile /oracle11gr2zip/db_install.rsp

RedHat 6 静默安装Oracle 11gR2

4、使用root登录执行脚本

RedHat 6 静默安装Oracle 11gR2

5、执行静默安装监听命令

不需要修改应答文件内容,直接使用介质中的netca.rsp文件

[oracle@rh7 database]$ netca /silent /responseFile /oracle11gr2zip/database/resp

onse/netca.rsp

RedHat 6 静默安装Oracle 11gR2

三、 静默安装Oracle数据库

1、编辑dbca.rsp

更改以下内容,其他不需要改,标橙色的内容需结合自己实际环境修改

RESPONSEFILE_VERSION = "11.2.0"

OPERATION_TYPE = "createDatabase"

GDBNAME = "orcl"

SID = "orcl"

TEMPLATENAME = "General_Purpose.dbc"

SYSPASSWORD = "p@ssw0rd"

SYSTEMPASSWORD = "p@ssw0rd"

EMCONFIGURATION = "LOCAL"

SYSMANPASSWORD = "p@ssw0rd"

DBSNMPPASSWORD = "p@ssw0rd"

STORAGETYPE=FS

CHARACTERSET = "ZHS16GBK"

NATIONALCHARACTERSET= "AL16UTF16"

MEMORYPERCENTAGE = "40"

TOTALMEMORY = "1024"


 2、执行静默安装数据库命令

 $dbca -silent -responseFile /oracle11gr2zip/dbca.rsp

RedHat 6 静默安装Oracle 11gR2

四、安装完成后检查

1、检查监听状态

$ lsnrctl status

RedHat 6 静默安装Oracle 11gR2

2、检查Oracle进程

$ ps -ef |grep ora_ |grep -v grep

RedHat 6 静默安装Oracle 11gR2

3、登录Oracle数据库并执行常见查询命令

RedHat 6 静默安装Oracle 11gR2

RedHat 6 静默安装Oracle 11gR2

RedHat 6 静默安装Oracle 11gR2

RedHat 6 静默安装Oracle 11gR2

4、登录EM

RedHat 6 静默安装Oracle 11gR2

RedHat 6 静默安装Oracle 11gR2

RedHat 6 静默安装Oracle 11gR2

五、配置Oracle开机自动启动

1、以Oracle登录,编辑oratab

vi /etc/oratab,将N改为Y

本文原始出处:江健龙的技术博客 http://jiangjianlong.blog.51cto.com/3735273/1832986

RedHat 6 静默安装Oracle 11gR2

2、 root登录,创建脚本

vi /etc/init.d/oracle,创建oracle文件,内容如下:

#!/bin/sh

# chkconfig: 35 80 10

# description: Oracle auto start-stop script. 

#

# Set ORACLE_HOME to be equivalent to the $ORACLE_HOME

# from which you wish to execute dbstart and dbshut;

#

# Set ORACLE_OWNER to the user id of the owner of the

# Oracle database in ORACLE_HOME.

ORACLE_HOME=/u01/app/oracle/11gr2

ORACLE_OWNER=oracle

if [ ! -f $ORACLE_HOME/bin/dbstart ]

then

 echo "Oracle startup: cannot start"

 exit

fi

case "$1" in

'start')

# Start the Oracle databases:

echo "Starting Oracle Databases ... "

echo "-------------------------------------------------" >> /var/log/oracle

date +" %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle

echo "-------------------------------------------------" >> /var/log/oracle

su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart" >>/var/log/oracle

echo "Done" 

# Start the Listener:

echo "Starting Oracle Listeners ... "

echo "-------------------------------------------------" >> /var/log/oracle

date +" %T %a %D : Starting Oracle Listeners as part of system up." >> /var/log/oracle

echo "-------------------------------------------------" >> /var/log/oracle

su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start" >>/var/log/oracle

echo "Done."

echo "-------------------------------------------------" >> /var/log/oracle

date +" %T %a %D : Finished." >> /var/log/oracle

echo "-------------------------------------------------" >> /var/log/oracle

touch /var/lock/subsys/oracle

;;

'stop')

# Stop the Oracle Listener:

echo "Stoping Oracle Listeners ... "

echo "-------------------------------------------------" >> /var/log/oracle

date +" %T %a %D : Stoping Oracle Listener as part of system down." >> /var/log/oracle

echo "-------------------------------------------------" >> /var/log/oracle

su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop" >>/var/log/oracle

echo "Done."

rm -f /var/lock/subsys/oracle 

# Stop the Oracle Database:

echo "Stoping Oracle Databases ... "

echo "-------------------------------------------------" >> /var/log/oracle

date +" %T %a %D : Stoping Oracle Databases as part of system down." >> /var/log/oracle

echo "-------------------------------------------------" >> /var/log/oracle

su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut" >>/var/log/oracle

echo "Done."

echo ""

echo "-------------------------------------------------" >> /var/log/oracle

date +" %T %a %D : Finished." >> /var/log/oracle

echo "-------------------------------------------------" >> /var/log/oracle

;; 

'restart')

$0 stop

$0 start

;;

esac

3、赋予脚本权限

RedHat 6 静默安装Oracle 11gR2

4、设置开机启动

RedHat 6 静默安装Oracle 11gR2

5、测试脚本效果

(1)关闭数据库

RedHat 6 静默安装Oracle 11gR2

(2)使用root登录,执行命令service oracle start

RedHat 6 静默安装Oracle 11gR2

(3)登录数据库检查,数据库已在运行,监听也正常

RedHat 6 静默安装Oracle 11gR2

(4)执行service oracle stop

RedHat 6 静默安装Oracle 11gR2

(5)检查监听和数据库都已关闭

RedHat 6 静默安装Oracle 11gR2


当前文章:RedHat6静默安装Oracle11gR2
文章URL:http://scyanting.com/article/iiggcp.html