CentOS7安装Oracle11g 11.2.0.4

一、安装环境

CentOS Linux release 7.2.1511 (Core)

Oracle Database 11g Release 2 (11.2.0.4)

二、安装前准备

2.1 修改主机名

修改/etc/sysconfig/network配置文件中的HOSTNAME变量


   
   
     
     
     
     
  1. [root @xqzt ~] # hostnamectl set-hostname oracledb
  2. ####永久性修改
  3. [root @xqzt ~] #vi /etc/sysconfig/network
  4. NETWORKING=yes
  5. HOSTNAME= oracledb
  6. [root @xqzt ~] # hostname
  7. oracledb

2.2 添加主机名与IP对应记录


   
   
     
     
     
     
  1. [root @xqzt ~] # vi /etc/hosts
  2. 172.17. 22.70 oracledb

2.3 关闭Selinux


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

2.4 firewall开启1521端口


   
   
     
     
     
     
  1. [root @sdba ~] # firewall-cmd --permanent --zone=public --add-port=1521/tcp
  2. success
  3. [root @sdba ~] # firewall-cmd --reload
  4. success

2.5下载Oracle 11g

2.6 检查硬件配置要求

最小内存 1 GB of RAM

虚拟内存容量

Available RAM

Swap Space Required

Between 1 GB and 2 GB

1.5 times the size of RAM

Between 2 GB and 16 GB

Equal to the size of RAM

More than 16 GB

16 GB

硬盘空间要求

数据库软件硬盘空间需求:

Installation Type

Requirement for Software Files (GB)

Enterprise Edition

3.95

Standard Edition

3.88

数据文件硬盘空间需求:

Installation Type

Requirement for Data Files (GB)

Enterprise Edition

1.7

Standard Edition

1.5

检查的命令

 

    
    
      
      
      
      
  1. #内存
  2. grep MemTotal /proc/meminfo
  3. #交换空间
  4. grep SwapTotal /proc/meminfo
  5. #磁盘空间
  6. df -ah

2.7 安装所需的软件包

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

packages for Oracle Linux 7


   
   
     
     
     
     
  1. binutils - 2.23.52.0.1 - 12.el7.x86_64
  2. compat -libcap1 - 1.10 - 3.el7.x86_64
  3. gcc - 4.8.2 - 3.el7.x86_64
  4. gcc - c + + - 4.8.2 - 3.el7.x86_64
  5. glibc - 2.17 - 36.el7.i686
  6. glibc - 2.17 - 36.el7.x86_64
  7. glibc -devel - 2.17 - 36.el7.i686
  8. glibc -devel - 2.17 - 36.el7.x86_64
  9. ksh
  10. libaio - 0.3.109 - 9.el7.i686
  11. libaio - 0.3.109 - 9.el7.x86_64
  12. libaio -devel - 0.3.109 - 9.el7.i686
  13. libaio -devel - 0.3.109 - 9.el7.x86_64
  14. libgcc - 4.8.2 - 3.el7.i686
  15. libgcc - 4.8.2 - 3.el7.x86_64
  16. libstdc + + - 4.8.2 - 3.el7.i686
  17. libstdc + + - 4.8.2 - 3.el7.x86_64
  18. libstdc + + -devel - 4.8.2 - 3.el7.i686
  19. libstdc + + -devel - 4.8.2 - 3.el7.x86_64
  20. libXi - 1.7.2 - 1.el7.i686
  21. libXi - 1.7.2 - 1.el7.x86_64
  22. libXtst - 1.2.2 - 1.el7.i686
  23. libXtst - 1.2.2 - 1.el7.x86_64
  24. make - 3.82 - 19.el7.x86_64
  25. sysstat - 10.1.5 - 1.el7.x86_64

Oracle ODBC Drivers

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


   
   
     
     
     
     
  1. unixODBC-2.3.1-6.el7.x86_64 or later
  2. unixODBC-2.3.1-6.el7.i686 or later
  3. unixODBC-devel-2.3.1-6.el7.x86_64 or later
  4. unixODBC-devel-2.3.1-6.el7.i686 or later

