一。升级前准备
检查补丁安装情况
备份数据库
检查是否满足升级条件
检查是否有失效对象
二。升级
1.在11.2.0.3之后oracle推荐使用out of place升级策略进行升级和补丁操作。
out of place是将安装包安装在新的一个目录中,优点为减少了停机时间,方 便回滚操作;in place是将安装包安装在原来的目录中
我们采用out of place升级策略,首先要创建新的安装目录
mkidr -p /u01/app/oracle/product/12.1.0/db_1
2.解压安装包
linuxamd64_12102_database_1of2.zip
linuxamd64_12102_database_2of2.zip
执行./runInstaller
不选择邮件提示
选择升级已存在的数据库
下一步时,提示了一个告警,这个是因为/ect/oratab文件中没有配置oracle实例
修改/etc/oratab文件,添加一行::N
选择语言
选择企业版
选择新创建的安装路径,此处高亮提示,是因为属组和权限问题,修改成oracle:oinstall就好了
选择管理组和用户
进行安装前检查
测试环境,此处可以直接忽略,正式环境需要调整
安装前的summary
进行安装
在安装过程中执行完root.sh脚本后,会自动进行监听的创建,这个时候需要关闭旧的监听,也可以直接下一步下一步,忽略后,在新安装路径下手工执行netca配置监听(先删除在创建)
监听创建完后,会自动开始dbua数据库的升级,这个地方我执行到最后时又报错,我直接跳过了,然后手工执行dbua升级数据库
选择升级数据库
发现了现有的11g数据库
升级前检查
此处提示升级时,存储检查发现有错误,需要手工处理,查看下边的明细后,手工对表空间修改为自动扩展的,或者是按照提示修改允许最大自动扩展容量(这个地方还没有明白为什么)
选择升级的组件
不选择em
不选择迁移数据文件和fast_recovery_area
选择现在的监听
选择进行备份,选择备份的路径
数据库升级前的summary
开始升级
升级完成,查看日志中都提示成功后,就可以直接关闭了,这个地方会很长时间
修改oracle用户的环境变量,修改为新的路径,检查现在数据库版本,状态
执行一些脚本
@? /rdbms/admin/emremove.sql
@?/olap/admin/catnoamd.sql
execute dbms_stats.gather_dictionary_stats;
alter system set compatible = '12.1.0.2.0'scope=spfile;
直接升级后,可以查看还是no-CDB的,之后再进行将no-CDB转换为CDB
下一期:oracle no-CDB转换为CDB
领取专属 10元无门槛券
私享最新 技术干货