CentOS7 安装Oracle 11g R2

一、安装环境

CentOS Linux 7
Oracle 11g R2

二、安装前准备

2.1. 修改主机名称

#查看主机名称
[root@oracle ~]# hostnamectl status
[root@oracle ~]# hostnamectl set-hostname oracle

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

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规则的注释,应该加在最后一条规则之前)

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 

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读取安装应答文件。

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

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

/data/oracle/inventory/orainstRoot.sh
/data/oracle/product/11.2.0/root.sh

四、以静默方式配置监听

[oracle@oracle ~]$ netca /silent /responseFile /home/oracle/response/netca.rsp

成功运行后,在/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

查看监听状态:

登陆查看实例状态:

[oracle@oracle ~]$ sqlplus / as sysdba
#select status from v$instance;

六、创建表空间与用户

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;

七、链接测试

八、设置开机启动

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,980评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,422评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,130评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,553评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,408评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,326评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,720评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,373评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,678评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,722评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,486评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,335评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,738评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,283评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,692评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,893评论 2 335

推荐阅读更多精彩内容