Oracle 19c 单实例 RU 从19.3.0 升级到19.6.0

0    128    1

👉 本文共约1383个字,系统预计阅读时间或需6分钟。

本篇博客我们演示19.3.0 到 19.6.0 的RU的升级过程。

当前DB 环境

从MOS下载19.6 的RU 补丁

19.6 的DB补丁是:p30557433, 可以直接从MOS上下载。

解压之后查阅readme文档。

开始安装RU补丁

3.1 检查OPatch工具版本

要安装19c的RU,OPatch 工具的版本必须大于 12.2.0.1.17。 在Oracle 19.3的版本中,OPatch版本正好就是12.2.0.1.17的。 所以不需要单独的更新OPatch。

如果从其他版本进行升级,可以从patch 6880880 下载最新的OPatch。 关于OPatch 工具升级的方法参考我之前的博客,如下:

Oracle 更新 OPatch 工具版本 的方法 说明
https://www.cndba.cn/Dave/article/1353

3.2 检查Patch 是否冲突

3.3 应用patch

这里有几点注意事项:

1.如果是物理DG,那么主备库都需要安装Patch,可以先在备库安装,再安装主库,操作步骤可以参考:Document 278641.1。
2.对于RAC 环境,可以使用OPatch rolling 方式来安装,这样没有停机时间,具体操作可以参考:Document 244241.1。
3.对于单实例,必须关闭待升级ORACLE HOME关联的所有实例和监听,并且包括退出所有的sqlplus窗口。

关闭实例和监听,并退出sqlplus:

应用patch:

3.4 加载变化的SQL到数据库

安装补丁之后,还需要将有变化的SQL加载到数据库中,这里可以直接运行Datapatch工具将这些修改的SQL重新加载到数据库中,如果是RAC环境,只需要在一个节点执行就可以了。

根据readme的说明,操作步骤如下:

本人提供Oracle、MySQL、PG等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

datapatch命令只对打开的数据库生效,所有Oracle建议在执行该命令之前将CDB和所有的PDB都打开,一次更新掉。 但如果有部分PDB没有打开,也可以在打开之后,重新运行datapatch命令并制定pdb实例名,比如: ./datapatch -pdbs dave

这种情况可以参考之前的博客:

Oracle 18c 单实例 RUR 从18.3.0 升级到18.3.1 操作手册
https://www.cndba.cn/dave/article/3138

我们这里将所有的PDB 都打开后在执行datapatch工具。

启动实例:

运行datapatch工具:

3.5 查看版本变化

datapatch 工具加载修改的SQL之后会将patch添加到dba_registry_sqlpatch试图中,以反应patch的应用情况。 查询试图可以看到patch的APPLY状态为”SUCCESS”。

3.6 处理无效对象

最后一步就是处理无效对象,因为之前datapatch命令会加载SQL,这个过程可能会产生无效对象。 可以执行@utlrp.sql脚本处理这些无效对象。

至此,我们升级19.6的操作全部结束, 注意验证版本需要通过dba_registry_sqlpatch视图来查看,如果查询v$version 视图,版本还是没有变化的。

参考

https://www.cndba.cn/dave/article/4065

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

2 × 3 =

 

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部