CentOS7下使用RPM包安装Oracle 19c

一、概述

Oracle Database 19c ,也就是12.2.0.3,最初在livesql.oracle.com上发布,是Oracle Database 12c和18c系列产品的最终版本,因此也是“长期支持”版本(以前称为“终端版本”)。 “长期支持”意味着Oracle Database 19c提供4年的高级支持(截止到2023年1月底)和至少3年的延长支持(截至2026年1月底)。 这个扩展的支持窗口对我们的很多客户至关重要,因为很多客户制定了相关的升级策略。有关最新的Oracle支持计划,请参阅My Oracle Support上的文档ID 742060.1。截止目前,Oracle Database 19c已经可以在Oracle数据库一体机上使用了。

19c的安装,除了支持图形、命令行、静默安装外,最大的改进是支持RPM安装。Linux上安装Oracle 19c,需要OL7、RHEL7、SLES12及以上的更高版本。Oracle Enterprise Linux6和RedHat Linux6并没有出现在官方给的列表中。

19c相关技术文档:

https://docs.oracle.com/en/database/oracle/oracle-database/19/index.html

https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/operating-system-checklist-for-oracle-database-installation-on-linux.html

19c的RPM包下载链接:

https://www.oracle.com/database/technologies/oracle-database-software-downloads.html

Linux:https://www.oracle.com/database/technologies/oracle19c-linux-downloads.html

19c开始支持企业版本的RPM,如下图所示,RPM包有2.5G。

二、环境准备

测试服务器配置(VM虚拟机):2vCPU/ Mem 4G /Disk 20G

OS:CentOS 7.8 x64 (最小化安装)

oracle版本:19c(19.3)

三、基础设置

## 关闭SELINUX

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

sed -i 's/SELINUXTYPE=targeted/#SELINUXTYPE=targeted/' /etc/selinux/config

setenforce 0

## 关闭防火墙(若不关闭防火墙,后续需放开相应端口)

systemctl disable firewalld.service

systemctl stop firewalld.service

systemctl disable iptables.service

systemctl stop iptables.service

## 修改用户进程限制

vi /etc/security/limits.d/20-nproc.conf

不同于编译安装时需要手动修改oracle用户的句柄数和内核参数,RPM安装时会自动设置这些参数,所以一般不用再做设置。

安装完成后可以通过/etc/security/limits.d/oracle-database-preinstall-19c.conf文件查看oracle句柄数相关设置,通过cat /etc/sysctl.d/99-oracle-database-preinstall-19c-sysctl.conf查看oracle内核相关参数设置。这些默认设置一般可以根据机器性能情况再改大一些,但是不能小于默认设置。

四、安装preinstall

下载地址:https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/index.html

安装oracle-database-preinstall需要很多依赖包,如果有yum源可以自动解决依赖关系,如果没有只能提前准备好安装包。

cd /data/tools

wget https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-2.el7.x86_64.rpm

yum -y localinstall oracle-database-preinstall-19c-1.0-2.el7.x86_64.rpm

五、安装及配置oracle 19c

1.安装oracle-database-ee-19c

RPM包下载链接:https://www.oracle.com/database/technologies/oracle19c-linux-downloads.html

本文中先在本地下载RPM安装包,再使用rz命令上传至服务器内。

cd /data/tools

yum -y localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm

2.配置文件

## 可以通过如下文件配置实例端口和路径

cat /etc/sysconfig/oracledb_ORCLCDB-19c.conf

## 另可以通过 /etc/init.d/oracledb_ORCLCDB-19c 此文件修改实例名称SID名称等更详细的信息,更改之前最好备份。

3.创建数据库实例

建立数据库实例(大概十几分钟的过程,和服务器性能有关。本文中测试服务器配置初始化花了四十分钟>_<)

/etc/init.d/oracledb_ORCLCDB-19c configure

4.配置环境变量

和11g相同,19c的oracle用户的profile,需要增加环境变量。

vi /home/oracle/.bash_profile //文件末尾添加如下内容

source /home/oracle/.bash_profile

5.重启服务器及Oracle数据库

## 切换至oracle用户

su - oracle

## 启动监听

lsnrctl start

## 启动数据库

sqlplus / as sysdba

startup

六、使用数据库

1.修改oracle用户密码(本文中密码为:OrAclE123#)

passwd oracle

2.登陆数据库

su - oracle

sqlplus / as sysdba

3.输入数据库语句确认数据库语句可以正常执行

show pdbs;

4.修改用户密码

## 查看已启用的用户

select username from dba_users where account_status='OPEN';

## 修改sys、system密码

password system

password sys

alter user system identified by PassWr0d;

alter user sys identified by PassWr0d;

注意:

在root用户权限下,需要输入账号和密码才能进入数据库;

在oracle用户权限下,不需要输入账号和密码就能进入数据库。

七、服务管理

需切换至oracle用户操作(su - oracle)

启动:lsnrctl start

关闭:lsnrctl stop

重启:lsnrctl restart

查看状态:lsnrctl status

八、Navicat连接Oracle数据库

1.开放端口

防火墙放开端口1521。本文测试服务器系统没有启动防火墙,所以不需配置。

2.服务名查询

在数据库中输入查询语句,

select global_name from global_name;

记下“ORCLCDB”。

3.Navicat新建Oracle连接

## 服务名不要乱写,不然就会出现如下错误:ORA-12514

或者服务名写错,当选择SID时,就会出现如下错误:ORA-12505

服务名写对了,选择SID也可以连接成功。

九、Oracle的卸载

切换到oracle用户权限下进行下列操作(su - oracle)

1.切换到oracle的deinstall目录

cd /opt/oracle/product/19c/dbhome_1/deinstall

2.运行deinstall文件

http://www.toutiao.com/a6946459456678937096/deinstall

3.在删除的过程中有以下几点需要确认的:(其它没有提到的都回车)

Specify the list of database names that are configured in this Oracle home [ORCLCDB]:

指定需要删除的数据库名称,默认即可,直接回车。

The details of database(s) orcl have been discovered automatically. Do you still want to modify the details of orcl database(s)? [n]:

是否需要修改数据库的详细信息,默认n,直接回车。

Do you want to continue (y - yes, n - no)? [n]: y

是否继续,填写y,回车

脚本结尾,提示需要使用root用户删除如下四个目录。

rm -rf /etc/oraInst.loc

rm -rf /opt/ORCLfmap

rm -rf /etc/oratab

rm -rf /opt/oracle


下一篇:Centos7下设置Oracle数据库开机自启