安装软件包


   
   
     
     
     
     
  1. yum -y install binutils
  2. yum -y install compat -libcap1
  3. yum install -y gcc gcc - c + + glibc.i686 glibc.x86_64 glibc -devel.i686 glibc -devel.x86_64
  4. yum install -y libaio.i686 libaio.x86_64 libaio -devel.i686 libaio -devel.x86_64
  5. yum install -y libgcc.i686 libgcc.x86_64 libstdc + +.i686 libstdc + +.x86_64 libstdc + + -devel.i686 libstdc + + -devel.x86_64
  6. yum install -y libXi.i686 libXi.x86_64 libXtst.i686 libXtst.x86_64
  7. yum install -y make
  8. yum install -y sysstat
  9. yum install -y unixODBC.i686 unixODBC.x86_64 unixODBC -devel.i686 unixODBC -devel.x86_64

ksh无用  yum install -y ksh  需要安装pdksh,另外还需要安装elfutils-libelf-devel


   
   
     
     
     
     
  1. wget http:/ /mirror.centos.org/centos /5/os /x86_64/CentOS/pdksh- 5.2. 14- 37.el5_8. 1.x86_64.rpm
  2. rpm -ivh pdksh- 5.2. 14- 37.el5_8. 1.x86_64.rpm
  3. yum install -y elfutils-libelf-devel

否则会提示缺少package

 

CentOS7安装Oracle11g 11.2.0.4_第1张图片

2.8创建安装oracle所需用户与用户组

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

 

 


   
   
     
     
     
     
  1. [root @oracledb ~] # groupadd -g 200 oinstall
  2. [root @oracledb ~] # groupadd -g 201 dba
  3. [root @oracledb ~] # useradd -u 440 -g oinstall -G dba -d /home/oracle oracle
  4. [root @oracledb ~] # passwd oracle

2.9 更改kernel参数


   
   
     
     
     
     
  1. [root @oracledb ~ ] # vi /etc/sysctl.conf
  2. #末尾添加如下
  3. net.ipv4.ip_local_port_range = 9000 65500
  4. fs.file - max = 6815744
  5. kernel.shmall = 10523004
  6. kernel.shmmax = 6465333657
  7. kernel.shmmni = 4096
  8. kernel.sem = 250 32000 100 128
  9. net.core.rmem_default = 262144
  10. net.core.wmem_default = 262144
  11. net.core.rmem_max = 4194304
  12. net.core.wmem_max = 1048576
  13. fs.aio - max -nr = 1048576

执行以下命令使更改生效

[root@oracledb ~]# sysctl -p
   
   
     
     
     
     

2.10 修改系统资源限制


   
   
     
     
     
     
  1. [root@oracledb ~] # vi /etc/security/limits.conf
  2. oracle soft nproc 2047
  3. oracle hard nproc 16384
  4. oracle soft nofile 1024
  5. oracle hard nofile 65536

   
   
     
     
     
     
  1. [root@oracledb ~] # vi /etc/profile
  2. if [ $USER = "oracle" ]; then
  3. if [ $SHELL = "/bin/ksh" ]; then
  4. ulimit -p 16384
  5. ulimit -n 65536
  6. else
  7. ulimit -u 16384 -n 65536
  8. fi
  9. fi

   
   
     
     
     
     
  1. [root @oracledb ~] # vi /etc/pam.d/login #下面添加一条pam_limits.so
  2. session required pam_limits.so

2.11 创建安装目录及设置权限

创建如下的目录


   
   
     
     
     
     
  1. [oracle @oracledb /] $ tree /u01/
  2. /u01/
  3. └── oracle
  4. ├── app
  5. └── oradata

root创建


   
   
     
     
     
     
  1. [root @oracledb ~] # mkdir –p /u01/oracle
  2. [root @oracledb ~] # chown –R oracle:oinstall /u01

oracle创建


   
   
     
     
     
     
  1. [root@localhost ~] # su - oracle
  2. [oracle@localhost ~]$ chmod 755 /u01/oracle
  3. [oracle@localhost ~]$ mkdir /u01/oracle/app
  4. [oracle@localhost ~]$ chmod 755 /u01/oracle/app/
  5. [oracle@localhost ~]$ mkdir /u01/oracle/oradata
  6. [oracle@localhost ~]$ chmod 755 /u01/oracle/oradata/
  7. [oracle@localhost ~]$ vi ./.bash_profile
  8. # 在文件末尾添加
  9. umask 022
  10. export ORACLE_BASE=/u01/oracle/app

