CentOS下如何安装Oracle数据库
创始人
2024-12-22 01:21:48
0次

本环境仅供软件开发和测试环境使用,并不适合用于生产环境。

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。语言使用英语。

CentOS下如何安装Oracle数据库 

选择安装包

为了日常使用方便,执行命令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检查防火墙状态,

CentOS下如何安装Oracle数据库 

检查防火墙状态

然后,执行命令systemctl stop firewalld.service关闭防火墙。

当然,我们可以执行命令systemctl disable firewalld.service,禁用防火墙。

CentOS下如何安装Oracle数据库 

禁用防火墙

2. 关闭selinux

selinux提供了很多linux的系统安全措施,演示系统中,将其关闭,方便操作。需要注意的是,在正式生产环境下,也千万不要这样做。

执行命令getenforce查看selinux的状态,初始安装的centos7是打开状态。

执行命令vi /etc/selinux/config,编辑文件,配置selinux=disabled,关闭selinux。

3. 为yum配置阿里源

在安装oracle的过程中,需要安装一些依赖包。为了加快安装速度,最好将yum源更新为国内的,首推阿里yum源。

  1. 执行命令cd /etc/yum.repos.d/,然后执行命令wget http://mirrors.aliyun.com/repo/centos-7.repo下载阿里yum源。

  2. 执行命令mv centos-base.repo centos-base.repo.bak备份现有源信息。

  3. 执行命令mv centos-7.repo centos-base.repo,使用上一步中下载回来的阿里yum源。

  4. 依次执行命令yum clean all、yum makecache和yum update,更新yum源。

4. (可选)为虚拟机生成快照

为了保险起见,为虚拟机生成一份快照,避免后续安装出错,重头再来安装操作系统。

5. 创建数据库目录

创建oracle数据库的安装目录到/opt下。

  1. 执行命令mkdir -p /opt/oracle,创建oracle安装目录;

  2. 执行命令mkdir -p /opt/orainventory,创建oracle数据库配置文件目录;

  3. 执行命令chown -r oracle:oinstall /opt/oracle,设置oracle为目录的所有者;

  4. 执行命令chown -r oracle:oinstall /opt/orainventory,设置oracle为目录的所有者。

6. 创建用户和用户组

oracle安装过程中,需要使用固定的用户和用户组。

  1. 执行命令groupadd oinstall,创建oinstall用户组;

  2. 执行命令groupadd dba,创建dba用户组;

  3. 执行命令useradd -g oinstall -g dba -m oracle,创建oracle用户;

  4. 执行命令passwd oracle,为oracle用户设置密码,为了好记密码为123456;

  5. 执行命令id oracle,查看刚刚创建的oracle用户信息。

CentOS下如何安装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
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

CentOS下如何安装Oracle数据库 

缺少的依赖包

在ssh终端中安装完依赖的包后,再次检出环境,发现还有以下包缺失。其实是xxx(i386),centos7中已经使用i686的缘故,直接忽略,继续安装即可。

CentOS下如何安装Oracle数据库 

安装完依赖包

11. 安装oracle

启动图形安装界面,按照提示安装,检查通不过的时候,请选择忽略即可。

进入oracle数据库的安装文件目录,如/software/database,执行命令./runinstaller,启动oracle数据库安装程序。

CentOS下如何安装Oracle数据库 

启动安装器

按照安装向导提示,一步一步的往下安装,需要注意的是使用中文一般要选zhs16gbk,否则会出现乱码。

CentOS下如何安装Oracle数据库 

安装过程中

安装时到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分钟后,安装成功。

CentOS下如何安装Oracle数据库 

安装成功

12 启动关闭

用oracle用户登录系统,执行命令sqlplus / as sysdba,连接到数据库。

启动命令:startup

关闭命令:shutdown

启动监听器,在linux命令行下(不是在sqlplus)执行lsnrctl start命令。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...