网上有很多安装教程,但大多不够完整,参照了一些教程,实测安装成功,整理出来分享给大家!

一、官方最低要求配置

内存:1G(官方最低要求1G)

硬盘:40G(企业版安装所需4.29G和1.7G数据文件)

二、准备工作

1、安装环境介绍

系统:CentOS 7.5 64位

Oracle版本:Oracle 11gR2

2、下载Oracle安装文件官网下载地址

Linux CentOS7.5静默安装Oracle11gR2-LMLPHP

下载出来是这样两个压缩包:

linux.x64_11gR2_database_1of2.zip

linux.x64_11gR2_database_2of2.zip

3、检查系统版本

命令:$ uname -m

Linux CentOS7.5静默安装Oracle11gR2-LMLPHP

命令:$ cat /etc/redhat-release

Linux CentOS7.5静默安装Oracle11gR2-LMLPHP

4、修改主机名

$ sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb/" /etc/sysconfig/network

$ hostname oracledb

Linux CentOS7.5静默安装Oracle11gR2-LMLPHP

5、添加主机名与IP对应记录

安装vim:yum -y install vim,如已安装请忽略

$ vim /etc/hosts

在末尾处添加:本机IP地址    oracledb

Linux CentOS7.5静默安装Oracle11gR2-LMLPHP

6、关闭Selinux

$ sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config

$ setenforce 0

Linux CentOS7.5静默安装Oracle11gR2-LMLPHP

7、创建用户和组(root用户:创建Oracle安装组oinstall,数据库管理员组dba,及oracle用户)

$ groupadd -g 200 oinstall

$ groupadd -g 201 dba

$ useradd -u 440 -g oinstall -G dba oracle #(主组oinstall,其它组:dba)

$ passwd oracle   #(P)

Linux CentOS7.5静默安装Oracle11gR2-LMLPHP

8、修改内核参数(root用户:修改 /etc/sysctl.conf 文件,加上如下参数)

$ vim /etc/sysctl.conf  #末尾添加如下

net.ipv4.ip_local_port_range= 9000 65500

fs.file-max = 6815744

kernel.shmall = 10523004

kernel.shmmax = 6465333657

kernel.shmmni = 4096

kernel.sem = 250 32000 100128

net.core.rmem_default=262144

net.core.wmem_default=262144

net.core.rmem_max=4194304

net.core.wmem_max=1048576

fs.aio-max-nr = 1048576

Linux CentOS7.5静默安装Oracle11gR2-LMLPHP

$ sysctl -p  #使配置生效

9、修改系统资源限制(root用户:修改 /etc/security/limits.conf 文件,加上下面的参数)

$ vim /etc/security/limits.conf  #末尾添加如下

oracle  soft  nproc  2047

oracle  hard  nproc  16384

oracle  soft  nofile  1024

oracle  hard  nofile  65536

Linux CentOS7.5静默安装Oracle11gR2-LMLPHP

10、修改用户验证选项(root用户下:修改/etc/pam.d/login文件加上如下参数)

$ vim /etc/pam.d/login

session    required     pam_namespace.so  #下面添加一条pam_limits.so

session    required     pam_limits.so

Linux CentOS7.5静默安装Oracle11gR2-LMLPHP

11、修改用户配置文件(root用户下:修改/etc/profile文件加入如下参数)

$ vim /etc/profile    #(如果做了第6步的limits.conf设置,这个设置就不需要了)

if [ $USER ="oracle" ]; then

if [ $SHELL = "/bin/ksh" ];then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi

12、创建安装目录及设置权限

$ mkdir -p /opt/app/oracle/

$ chmod 755 /opt/app/oracle/

$ chown oracle.oinstall -R /opt/app/oracle/

Linux CentOS7.5静默安装Oracle11gR2-LMLPHP

13、设置Oracle环境变量

建议用ssh工具,开两个窗口,分别登录root用户和oracle用户,避免来回切换用户

$ su - oracle

$ vim ~/.bash_profile

export ORACLE_BASE=/opt/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

export ORACLE_SID=orcl

export ORACLE_PID=ora11g

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

Linux CentOS7.5静默安装Oracle11gR2-LMLPHP

完成后执行:

$ source ~/.bash_profile #立即生效

$ env | grep ORA #查看环境变量是否完成

Linux CentOS7.5静默安装Oracle11gR2-LMLPHP

三、安装及配置

1、安装依赖包

所需依赖:

binutils-2.23.52.0.1-12.el7.x86_64

compat-libcap1-1.10-3.el7.x86_64

compat-libstdc++-33-3.2.3-71.el7.i686

compat-libstdc++-33-3.2.3-71.el7.x86_64

gcc-4.8.2-3.el7.x86_64

gcc-c++-4.8.2-3.el7.x86_64

glibc-2.17-36.el7.i686

glibc-2.17-36.el7.x86_64

glibc-devel-2.17-36.el7.i686

glibc-devel-2.17-36.el7.x86_64

ksh

libaio-0.3.109-9.el7.i686

libaio-0.3.109-9.el7.x86_64

libaio-devel-0.3.109-9.el7.i686

libaio-devel-0.3.109-9.el7.x86_64

libgcc-4.8.2-3.el7.i686

libgcc-4.8.2-3.el7.x86_64

libstdc++-4.8.2-3.el7.i686

libstdc++-4.8.2-3.el7.x86_64

libstdc++-devel-4.8.2-3.el7.i686

libstdc++-devel-4.8.2-3.el7.x86_64

libXi-1.7.2-1.el7.i686

libXi-1.7.2-1.el7.x86_64

libXtst-1.2.2-1.el7.i686

libXtst-1.2.2-1.el7.x86_64

make-3.82-19.el7.x86_64

sysstat-10.1.5-1.el7.x86_64

unixODBC-2.3.1-6.el7.x86_64 or later

unixODBC-2.3.1-6.el7.i686 or later

unixODBC-devel-2.3.1-6.el7.x86_64 or later

unixODBC-devel-2.3.1-6.el7.i686 or later

使用yum -y install 进行安装

$ yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686

检查是否全部已经安装,没安装的单独进行安装

$ rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel

2、安装Oracle

安装unzip:yum -y install unzip。如已安装请忽略

将下载的Oracle压缩包放入/opt目录下,在/opt目录下进行解压

$ ls *.zip | xargs -n1 unzip -o

或者

$ unzip linux.x64_11gR2_database_1of2.zip

$ unzip linux.x64_11gR2_database_2of2.zip

解压后得到database目录,其中包含response目录,该目录中有三个rsp文件,用来作为静默安装时的应答文件的模板。

三个文件作用分别是:

db_install.rsp:安装应答

dbca.rsp:创建数据库应答

netca.rsp:建立监听、本地服务名等网络设置的应答

将db_install.rsp备份一份,在其基础上修改内容

修改静默安装的配置文件

$ vim db_install.rsp #按照下方的参数进行修改

$ less /opt/database/response/db_install.rsp |grep -v "#"|grep -v "^$" #查看配置

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0

oracle.install.option=INSTALL_DB_SWONLY

ORACLE_HOSTNAME=oracledb

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/opt/app/oracle/oraInventory

SELECTED_LANGUAGES=en,zh_CN

ORACLE_HOME=/opt/app/oracle/product/11.2.0/db_1

ORACLE_BASE=/opt/app/oracle

oracle.install.db.InstallEdition=EE

oracle.install.db.isCustomInstall=false

oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0

oracle.install.db.DBA_GROUP=dba

oracle.install.db.OPER_GROUP=oinstall

oracle.install.db.CLUSTER_NODES=

oracle.install.db.config.starterdb.type=GENERAL_PURPOSE

oracle.install.db.config.starterdb.globalDBName=ora11g

oracle.install.db.config.starterdb.SID=ora11g

oracle.install.db.config.starterdb.characterSet=AL32UTF8

oracle.install.db.config.starterdb.memoryOption=true

oracle.install.db.config.starterdb.memoryLimit=1500

oracle.install.db.config.starterdb.installExampleSchemas=false

oracle.install.db.config.starterdb.enableSecuritySettings=true

oracle.install.db.config.starterdb.password.ALL=oracle

oracle.install.db.config.starterdb.password.SYS=

oracle.install.db.config.starterdb.password.SYSTEM=

oracle.install.db.config.starterdb.password.SYSMAN=

oracle.install.db.config.starterdb.password.DBSNMP=

oracle.install.db.config.starterdb.control=DB_CONTROL

oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=

oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false

oracle.install.db.config.starterdb.dbcontrol.emailAddress=

