百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

CentOS7下使用RPM包安装Oracle 19c

ccwgpt 2024-11-30 19:21 69 浏览 0 评论

一、概述

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

*           soft     nproc    unlimited
*           hard    nproc    unlimited
*           soft     nofile    65536
*           hard    nofile    65536

不同于编译安装时需要手动修改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 //文件末尾添加如下内容

export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export ORACLE_SID=ORCLCDB
export PATH=$ORACLE_HOME/bin:$PATH:$HOME/.local/bin:$HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export NLS_LANG=AMERICAN_AMERICA.UTF8

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文件

./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

至此,Oracle删除完毕。

相关推荐

一个基于.Net Core遵循Clean Architecture原则开源架构

今天给大家推荐一个遵循CleanArchitecture原则开源架构。项目简介这是基于Asp.netCore6开发的,遵循CleanArchitecture原则,可以高效、快速地构建基于Ra...

AI写代码翻车无数次,我发现只要提前做好这3步,bug立减80%

写十万行全是bug之后终于找到方法了开发"提示词管理助手"新版本那会儿,我差点被bug整崩溃。刚开始两周,全靠AI改代码架构,结果十万行程序漏洞百出。本来以为AI说没问题就稳了,结果...

OneCode低代码平台的事件驱动设计:架构解析与实践

引言:低代码平台的事件驱动范式在现代软件开发中,事件驱动架构(EDA)已成为构建灵活、松耦合系统的核心范式。OneCode低代码平台通过创新性的注解驱动设计,将事件驱动理念深度融入平台架构,实现了业务...

国内大厂AI插件评测:根据UI图生成Vue前端代码

在IDEA中安装大厂的AI插件,打开ruoyi增强项目:yudao-ui-admin-vue31.CodeBuddy插件登录腾讯的CodeBuddy后,大模型选择deepseek-v3,输入提示语:...

AI+低代码技术揭秘(二):核心架构

本文档介绍了为VTJ低代码平台提供支持的基本架构组件,包括Engine编排层、Provider服务系统、数据模型和代码生成管道。有关UI组件库和widget系统的信息,请参阅UI...

GitDiagram用AI把代码库变成可视化架构图

这是一个名为gitdiagram的开源工具,可将GitHub仓库实时转换为交互式架构图,帮助开发者快速理解代码结构。核心功能一键可视化:替换GitHubURL中的"hub...

30天自制操作系统:第六天:代码架构整理与中断处理

1.拆开bootpack.c文件。根据设计模式将对应的功能封装成独立的文件。2.初始化pic:pic(可编程中断控制器):在设计上,cpu单独只能处理一个中断。而pic是将8个中断信号集合成一个中断...

AI写代码越帮越忙?2025年研究揭露惊人真相

近年来,AI工具如雨后春笋般涌现,许多人开始幻想程序员的未来就是“对着AI说几句话”,就能轻松写出完美的代码。然而,2025年的一项最新研究却颠覆了这一期待,揭示了一个令人意外的结果。研究邀请了16位...

一键理解开源项目:两个自动生成GitHub代码架构图与说明书工具

一、GitDiagram可以一键生成github代码仓库的架构图如果想要可视化github开源项目:https://github.com/luler/reflex_ai_fast,也可以直接把域名替换...

5分钟掌握 c# 网络通讯架构及代码示例

以下是C#网络通讯架构的核心要点及代码示例,按协议类型分类整理:一、TCP协议(可靠连接)1.同步通信//服务器端usingSystem.Net.Sockets;usingTcpListene...

从复杂到优雅:用建造者和责任链重塑代码架构

引用设计模式是软件开发中的重要工具,它为解决常见问题提供了标准化的解决方案,提高了代码的可维护性和可扩展性,提升了开发效率,促进了团队协作,提高了软件质量,并帮助开发者更好地适应需求变化。通过学习和应...

低代码开发当道,我还需要学习LangChain这些框架吗?| IT杂谈

专注LLM深度应用,关注我不迷路前两天有位兄弟问了个问题:当然我很能理解这位朋友的担忧:期望效率最大化,时间用在刀刃上,“不要重新发明轮子”嘛。铺天盖地的AI信息轰炸与概念炒作,很容易让人浮躁与迷茫。...

框架设计并不是简单粗暴地写代码,而是要先弄清逻辑

3.框架设计3.框架设计本节我们要开发一个UI框架,底层以白鹭引擎为例。框架设计的第一步并不是直接撸代码,而是先想清楚设计思想,抽象。一个一个的UI窗口是独立的吗?不是的,...

大佬用 Avalonia 框架开发的 C# 代码 IDE

AvalonStudioAvalonStudio是一个开源的跨平台的开发编辑器(IDE),AvalonStudio的目标是成为一个功能齐全,并且可以让开发者快速使用的IDE,提高开发的生产力。A...

轻量级框架Lagent 仅需20行代码即可构建自己的智能代理

站长之家(ChinaZ.com)8月30日消息:Lagent是一个专注于基于LLM模型的代理开发的轻量级框架。它的设计旨在简化和提高这种模型下代理的开发效率。LLM模型是一种强大的工具,可以...

取消回复欢迎 发表评论: