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

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

相关推荐
山河君5 分钟前
ubuntu使用DeepSpeech进行语音识别(包含交叉编译)
linux·ubuntu·语音识别
鹏大师运维10 分钟前
【功能介绍】信创终端系统上各WPS版本的授权差异
linux·wps·授权·麒麟·国产操作系统·1024程序员节·统信uos
筱源源12 分钟前
Elasticsearch-linux环境部署
linux·elasticsearch
萨格拉斯救世主15 分钟前
jenkins使用slave节点进行node打包报错问题处理
运维·jenkins
川石课堂软件测试26 分钟前
性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台
运维·javascript·深度学习·jmeter·docker·容器·grafana
pk_xz1234562 小时前
Shell 脚本中变量和字符串的入门介绍
linux·运维·服务器
小珑也要变强2 小时前
Linux之sed命令详解
linux·运维·服务器
Lary_Rock4 小时前
RK3576 LINUX RKNN SDK 测试
linux·运维·服务器
云飞云共享云桌面6 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
Peter_chq7 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端