RPM包方式安装Oracle21c的方法详解
前言
- 北京时间2021.8.14 Oracle发布了最新的数据库版本Oracle21c, Oracle规划不再发布Oracle20c和Oracle22c, 直接进发布Oracle21c和oracle23c, 其中Oracle21c 没有扩展支持, 支持时间应该不会到2024年,预计使用的客户不会很多.
- 但是oracle21c的改进事项还是很多的包括了native的block chain 以及 json和javascript的支持.
- 这里面参考一下云和恩墨的路线图来进行说明, 感谢云和恩墨老师的知识资料
- 注意oracle将非长期支持的版本命名为创新版本
1. 环境准备
本次安装遇到了一个深坑,CentOS8.0安装时很多不兼容性,强行安装也失败了,提示缺少部分java方式,所以没办法,换用的Oracle Enterprise Linux 8.4 安装很顺畅,一个半小时就完成相应的工作了.
Oracle官网下载OEL最新版本.
建议可以讲环境安装的全面一点可以节约很多时间,剩下获取新的包了.
安装好操作系统备用.Oracle官网下载rpm包, 注意需要选择下载el8的不能选择el7的.
https://download.oracle.com/otn/linux/oracle21c/oracle-database-ee-21c-1.0-1.ol8.x86_64.rpm?AuthParam=1629176797_ffffc61959e496fcaf6ca82b0509e16e
https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/getPackage/oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm注意一个是 oracle本体包,一个是Oracle的preinstall的包,安装的话非常简单.
2. rpm安装.
首先安装preinstall
yun localinstall oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm
再进行安装ee数据库的安装
yum localinstall oracle-database-ee-21c-1.0-1.ol8.x86_64.rpm
注意事项:
机器需要能够上网,需要能够下载依赖的包
存储空间要足够,避免文件加载失败.
3. 数据库初始化
Oracle的21c与之前的版本完全一致,没有特别的修改,需要设置基本上相同的配置文件即可
3.1 修改初始化脚本, 注意需要修改为自己定义的服务名以及字符集等. vim /etc/init.d/oracledb_ORCLCDB-21c 将内容修改为如下: export ORACLE_HOME=/opt/oracle/product/21c/dbhome_1 export ORACLE_SID=ORA21C export TEMPLATE_NAME=General_Purpose.dbc export CHARSET=ZHS16GBK export PDB_NAME=ORA21CPDB export LISTENER_NAME=LISTENER export NUMBER_OF_PDBS=1 export CREATE_AS_CDB=true 3.2 因为修改了自定义的服务名,所以需要复制一个配置文件. scp /etc/sysconfig/oracledb_ORCLCDB-21c.conf /etc/sysconfig/oracledb_ORA21C-21c.conf 3.3 执行数据库初始化的脚本 /etc/init.d/oracledb_ORCLCDB-21c configure # 注意这一步可能耗时比较久一些,需要等待执行成功 # CentOS8 就是这个地方报错,造成后续失败了. 3.4 修改环境变量,使之能够登录数据库,以及设置NLS_LANG,打开sqlplus可以正常显示中文信息. vim /etc/profile.d/oracle21c.sh export ORACLE_HOME=/opt/oracle/product/21c/dbhome_1 export PATH=$PATH:/opt/oracle/product/21c/dbhome_1/bin export ORACLE_SID=ORA21C export NLS_LANG='SIMPLIFIED CHINESE_CHINA.AL32UTF8' 保存并且切换用户就会生效. 3.5 登录数据库并且修改oracle系统管理员密码 passwd oracle su - oracle sqlplus / as sysdba alter user system identified by yournewpassword ; 3.6 注意需要添加一个存储过程,能够在开机时自动将pdb打开 CREATE TRIGGER open_all_pdbs AFTER STARTUP ON DATABASE BEGIN EXECUTE IMMEDIATE 'alter pluggable database all open'; END open_all_pdbs; /
4. 设置开机自动启动设置开机自动启动能够节约很多时间.
4.1 修改配置文件 vim /etc/oratab # 注意将N 修改为 Y ORA21C:/opt/oracle/product/21c/dbhome_1:Y 4.2 设置启动脚本 vim /usr/bin/oracle.sh #添加内容如下 #! /bin/bash # script For oracle19c.service /opt/oracle/product/21c/dbhome_1/bin/lsnrctl start /opt/oracle/product/21c/dbhome_1/bin/dbstart /opt/oracle/product/19c/dbhome_1 4.3 设置可执行权限 chmod 777 /usr/bin/oracle.sh 4.4 设置一个服务,并且设置为开机自动启动 vim /etc/systemd/system/oracle21c.service # 添加如下内容 [Unit] Description=Oracle21c After=syslog.target network.target [Service] LimitMEMLOCK=infinity LimitNOFILE=65535 Type=oneshot RemainAfterExit=yes User=oracle Environment="ORACLE_HOME=/opt/oracle/product/21c/dbhome_1" ExecStart=/usr/bin/oracle.sh [Install] WantedBy=multi-user.target # 设置开机启动 systemctl enable oracle21c 4.5 重启机器进行验证.服务可以使用.
5. 修改sqlplus 避免退格键不好用.这一步比较简单了.
下载个 rlwrap的包我这边下载的是 rlwrap-0.43-5.el8.x86_64.rpm 放置到机器上面执行 yum localinstall rlwrap-0.43-5.el8.x86_64.rpm 修改 之前的环境变量,添加一个别名 alias sqlplus='rlwrap sqlplus' # 注意等号前后不能有空格.
6. 验证一下版本结果界面如下