CentOS7 安装Oracle 11g R2

一、安装环境

CentOS Linux 7
Oracle 11g R2

二、安装前准备

2.1. 修改主机名称

#查看主机名称
[root@oracle ~]# hostnamectl status
[root@oracle ~]# hostnamectl set-hostname oracle
CentOS7 安装Oracle 11g R2_第1张图片

2.2. 修改hosts文件
修改hosts文件是为了保持ip 与 主机名对应

[root@oracle ~]# vim /etc/hosts
#新增ip与主机名对应
127.0.0.1 oracle
10.10.0.7 oracle #本机ip地址
#重启机器
[root@oracle ~]# reboot

2.3. 关闭Selinux(太深奥,先关闭了)

[root@oracle ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config  
[root@oracle ~]# setenforce 0

2.4. 防火墙开放 1521 端口

#centos7防火墙与centos6防火墙有比较大差异
#关闭centos7防火墙
[root@oracle ~]# systemctl stop firewalld.service
#关闭开机启动
[root@oracle ~]# systemctl disable firewalld.service

#安装iptables防火墙
[root@oracle ~]# yum install iptables-services
[root@oracle ~]# vim /etc/sysconfig/iptables
#新增1521接口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT
#设置开机启动
[root@oracle ~]# systemctl enable iptables
#重启iptabls服务
[root@oracle ~]# systemctl restart iptables.service
CentOS7 安装Oracle 11g R2_第2张图片

2.5 安装所需的软件包
查看Oracle安装文档中列出的Package Requirements可以查看在不同平台上需要的软件包。

binutils-2.23.52.0.1-12.el7.x86_64 
compat-libcap1-1.10-3.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

Oracle ODBC Drivers
On Oracle Linux 6, Red Hat Enterprise Linux 6, and Asianux Server 4:

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 binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat unixODBC unixODBC

2.6. 创建用户组与用户

[root@oracle ~]# groupadd oinstall
[root@oracle ~]# groupadd dba 
#可不需要该用户组 oper
[root@oracle ~]# groupadd oper 
[root@oracle ~]# useradd -g oinstall -G dba,oper oracle
[root@oracle ~]# passwd oracle

2.7. 修改kernel内核

[root@oracle ~]# vim /etc/sysctl.conf 
#配置文件内加入 修改以下参数。如果没有可以自己添加,如果默认值比参考值大,则不需要修改。
kernel.shmmni = 4096 #这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。通常不需要更改。
kernel.shmmax = 2147483648  #该参数定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G。
kernel.shmall = 2097152 #该参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改。
kernel.sem = 250 32000 100 128
fs.aio-max-nr = 1048576
fs.file-max = 65536 #设置最大打开文件数
net.ipv4.ip_local_port_range = 9000 65500  #可使用的IPv4端口范围
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586

保存后退出并立即生效:

[root@oracle ~]# sysctl -p

2.8. 修改系统资源限制

[root@oracle ~]# vim /etc/security/limits.conf
#配置文件下方加入
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack  10240

#修改用户验证选项 关联设置
[root@oracle ~]# vim /etc/pam.d/login
#加入以下语句: 
session required  /lib64/security/pam_limits.so
session required   pam_limits.so
#(注意:根据最后一条session规则的注释,应该加在最后一条规则之前)
CentOS7 安装Oracle 11g R2_第3张图片

2.9. 创建安装目录与目录权限

#创建安装目录,并赋予用户与用户组
#oracle目录 安装目录
#oradata 数据存储目录
#inventory 清单目录
#fast_recovery_area 恢复目录
[root@oracle ~]# mkdir -p /data/oracle/product/11.2.0

[root@oracle ~]# mkdir /data/oracle/oradata

[root@oracle ~]# mkdir /data/oracle/inventory

[root@oracle ~]# mkdir /data/oracle/fast_recovery_area

[root@oracle ~]# chown -R oracle:oinstall /data/oracle

[root@oracle ~]# chmod -R 775 /data/oracle

2.10. 创建Oracle环境变量

#11G R1需要,R2可省略
[root@oracle ~]# vim /etc/profile
#在末尾增加以下内容
if [ $USER = "oracle" ]; then      
    if [ $SHELL = "/bin/sh" ]; then          
        ulimit -p 16384           
        ulimit -n 65536      
    else           
         ulimit -u 16384 -n 65536      
    fi
fi

三、安装Oracle Database

3.1. 上传安装文件到home目录,并解压

[oracle@oracle ~]# unzip linux.x64_11gR2_database_1of2.zip
[oracle@oracle ~]# unzip linux.x64_11gR2_database_2of2.zip

3.2. 准备oracle安装应答模板文件db_install.rsp文件

[oracle@oracle database]$ cp response/* /usr/local/oracle/
[oracle@oracle oracle]$ chmod 755 ./*.rsp
#编辑
[oracle@oracle oracle]$ vim db_install.rsp 
#修改文件中一下内容
//安装类型,只装数据库软件
oracle.install.option=INSTALL_DB_SWONLY             
//主机名称(命令hostname查询)
ORACLE_HOSTNAME=oracle                             
// 安装组
UNIX_GROUP_NAME=oinstall                       
//INVENTORY目录(**不填就是默认值,本例此处需修改,因个人创建安装目录而定)
INVENTORY_LOCATION=/usr/local/oraInventory         
// 选择语言 
SELECTED_LANGUAGES=en,zh_CN                       
// oracle_home *路径根据目录情况注意修改 本例安装路径/usr/local/oracle
ORACLE_HOME=/usr/local/oracle/product/11.2.0/db_1      
// oracle_base *注意修改
ORACLE_BASE=/usr/local/oracle                          
// oracle版本 
oracle.install.db.InstallEdition=EE                  
//自定义安装,否,使用默认组件
oracle.install.db.isCustomInstall=false              
//dba用户组
oracle.install.db.DBA_GROUP=dba                      
//oper用户组
oracle.install.db.OPER_GROUP=dba                     
// **注意此参数 设定一定要为true
DECLINE_SECURITY_UPDATES=true  

3.3. 设置Oracle用户环境变量

[oracle@oracle ~]$ vim .bash_profile 
#添加以下内容
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0
export ORACLE_SID=infoyb
export ORACLE_OWNER=oracle
export NLS_LANG=american_america.AL32UTF8
export LANG=en_US.UTF-8

PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/lib:$ORACLE_HOME/bin

export PATH

#立即生效
[oracle@oracle ~]$ source .bash_profile 
CentOS7 安装Oracle 11g R2_第4张图片

3.4. 在oracle 用户下安装

#进入解压目录
[oracle@oracle ~]$ cd ~/database
[oracle@oracle ~]$  ./runInstaller -silent -ignorePrereq -responseFile /usr/local/oracle/db_install.rsp

/home/database是安装包解压后的路径,此处根据安装包解压所在位置做修改,因人而异。
  runInstaller 是主要安装脚本
  -silent 静默模式
  -force 强制安装
  -ignorePrereq忽略warning直接安装。
  -responseFile读取安装应答文件。

出现以下内容代表安装成功

CentOS7 安装Oracle 11g R2_第5张图片

根据提示内容,切换root用户执行以下语句。

/data/oracle/inventory/orainstRoot.sh
/data/oracle/product/11.2.0/root.sh
CentOS7 安装Oracle 11g R2_第6张图片

四、以静默方式配置监听

[oracle@oracle ~]$ netca /silent /responseFile /home/oracle/response/netca.rsp
CentOS7 安装Oracle 11g R2_第7张图片

成功运行后,在/data/oracle/product/11.2.0/network/admin/中生成listener.ora和sqlnet.ora

通过netstat命令可以查看1521端口正在监听。

五、以静默方式建立新库,同时也建立一个对应的实例

[oracle@oracle ~]$ vim /home/oracle/response/dbca.rsp

GDBNAME= "infoyb"

SID =" infoyb"

SYSPASSWORD= "com.oracle2015"

SYSTEMPASSWORD= "com.oracle2015"

SYSMANPASSWORD= "com.oracle2015"

DBSNMPPASSWORD= "com.oracle2015"

DATAFILEDESTINATION=/data/oracle/oradata

RECOVERYAREADESTINATION=/data/oracle/fast_recovery_area

CHARACTERSET= "AL32UTF8"

TOTALMEMORY= "6553"

其中TOTALMEMORY ="6553" 为6553MB,物理内存8G*80%。

进行静默配置:

[oracle@oracle ~]$  dbca -silent -responseFile /home/oracle/response/dbca.rsp
CentOS7 安装Oracle 11g R2_第8张图片

查看监听状态:

CentOS7 安装Oracle 11g R2_第9张图片

登陆查看实例状态:

[oracle@oracle ~]$ sqlplus / as sysdba
#select status from v$instance;
CentOS7 安装Oracle 11g R2_第10张图片

六、创建表空间与用户

6.1.创建表空间

create tablespace infoyb logging datafile'/data/oracle/oradata/infoyb/infoyb.dbf' size 1024m autoextend on next 100m maxsize 10240m extent management local;

6.2.创建用户

create user infoyb identified by infoyb default tablespace infoyb;

6.3.给用户赋权限

#为了省事,先把DBA权限赋值。
grant dba to infoyb;

七、链接测试

CentOS7 安装Oracle 11g R2_第11张图片

八、设置开机启动

8.1.修改/data/oracle/product/11.2.0/bin/dbstart

[oracle@oracle ~]$ vim /data/oracle/product/11.2.0/bin/dbstart
#将ORACLE_HOME_LISTNER=$1
#修改为ORACLE_HOME_LISTNER=$ORACLE_HOME

8.2.修改/data/oracle/product/11.2.0/bin/dbshut

[oracle@oracle ~]$ vim /data/oracle/product/11.2.0/bin/dbshut
#将ORACLE_HOME_LISTNER=$1
#修改为ORACLE_HOME_LISTNER=$ORACLE_HOME

8.3.修改/etc/oratab文件

[oracle@oracle ~]$ vim /etc/oratab
#将infoyb:/data/oracle/product/11.2.0:N中最后的N改为Y

8.4.创建启动文件

#用root用户执行
[root@oracle ~]$ vim /etc/init.d/oracle  


#新增以下内容



#!/bin/sh  
# chkconfig: 345 61 61  
# description: Oracle 11g R2 AutoRun Servimces  
# /etc/init.d/oracle  
#  
# Run-level Startup script for the Oracle Instance, Listener, and  
# Web Interface  
export ORACLE_BASE=/data/oracle  
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0
export ORACLE_SID=infoyb
export ORACLE_UNQNAME=$ORACLE_SID    
export PATH=$ORACLE_HOME/bin:/user/sbin:$PATH  
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH  
ORA_OWNR="oracle"  
# if the executables do not exist -- display error  
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]  
then  
echo "Oracle startup: cannot start"  
exit 1  
fi  
# depending on parameter -- startup, shutdown, restart  
# of the instance and listener or usage display  
case "$1" in  
start)  
# Oracle listener and instance startup  
su $ORA_OWNR -lc $ORACLE_HOME/bin/dbstart  
echo "Oracle Start Succesful!OK."  
;;  
stop)  
# Oracle listener and instance shutdown  
su $ORA_OWNR -lc $ORACLE_HOME/bin/dbshut  
echo "Oracle Stop Succesful!OK."  
;;  
reload|restart)  
$0 stop  
$0 start  
;;  
*)  
echo $"Usage: `basename $0` {start|stop|reload|reload}"  
exit 1  
esac  
exit 0 

8.5.设置启动文件权限

[root@oracle ~]$ chmod +x oracle
[root@oracle ~]$ chkconfig --add oracle 
[root@oracle ~]$ chkconfig oracle on

8.6.重启测试

[root@oracle ~]$ reboot
CentOS7 安装Oracle 11g R2_第12张图片

重启后查看监听状态,上图代表启动成功

你可能感兴趣的:(CentOS7 安装Oracle 11g R2)