2.12 设置oracle环境变量


   
   
     
     
     
     
  1. [oracle@oracledb ~]$ vi ~/.bash_profile
  2. export ORACLE_BASE=/u01/oracle/app
  3. export ORACLE_HOME= $ORACLE_BASE/product/11.2.0/dbhome_1
  4. export PATH= $PATH: $ORACLE_HOME/bin
  5. export ORACLE_SID=orcl
  6. [oracle@oracledb ~]$ source .bash_profile #立即生效

三、安装Oracle Database

[1]上传oracle安装文件到CentOS上

[2] 解压安装文件


   
   
     
     
     
     
  1. unzip p13390677_112040_Linux-x86-64_1of7. zip
  2. unzip p13390677_112040_Linux-x86-64_2of7. zip
  3. unzip p13390677_112040_Linux-x86-64_3of7. zip
  4. unzip p13390677_112040_Linux-x86-64_4of7. zip
  5. unzip p13390677_112040_Linux-x86-64_5of7. zip
  6. unzip p13390677_112040_Linux-x86-64_6of7. zip
  7. unzip p13390677_112040_Linux-x86-64_7of7. zip
  8. 注:普通单机安装仅需 12,其余为非必需功能组件压缩包。

[3] 以oracle用户VNC 登陆,运行以下命令

安装VNC

yum install tigervnc-server

   
   
     
     
     
     

开启端口


   
   
     
     
     
     
  1. [root @oracledb ~] # firewall-cmd --permanent --zone=public --add-port=5901/tcp
  2. success
  3. [root @oracledb ~] # firewall-cmd --reload
  4. success

运行安装程序

/u01/11.2.0.4/database/runInstaller

   
   
     
     
     
     

[4]输入邮件地址及密码(oracle用户),以从oralce接收安全更新等信息

CentOS7安装Oracle11g 11.2.0.4_第2张图片

[5] 选择安装数据库软件并创建数据,也可以选择第二项仅安装数据库软件

CentOS7安装Oracle11g 11.2.0.4_第3张图片

[6]选择服务器版本

CentOS7安装Oracle11g 11.2.0.4_第4张图片

[7] 本实例中选择安装单实例数据库

CentOS7安装Oracle11g 11.2.0.4_第5张图片

[8]高级模式安装

CentOS7安装Oracle11g 11.2.0.4_第6张图片

[9] 选择语言

CentOS7安装Oracle11g 11.2.0.4_第7张图片

[10] 选择要安装的版本,这里选择 “Enterprise Edition”

CentOS7安装Oracle11g 11.2.0.4_第8张图片

[11] 指定Oracle Base 与 Software Location, 我们在oracle用户的profile文件里已设置此环境变量,此处保持默认

CentOS7安装Oracle11g 11.2.0.4_第9张图片

[12] 指定Inventory Directory, 本例保持默认

CentOS7安装Oracle11g 11.2.0.4_第10张图片

[13]选择数据库用途

CentOS7安装Oracle11g 11.2.0.4_第11张图片

[14]数据库名及服务名

CentOS7安装Oracle11g 11.2.0.4_第12张图片

[15]开启自动内存管理

CentOS7安装Oracle11g 11.2.0.4_第13张图片

[16]设置默认编码为UTF8

CentOS7安装Oracle11g 11.2.0.4_第14张图片

[17]示例方案

CentOS7安装Oracle11g 11.2.0.4_第15张图片

[18]启用Oracle企业管理控制台OEM

CentOS7安装Oracle11g 11.2.0.4_第16张图片

[19]选择数据库文件目录

CentOS7安装Oracle11g 11.2.0.4_第17张图片

[20]自动备份设置

CentOS7安装Oracle11g 11.2.0.4_第18张图片

[21]设置数据库用户名和密码[注意:密码不要以数字开头,否则后面会报错ORA-00922: 选项缺失或无效]

CentOS7安装Oracle11g 11.2.0.4_第19张图片

[22]指定oralce特权用户组,本例保持默认

CentOS7安装Oracle11g 11.2.0.4_第20张图片

[23] 接下来,oralce安装程序会对安装环境进行检查,

CentOS7安装Oracle11g 11.2.0.4_第21张图片

安装完缺少的package,重新检查

[24]显示安装信息如下。直接Finish, 开始安装。

CentOS7安装Oracle11g 11.2.0.4_第22张图片

[25] 静待oracle安装

CentOS7安装Oracle11g 11.2.0.4_第23张图片

