环境

centos7.9 Cpu:4核,内存8g,硬盘40g

PS:centos7.6安装失败

安装准备

预安装包下载

如果OEL平台,只需要执行:yum -y install oracle-database-preinstall-21c

如果不是OEL平台,首先要下载对应平台的RPM,我用的是centos7.9

下载链接地址:Oracle Linux 7 (x86_64) Latest | Oracle, Software. Hardware. Complete.

搜索preinstall-21c,下载并上传到服务器

roketmq下载centos7 centos7.9下载_数据库

安装包下载

官网的安装文件下载,目前提供了三个平台(Linux x86-64、HP-UX ia64和Windows x64)的介质。Linux平台官网提供了rpm和home两种安装途径,我们选择rpm安装。

下载地址:

Database Software Downloads | Oracle

roketmq下载centos7 centos7.9下载_roketmq下载centos7_02

上传安装包

下载的安装包如下:

roketmq下载centos7 centos7.9下载_安装包_03

下载完成后使用winscp等工具将安装包上传到服务器(/opt/data目录,oracle默认安装在/opt/oracle下)

安装步骤

root用户登录,并进入到安装包所在路径:/opt/data

步骤1:安装oracle-database-preinstall-21c-1.0-1.el7.x86_64.rpm

执行安装命令:rpm -ivh oracle-database-preinstall-21c-1.0-1.el7.x86_64

PS:此步骤可能会提示缺少很多依赖包,使用yum install xx 安装即可

roketmq下载centos7 centos7.9下载_linux_04

步骤2:安装21c数据库软件oracle-database-ee-21c-1.0-1.x86_64.rpm

执行安装命令: yum install -y oracle-database-ee-21c-1.0-1.ol7.x86_64

步骤3:配置数据库

执行:/etc/init.d/oracledb_ORCLCDB-21c configure

配置完成相当于数据库已经安装完成 ,这一步耗时会比较久。

roketmq下载centos7 centos7.9下载_linux_05

步骤4:设置环境变量

执行命令:vi /root/.bash_profile
#添加以下内容
exportORACLE_HOME=/opt/oracle/product/21c/dbhome_1
export PATH=$PATH:/opt/oracle/product/21c/dbhome_1/bin
export ORACLE_SID=ORCLCDB
保存退出后 {esc -> :wq} 执行以下命令,使环境变量生效
source /root/.bash_profile

步骤5:关闭防火墙和修改selinux配置

systemctl stop firewalld

systemctl disable firewalld

vi /etc/selinux/config 修改为图片中配置并保存

roketmq下载centos7 centos7.9下载_roketmq下载centos7_06

步骤6:启动oracle服务

1.切换到oracle账户:su oracle

2.打开sql窗口:sqlplus / as sysdba 

3.启动服务:startup  (如果报ORA-01081: cannot start already-running ORACLE - shut it down first错误可忽略,继续下一步)

4.退出:exit

步骤7:启动监听器(oracle账户)

切换到bin目录:cd $ORACLE_HOME/bin  

启动监听:lsnrctl start 

roketmq下载centos7 centos7.9下载_roketmq下载centos7_07

步骤8:修改system密码(oracle账户)

打开sql窗口:sqlplus / as sysdba 

执行改密码命令:alter user system identified by 123456; 

查询 Oracle的SID:select instance_name from v$instance;  

步骤9:创建账户

至此,数据库就装好了,就可以用navicat远程连接oracle了。亲测navicat12连接提示“ORA-28040没有匹配的验证协议”,navicat15可以成功连接

1.su oracle

2.sqlplus / as sysdba

3.执行创建用户命令:create user acount_name identified by passwd;

时候报错了:ORA-65096: invalid common user or role name

错误原因:用户想在PDBORCL中创建tff用户,却未设置会话container到PDB,而在CDB中创建公有用户因无法通过名称或角色验证出错.

解决方法:

1.查看容器并进入到该容器

select sys_context ('USERENV', 'CON_NAME') from dual; alter session set container=ORCLPDB1;

roketmq下载centos7 centos7.9下载_oracle_08

2.创建用户并授权

create user acount_name identified by passwd;
grant dba to acount_name;

问题

问题1:执行/etc/init.d/oracledb_ORCLCDB-21c configure时,报错Port 1521 appears to be in use by another application.
解决办法:
[root@localhost admin]# netstat -tunlp|grep 1521
tcp6 0 0 :::1521 :::* LISTEN 36807/tnslsnr
[root@localhost admin]# kill 36807