oracle.install.db.config.starterdb.dbcontrol.SMTPServer=

oracle.install.db.config.starterdb.automatedBackup.enable=false

oracle.install.db.config.starterdb.automatedBackup.osuid=

oracle.install.db.config.starterdb.automatedBackup.ospwd=

oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE

oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=

oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=

oracle.install.db.config.asm.diskGroup=

oracle.install.db.config.asm.ASMSNMPPassword=

MYORACLESUPPORT_USERNAME=

MYORACLESUPPORT_PASSWORD=

SECURITY_UPDATES_VIA_MYORACLESUPPORT=

DECLINE_SECURITY_UPDATES=true    //一定要设为 true

PROXY_HOST=

PROXY_PORT=

PROXY_USER=

PROXY_PWD=

开始静默安装,使用oracle用户

$ cd /opt/database/ #进入/opt/database目录

$ ./runInstaller -silent -force -responseFile /opt/database/response/db_install.rsp

[WARING]可暂时忽略,此时安装程序仍在后台进行,如果出现[FATAL],则安装程序已经停止了。

安装需要一会儿,如果想看安装进度,可以再打开一个窗口,输出会话日志

tail -f 日志文件(下图中红色框中未日志文件绝对路径)

Linux CentOS7.5静默安装Oracle11gR2-LMLPHP

当出现Successfully Setup Software.证明已经安装成功,然后根据提示以root用户执行脚本

Linux CentOS7.5静默安装Oracle11gR2-LMLPHP

$ sh /opt/app/oracle/oraInventory/orainstRoot.sh

$ sh /opt/app/oracle/product/11.2.0/db_1/root.sh

四、配置监听程序

监听命令

启动监听:lsnrctl start

停止监听:lsnrctl stop

重启监听:lsnrctl reload

查看监听:lsnrctl status

1、配置监听(使用oracle用户)

$ $ORACLE_HOME/bin/netca /silent /responseFile /opt/database/response/netca.rsp

Linux CentOS7.5静默安装Oracle11gR2-LMLPHP

2、查看监听(使用oracle用户)

$ lsnrctl status

Linux CentOS7.5静默安装Oracle11gR2-LMLPHP

3、静默dbca建库

$ su - root

$ vim /opt/database/response/dbca.rsp

修改如下内容:

GDBNAME = "orcl" //78 行 编码

SID="orcl" //149行 编码 SID

CHARACTERSET="AL32UTF8" //415行 编码

NATIONALCHARACTERSET="UTF8" //425行 编码

然后执行

$ su - oracle

$ $ORACLE_HOME/bin/dbca -silent -responseFile /opt/database/response/dbca.rsp

执行完后会先清屏,然后输入两次密码后开始自动创建

Linux CentOS7.5静默安装Oracle11gR2-LMLPHP

4、启动数据库

[oracle@oracledb ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Mon Feb 16 14:26:57 2015

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> start

SP2-1506: START, @ or @@ command has no arguments

SQL> startup

ORACLE instance started.

Total System Global Area 3290345472 bytes

Fixed Size                  2217832 bytes

Variable Size            1795164312 bytes

Database Buffers         1476395008 bytes

Redo Buffers               16568320 bytes

Database mounted.

Database opened.

SQL>

使用show parameter;或者select table_name from dba_tables看看是否正常

5、开机自动启动监听、启动Oracle

$ vim /etc/oratab

其中:

*:/home/oracle/oracle92:N

这一行中*改为我的数据库的SID orcl, 第三段的N改为Y

改后如下:

orcl:/home/oracle/oracle92:Y 务必是大写的Y

保存后退出

$ vim /etc/rc.local

#在文件末尾增加如下内容

su - oracle -c 'dbstart'

su - oracle -c 'lsnrctl start'

然后执行$ chmod +x /etc/rc.local

其实开机自动以oracle用户执行上面两个命令啦

保存后退出,OK!搞定~~~

6、开放1521端口(远程连接Oracle所需)

查看端口是否开放:firewall-cmd --query-port=1521/tcp

永久开放1521端口号:firewall-cmd --permanent --zone=public --add-port=1521/tcp

重启防火墙: systemctl restart firewalld.service

查看防火墙状态

systemctl status firewalld.service

启动|关闭|重新启动  防火墙

systemctl [start|stop|restart] firewalld.service

05-17 02:03