本篇文章主要介绍了 CentOS 7.4 下安装 Oracle 11.2.0.4 数据库的方法, 小编觉得挺不错的, 现在分享给大家, 也给大家做个参考一起跟随小编过来看看吧
在 Linux 下安装 Oracle 数据库是一件较为麻烦的事情
由于 Linux 的安装过程中可能会选择不同的安装包, 会导致 Oracle 安装过程中缺失或多一些软件包, 很难一次性的安装成功所以, 本文详细记录了 Oracle 在 Linux 上的安装过程, 以供参考
本环境仅供软件开发和测试环境使用, 并不适合用于生产环境
Oracle 官方支持的 Linux 发行版本有 RedHat 和 Oracle Linux, 所以, 我们在 CentOS(7.4)下安装 Oracle(11gR2)时, 还需要做一些特别的准备工作
本文的 CentOS 7.4 使用官网上下载的 CentOS-7-x86_64-DVD-1708.iso 文件安装, 安装时选择 Server with GUI, 并选择 FTP Server 语言使用英语
选择安装包
为了日常使用方便, 执行命令 systemctl set-default multi-user.target, 让 linux 启动后, 直接进入字符界面
本文的 Oracle 数据库使用的是 11.2.0.4(这个版本适配红帽 7, 官网免费下载的版本并不适用于红帽 7)
附下载地址, 请使用迅雷下载即可
- https://updates.oracle.com/Orion/Services/download/p13390677_112040_Linux-x86-64_1of7.zip?aru=16716375&patch_file=p13390677_112040_Linux-x86-64_1of7.zip
- https://updates.oracle.com/Orion/Services/download/p13390677_112040_Linux-x86-64_2of7.zip?aru=16716375&patch_file=p13390677_112040_Linux-x86-64_2of7.zip
- https://updates.oracle.com/Orion/Services/download/p13390677_112040_Linux-x86-64_3of7.zip?aru=16716375&patch_file=p13390677_112040_Linux-x86-64_3of7.zip
- https://updates.oracle.com/Orion/Services/download/p13390677_112040_Linux-x86-64_4of7.zip?aru=16716375&patch_file=p13390677_112040_Linux-x86-64_4of7.zip
- https://updates.oracle.com/Orion/Services/download/p13390677_112040_Linux-x86-64_5of7.zip?aru=16716375&patch_file=p13390677_112040_Linux-x86-64_5of7.zip
- https://updates.oracle.com/Orion/Services/download/p13390677_112040_Linux-x86-64_6of7.zip?aru=16716375&patch_file=p13390677_112040_Linux-x86-64_6of7.zip
- https://updates.oracle.com/Orion/Services/download/p13390677_112040_Linux-x86-64_7of7.zip?aru=16716375&patch_file=p13390677_112040_Linux-x86-64_7of7.zip
1. 关闭防火墙
由于是开发测试环境, 为了方便, 将防火墙关闭但是, 在正式的生产环境, 千万不要这样做
首先执行命令 systemctl status firewalld.service 检查防火墙状态,
检查防火墙状态
然后, 执行命令 systemctl stop firewalld.service 关闭防火墙
当然, 我们可以执行命令 systemctl disable firewalld.service, 禁用防火墙
禁用防火墙
2. 关闭 selinux
selinux 提供了很多 Linux 的系统安全措施, 演示系统中, 将其关闭, 方便操作需要注意的是, 在正式生产环境下, 也千万不要这样做
执行命令 getenforce 查看 selinux 的状态, 初始安装的 CentOS7 是打开状态
执行命令 vi /etc/selinux/config, 编辑文件, 配置 SELINUX=disabled, 关闭 selinux
3. 为 yum 配置阿里源
在安装 Oracle 的过程中, 需要安装一些依赖包为了加快安装速度, 最好将 yum 源更新为国内的, 首推阿里 yum 源
执行命令 cd /etc/yum.repos.d/, 然后执行命令 wget http://mirrors.aliyun.com/repo/Centos-7.repo 下载阿里 yum 源
执行命令 mv CentOS-Base.repo CentOS-Base.repo.bak 备份现有源信息
执行命令 mv Centos-7.repo CentOS-Base.repo, 使用上一步中下载回来的阿里 yum 源
依次执行命令 yum clean allyum makecache 和 yum update, 更新 yum 源
4. (可选)为虚拟机生成快照
为了保险起见, 为虚拟机生成一份快照, 避免后续安装出错, 重头再来安装操作系统
5. 创建数据库目录
创建 Oracle 数据库的安装目录到 / opt 下
执行命令 mkdir -p /opt/oracle, 创建 oracle 安装目录;
执行命令 mkdir -p /opt/oraInventory, 创建 oracle 数据库配置文件目录;
执行命令 chown -R oracle:oinstall /opt/oracle, 设置 oracle 为目录的所有者;
执行命令 chown -R oracle:oinstall /opt/oraInventory, 设置 oracle 为目录的所有者
6. 创建用户和用户组
Oracle 安装过程中, 需要使用固定的用户和用户组
执行命令 groupadd oinstall, 创建 oinstall 用户组;
执行命令 groupadd dba, 创建 dba 用户组;
执行命令 useradd -g oinstall -g dba -m oracle, 创建 oracle 用户;
执行命令 passwd oracle, 为 oracle 用户设置密码, 为了好记密码为 123456;
执行命令 id oracle, 查看刚刚创建的 oracle 用户信息
创建用户组及用户
执行命令 vi /home/oracle/.bash_profile, 添加如下内容, 为 oracle 用户设置环境变量
- export ORACLE_BASE=/opt/oracle
- export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
- export ORACLE_SID=orcl
- export ORACLE_TERM=xterm
- export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
- export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
- export LANG=C
- export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
执行命令 source /home/oracle/.bash_profile, 让配置立即生效
7. 对 oracle 用户设置限制
为了提高软件运行性能, 需要对 oracle 用户设置限制
执行命令 vi /etc/security/limits.conf, 添加如下内容:
- oracle soft nproc 2047
- oracle hard nproc 16384
- oracle soft nofile 1024
- oracle hard nofile 65536
验证最新版的 PAM 已经被加载, 如果不存在的话, 在 /etc/pam.d/login 文件中添加如下内容:
session required pam_limits.so
验证当前的 ulimits, 并启用 这个可以通过很多方式来做, 在 / etc/profile 添加如下内容是推荐的方式:
- if [ $USER = "oracle" ]; then
- if [ $SHELL = "/bin/ksh" ]; then
- ulimit -u 16384
- ulimit -n 65536
- else
- ulimit -u 16384 -n 65536
- fi
- fi
8. 修改 OS 系统标识
Oracle 数据库支持在红帽和 Oracle Linux 上安装, 不支持在 CentOS 上安装, 所以需要修改 OS 系统标识为红帽
执行命令 vi /etc/redhat-release, 修改系统标识为 redhat-7
9. 修改内核参数
部分参数, 在 Oracle 安装过程中, 可自动修复(使用 root 用户执行 Oracle 安装程序给出的修复脚本), 但是有部分不能自动修复
执行命令 vi /etc/sysctl.conf
修改的内核参数如下:
- kernel.shmall = 2097152
- kernel.sem = 250 32000 100 128
- fs.file-max = 6815744
- net.ipv4.ip_local_port_range = 9000 65500
- net.core.rmem_default = 262144
- net.core.wmem_default = 262144
- net.core.rmem_max = 4194304
- net.core.wmem_max = 1048576
- kernel.shmmax = 2079272960
- kernel.shmmni = 4096
- fs.aio-max-nr = 1048576
执行命令 sysctl -p, 使修改的内核参数生效
10. 安装依赖的软件包
Oracle11gR2 在 CentOS7.4 上安装, 缺少如下 19 个包, 需要执行命令 yum install -y gcc libaio glibc.i686 compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf-devel glibc-devel glibc-headers gcc-c++ libaio-devel libaio-devel.i686 libgcc.i686 libstdc++ libstdc++.i686 unixODBC unixODBC.i686 unixODBC-devel unixODBC-devel.i686 ksh, 来安装需要的 19 个依赖包
针对 pdksh 找不到的问题, 可安装 ksh 即可据说 oracle 使用新的 ksh 了, 但是检查脚本中还使用的是 pdksh
缺少的依赖包
在 ssh 终端中安装完依赖的包后, 再次检出环境, 发现还有以下包缺失其实是 xxx(i386),CentOS7 中已经使用 i686 的缘故, 直接忽略, 继续安装即可
安装完依赖包
11. 安装 Oracle
启动图形安装界面, 按照提示安装, 检查通不过的时候, 请选择忽略即可
进入 Oracle 数据库的安装文件目录, 如 / software/database, 执行命令./runInstaller, 启动 Oracle 数据库安装程序
启动安装器
按照安装向导提示, 一步一步的往下安装, 需要注意的是使用中文一般要选 ZHS16GBK, 否则会出现乱码
安装过程中
安装时到 70% 左右会出现一个错误
Error in invoking target 'agent nmhs' of makefile '/u01/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk'
解决方案: 保留安装过程, 另外开启一个终端窗口, 将 ins_emagent.mk 文件中的 (MK_EMAGENT_NMECTL) 更改为 $(MK_EMAGENT_NMECTL) -lnnz11, 然后在安装过程中点击 Retry 即可
在 vim 中, 键入 / 执行查找, 键入 i 切换到插入状态
大约 10 分钟后, 安装成功
安装成功
12 启动关闭
用 oracle 用户登录系统, 执行命令 sqlplus / as sysdba, 连接到数据库
启动命令: startup
关闭命令: shutdown
启动监听器, 在 linux 命令行下 (不是在 sqlplus) 执行 lsnrctl start 命令
来源: http://www.phperz.com/article/18/0319/361425.html