环境
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
上传安装包
下载的安装包如下:
下载完成后使用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 安装即可
步骤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
配置完成相当于数据库已经安装完成 ,这一步耗时会比较久。
步骤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 修改为图片中配置并保存
步骤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;
时候报错了: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;
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