一、安装前准备
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
填写用户名和密码即可进行连接