centos7.9安装oracle21c

centos7.9安装oracle21c

环境
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,下载并上传到服务器

 

  • 安装包下载

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

下载地址(需登录后才能下载):

Database Software Downloads | Oracle

  • 上传安装包

将下载的安装包上传到服务器(/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.rpm

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

步骤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.rpm

步骤3:配置数据库
执行:/etc/init.d/oracledb_ORCLCDB-21c configure

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

步骤4:设置环境变量
执行命令:vi /home/oracle/.bash_profile

#添加以下内容

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

export PATH=$PATH:/opt/oracle/product/21c/dbhome_1/bin

export ORACLE_SID=ORCLCDB

保存退出后 执行以下命令,使环境变量生效

source /root/.bash_profile

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

systemctl disable firewalld

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

步骤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 

步骤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;

问题记录

问题1:创建用户的时候报错:ORA-65096: invalid common user or role name

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

解决方法1(亲测有效):

创建的新用户名前带c##或C##,例如:

create user c##tester identified by tester ;
alter user c##tester quota unlimited on users; 

alter user c##tester account unlock;

GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW , DROP ANY  VIEW,DBA,CONNECT,RESOURCE,CREATE SESSION TO c##tester ;

解决方法2(未自测):

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

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

2.创建用户并授权

create user acount_name identified by passwd;

grant dba to acount_name;

问题2:执行/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

问题3:连接数据库报错ORA-12526

解决办法:

SQL> alter system disable restricted session;

问题4:在sqlplus / as sysdba中执行startup报错:ORA-12791: The oradism utility does not have proper permissions.

官方文档:

解决办法:

修改/opt/oracle/product/21c/dbhome_1/bin/oradism文件的权限为4750.

命令:chmod 4750 oradism

问题5:数据库连接失败: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

这种情况多是由于安装步骤4设置的环境变量没生效导致。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值