Linux(linux版本 centos 7) 下安装 oracle 19c详细教程(新手小白易上手)

一、安装前准备

1、下载预安装包
复制代码
wget http://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

预安装包下载成功

2、下载oracle安装包

下载地址如下

https://www.oracle.com/cn/database/technologies/oracle-database-software-downloads.html#19c

将下载好的oracle安装包上传到服务器上

在root目录下

二、执行安装命令

1、安装预安装包

执行预安装包命令,等待安装

复制代码
yum -y localinstall oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

预安装包成功

2、安装oracle

执行安装命令,等待安装,过程可能有点久

复制代码
yum -y localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm

安装完成

三、初始化数据库

1、执行命令,完成数据库初始化
复制代码
/etc/init.d/oracledb_ORCLCDB-19c configure

会出现如下错误

2、问题解决

LISTENER:No valid IP Address returned for the host VM-20-12-centos.

没有为主机 VM-20-12-centos 返回有效的IP地址

1、修改/etc/sysconfig/network 文件,在末尾添加上 HOSTNAME=dave(这个名字可以随意),末尾就是主机名,修改完后直接重启服务器

vim /etc/sysconfig/network

在末尾添加

HOSTNAME=dave HOSTNAME=dave

2、等待服务器重启完成后,修改主机名为 dave,与 /etc/sysconfig/network 中配置的一致

更改主机名

hostname dave

3、修改hosts 文件,在最后添加 ip 映射,映射到刚刚的主机名上

vim /etc/hosts

这里的 x.x.x.x 是ip地址,如果是线上服务器,使用的是内网ip,而不是公网ip

x.x.x.x dave

4、修改完成后,重新执行初始化命令,等待数据库的初始化

到这一步已经安装成功了

5、修改 oracle 用户的密码

复制代码
passwd oracle

输入密码和确认密码即可

以上从安装到初始化数据库都是在 root 用户下进行

四、配置环境变量

这一步需要切换到 oracle 用户下进行

su oracle

设置环境变量

执行命令

vim .bash_profile

在文件后面添加环境变量

export ORACLE_BASE=/opt/oracle

export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1

export ORACLE_SID=ORCLCDB

export ORACLE_PDB_SID=ORCLPDB1

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

添加完成后保存退出

执行命令生效

复制代码
# 使刚才的配置生效
source .bash_profile

五、使用数据库

1、登录数据库
复制代码
# 登录数据库
sqlplus / as sysdba
# 显示数据库
show pdbs
2、更改system用户的密码

登录后才能进行修改

-- 修改密码

alter user system identified by 123456;

出现问题:当前调整必须指定所有容器

ERROR at line 1: ORA-65066: The specified changes must apply to all containers

解决方法:

当前会话是指定所有容器,如果不是可以通过下面命令调整会话

alter session set container=cdb$root;

-- 出现以下提示说明修改成功

-- Session altered.

再次执行修改密码的语句即可成功修改

3、查询服务名

-- 查询当前服务名
select global_name from global_name;

我这里的是 ORCLEDB1,通过Navicat连接需要用到

4、注意点

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

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

六、通过Navicat连接 oracle

1、在防火墙上开放端口

开放端口

firewall-cmd --permanent --zone=public --add-port=1521/tcp

重启防火墙

systemctl restart firewalld.service

2、开放安全组端口

这里我用的是腾讯云,需要设置防火墙,开放端口

3、连接配置

主机:服务器的公网 ip 地址

服务名:刚刚查出来的那个服务名称,我这里是 ORCLEDB1

填写用户名和密码即可进行连接

相关推荐
followless32 分钟前
linux server中搭建questasim 10.6c & ise14.7
linux·fpga开发
The Chosen One9851 小时前
【Linux】深入理解Linux进程(二):进程的状态
linux·运维·服务器·开发语言·git
草莓熊Lotso1 小时前
Linux Socket 编程筑基:从底层本质到核心 API,一文吃透 Socket 预备知识
linux·运维·服务器·数据库·c++
hhb_6181 小时前
Terra常见技术问题梳理与实战应用案例解析
运维·服务器·网络
say_fall1 小时前
装软件慢到崩溃?用户创建总出错?Linux 工具避坑指南
linux·运维·服务器·c++·学习
GZ_TOGOGO1 小时前
2026 年 RHCE 考试到底有哪些变化?给你盘盘干货
运维·rhce·rhce考试·rhce认证·it培训·rhce 10.0
小则又沐风a1 小时前
基础的开发工具(2)---Linux
java·linux·前端
一个学Java小白1 小时前
LV.12 Linux应用开发综合实战-在线词典
linux·运维·服务器
开开心心_Every2 小时前
免费简洁的安卓黄历日历,软件推荐
运维·服务器·随机森林·pdf·电脑·excel·最小二乘法
代码中介商2 小时前
Linux TCP 协议深度解析:从状态机到拥塞控制
linux·网络·tcp/ip