[26]当出现以下窗口时,另开一个终端,以root用户登陆,并执行下面的命令。执行完毕后,点击OK


   
   
     
     
     
     
  1. [root @oracledb oracle] # /usr/oracle/oraInventory/orainstRoot.sh
  2. [root @oracledb oracle] # /usr/oracle/app/product/11.2.0/dbhome_1/root.sh

CentOS7安装Oracle11g 11.2.0.4_第24张图片

CentOS7安装Oracle11g 11.2.0.4_第25张图片

[27] 至此oracle 11g R2数据库安装完毕。

CentOS7安装Oracle11g 11.2.0.4_第26张图片

[28] 环境变量配置


   
   
     
     
     
     
  1. [oracle@oracledb oracle]$ vi ~/.bash_profile
  2. # 在文件末尾添加
  3. export ORACLE_BASE=/usr/oracle/app
  4. export ORACLE_HOME= $ORACLE_BASE/product/11.2.0/dbhome_1
  5. export PATH= $PATH: $ORACLE_HOME/bin
  6. export ORACLE_SID=orcl

[29]开放控制台端口,

四、配置自启动

在Linux系统中,安装好oracle数据库服务后,并不像在Windows系统下一样,oracle服务在默认情况下会随系统的启动自动启动。Linux系统中,是需要用户去手动进行设置,才能实现oracle开机自动启动的。


   
   
     
     
     
     
  1. 查看ORACLE_HOME是否设置
  2. $ echo $ORACLE_HOME
  3. /u01/app /oracle/product /11.2.0/dbhome_1

   
   
     
     
     
     
  1. 使用dbstart命令启动数据库比较方便,但是在linux上安装好oracle之后,第一次使用dbstart命令可能会报如下错误:
  2. [oracle @njdzjkdb dbhome_1] $ cd bin/
  3. [oracle @njdzjkdb bin] $ ll | grep dbs
  4. -rwxr-x---. 1 oracle oinstall 6088 11 2000 dbshut
  5. -rwxr-x---. 1 oracle oinstall 13892 1211 16: 01 dbstart
  6. [oracle @njdzjkdb bin] $ dbstart
  7. ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener Usage:
  8. /u01/app /oracle/product /11.2.0/db_1/bin/dbstart ORACLE_HOME
  9. 错误提示:ORACLE_HOME_LISTNER 没有设置
  10. 原因:
  11. dbstart和dbshut脚本文件中ORACLE_HOME_LISTNER的设置有问题,分别打开两个文件找到:用vi编辑dbstart,ORACLE_HOME_LISTNER= $1,修改为
  12. ORACLE_HOME_LISTNER= $ORACLE_HOME
  13. 前提是 $ORACLE_HOME环境设置正确
  14. [oracle @njdzjkdb bin] $ vi dbstart
  15. --dbstart为开机自启动脚本,让系统开机就去执行dbstart脚本文件,它会去读oratab文件,读到Y就会把对应的实例开机自启动
  16. --调整或确认监听路径,如ORACLE_HOME_LISTNER= /u01/app /oracle/product /11.2.0/dbhome_1或ORACLE_HOME_LISTNER= $ORACLE_HOME根据设置的监听调整路径

使用vi编辑器编辑文件/etc/oratab


   
   
     
     
     
     
  1. dbca建库时都会自动创建/etc/oratab文件
  2. #vi /etc/oratab
  3. 将“orcl:/u01/app/oracle/product/12.1.0/dbhome_1:N”,
  4. 改为“orcl:/u01/app/oracle/product/12.1.0/dbhome_1:Y”。
  5. 修改完成后,保存退出
  6. --选项代表开机是否自启动

**说明:**orcl为实例名;/u01/app/oracle/product/12.1.0/dbhome1为oracle安装目录;会因安装的情况不同而有所不同。
CentOS7安装Oracle11g 11.2.0.4_第27张图片

编辑/etc/rc.d/rc.local启动文件,添加数据库启动脚本dbstart


   
   
     
     
     
     
  1. #vi /etc/rc.d/rc.local
  2. 末尾添加:
  3. su oracle -lc "/u01/app/oracle/product/12.1.0/dbhome_1/bin/lsnrctl start"
  4. su oracle -lc /u01/app/oracle/product/12.1.0/dbhome_1/bin/dbstart
  5. 或启动指定实例
  6. su - oracle -lc "/u01/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start ORCL"
  7. su - oracle -lc /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart
  8. --命令中-c代表执行脚本,脚本dbstart中指定启动的实例,脚本lsnrctl中启动配置的监听

**说明:**/u01/app/oracle/product/12.1.0/dbhome1为oracle的安装目录,要根据实际情况进行修改。
CentOS7安装Oracle11g 11.2.0.4_第28张图片

修改DB启动配置文件


   
   
     
     
     
     
  1. #vim /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart
  2. 找到ORACLE_HOME_LISTNER这行
  3. # First argument is used to bring up Oracle Net Listener
  4. ORACLE_HOME_LISTNER= $1
  5. $1修改为如下(你的路径):
  6. ORACLE_HOME_LISTNER= /u01/app /oracle/product /11.2.0/dbhome_1

由于版本变迁,centos7 的/etc/rc.local不会开机执行,所以要手动给/etc/rc.d/rc.local添加执行权限,以下是官方说明。


   
   
     
     
     
     
  1. #!/bin/bash
  2. # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
  3. #
  4. # It is highly advisable to create own systemd services or udev rules
  5. # to run scripts during boot instead of using this file.
  6. #
  7. # In constrast to previous versions due to parallel execution during boot
  8. # this script will NOT be run after all other services.
  9. #
  10. # Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
  11. # that this script will be executed during boot.

五、启用Scott

解锁scott账户方法

六、遇到的问题

问题1:交换空间太小

安装Oracle改变swap交换空间大小

安装oracle 检查交换空间太小

CentOS7安装Oracle11g 11.2.0.4_第29张图片

问题2:先决条件检查缺少package

Oracle 11gR2 安装少包情况

CentOS7安装Oracle11g 11.2.0.4_第30张图片

问题3:oracle 11g 安装及netca,dbca乱码之解决

原因:Linux上没有安装Oracle安装时使用的字体

方法一: 上传字体库

字体库下载地址 http://download.csdn.net/detail/lidongtang/4182819

然后在Linux下执行以下命令,把字体库安装到相应位置即可


   
   
     
     
     
     
  1. mkdir -p /usr/share /fonts/zh_CN/TrueType
  2. cp zysong.ttf /usr/share /fonts/zh_CN /TrueType/

这样在安装的时候。Oracle就会提示中文了,而不再是中文乱码了。

方法二:使用英文安装

export LANG=en_US.utf-8

   
   
     
     
     
     

或者


   
   
     
     
     
     
  1. # vi /etc/sysconfig/i18n
  2. LANG= "en_US"(不会出现乱码)

CentOS7安装Oracle11g 11.2.0.4_第31张图片

问题4:无法使用命令 /usr/bin/xdpyinfo 自动检查显示器颜色

参照 无法使用命令 /usr/bin/xdpyinfo 自动检查显示器颜色。请检查是否设置了 DISPLAY 变量。 未通过 <<<<

解决办法: 不用root登陆,直接用oracle用户登陆系统

CentOS7安装Oracle11g 11.2.0.4_第32张图片

问题4:无法使用命令 /usr/bin/xdpyinfo 自动检查显示器颜色

参照 无法使用命令 /usr/bin/xdpyinfo 自动检查显示器颜色。请检查是否设置了 DISPLAY 变量。 未通过 <<<<

Exception String: Error in invoking target 'agent nmhs' of makefile '/u01/oracle/app/oracle/product/11.2.0/dbhome/sysman/lib/ins_emagent.mk'. 

google了一下,好像是oracle新版的bug,如下解决:
解决方案: 保留安装过程,另外开启一个终端窗口,将ins_emagent.mk文件中的$(MK_EMAGENT_NMECTL)更改为$(MK_EMAGENT_NMECTL) -lnnz11,然后在安装过程中点击Retry即可。
sed  -i  's/^\s$(MKEMAGENTNMECTL)\s∗$(MKEMAGENTNMECTL)\s*$/\1 -lnnz11/g'  /u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk

参考:

Oracle 11g 联机文档:Linux安装向导

CentOS 6安装Oracle 11gR2数据库

Linux上Oracle 11g安装步骤图解

CentOS 6.5_x64安装Oracle 11g R2

Oracle 与 iptables 和 SELinux 禁用关系说明

CenotOS6中文环境下安装Oracle 11g 中文乱码 解决办法

oracle 11.2.0.4 Error in invoking target 'agent nmhs' ins_emagent.mk 

 

 

你可能感兴趣的:(数据库,oracle,linux)