当前位置: 首页 > news >正文

数据库管理-第317期 Oracle 12.2打补丁又出问题了(20250421)

数据库管理317期 2025-04-21

  • 数据库管理-第317期 Oracle 12.2打补丁又出问题了(20250421)
    • 1 文件相关
    • 2 sqlpatch
    • 总结

数据库管理-第317期 Oracle 12.2打补丁又出问题了(20250421)

作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Pro: Database
PostgreSQL ACE Partner10年数据库行业经验
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP,ITPUB认证专家
圈内拥有“总监”称号,非著名社恐(社交恐怖分子)公众号:胖头鱼的鱼缸
CSDN:胖头鱼的鱼缸(尹海文)
墨天轮:胖头鱼的鱼缸
ITPUB:yhw1809。
除授权转载并标明出处外,均为“非法”抄袭

3498ff20bcec87e9052f961f06737f3.png
上周,熬了个整通宵,协助我们这边的一个Oracle 12.2的RAC集群打补丁,以解决一些bug问题,由于这不是一个我这里统管的集群,因此中间遇到了一系列问题,这里做个总结,有些内容仅有思路记录,没有截图。

1 文件相关

在使用opatchauto打补丁的过程中遇到的第一个问题就是文件不可操作的问题,通过日志排查是/opt/oracle.ahf/orachk/orachk文件无操作权限,检查权限后发现该文件权限为"rwxr-xr-x",属组和其他没有写权限,执行以下操作即可:

chmod g+w /opt/oracle.ahf/orachk/orachk
chmod o+w /opt/oracle.ahf/orachk/orachk
/u01/app/12.2/grid/OPatch/opatchauto resume

另一个问题则是还有文件被占用,升级操作需要操作这些文件,因此无法进行补丁升级操作,这里通过重启操作系统是最便捷的解决方案:

/u01/app/12.2/grid/bin/crsctl disable crs
reboot

重启完成后:

/u01/app/12.2/grid/OPatch/opatchauto resume
/u01/app/12.2/grid/bin/crsctl enable crs

这两个问题相信是大家打补丁过程中经常遇到的问题。

2 sqlpatch

除了给GI和DB软件打补丁,完整的RU升级操作还包含sqlpatch,用下面的命令执行:

$ORACLE_HOME/OPatch/datapatch -verbose

第一个问题是直接无法运行,报的是某些系统视图异常,这个处理很简单,在CDB执行以下内容即可:

@?/rdbms/admin/utlrp.sql

接下来有出现了一个比较奇怪的现象,首先发现问题是在重启某些测试PDB的时候发现PDB启动过程中with error,状态RESTRTITED为YES。检查PDB_PLUG_IN_VIOLATIONS发现以下内容:
image.png
检查DBA_REGISTRY_SQLPATCH发现CDB与PDB中一个补丁的应用状态不是SUCESS而是END:
image.png
与PDB_PLUG_IN_VIOLATIONS反馈内容吻合,重新调用datapatch并不能触发reinstall操作。
这时候通过MOS发现一个文档《datapatch status for apply/rollback status is BEGIN or END (Doc ID 2625471.1)》,简单来说在12.2-19c中(文档中说明在19c后期已解决),sqlpatch的状态可能为BEGIN或END,导致PDB可能出现异常。解决方案也比较简单:

update dba_registry_sqlpatch set STATUS='WITH ERRORS' where PATCH_ID=patch id;
--在本次问题中就可以执行
update dba_registry_sqlpatch set STATUS='WITH ERRORS' where PATCH_ID=35746058;

然后再次执行datapatch即可解决问题。

总结

本期简单总结了打补丁遇到的一些问题。
老规矩,知道写了些啥。

http://www.xdnf.cn/news/67591.html

相关文章:

  • SAP系统生产跟踪报表入库数异常
  • SSH反向代理
  • C++——STL——容器deque(简单介绍),适配器——stack,queue,priority_queue
  • 23种设计模式-结构型模式之代理模式(Java版本)
  • Fortran 2008标准引入了多项新特性,其中一些对性能有显著影响一些语言新特征
  • C++--负载均衡在线OJ
  • OpenCV 图形API(48)颜色空间转换-----将 LUV 颜色空间的图像数据转换为 BGR 颜色空间函数LUV2BGR()
  • 在Cursor编辑器上部署MCP(Minecraft Coder Pack)完整指南
  • 进程与线程:02 多进程图像
  • 深入理解React高阶组件(HOC):原理、实现与应用实践
  • 如何测试雷达与相机是否时间同步?
  • 高并发内存池项目
  • EMQX学习笔记
  • ECharts散点图-散点图14,附视频讲解与代码下载
  • Vue3 源码解析(六):响应式原理与 reactive
  • 解决go项目构建后不能夸Linux平台的问题
  • JavaScript-ES5 循环中的闭包 “共享变量” 问题
  • 部署本地Dify
  • 智能安全用电系统预防电气线路老化、线路或设备绝缘故障
  • Windows部署FunASR实时语音听写便捷部署教程
  • Python Cookbook-6.6 在代理中托管特殊方法
  • AI重塑网络安全:机遇与威胁并存的“双刃剑”时代
  • CI/CD
  • Servlet上传文件
  • 2025年渗透测试面试题总结-拷打题库10(题目+回答)
  • 软考 中级软件设计师 考点知识点笔记总结 day14 关系代数 数据库完整性约束
  • 计算机是如何工作的(上)
  • 23. git reset
  • 【形式化验证基础】活跃属性Liveness Property和安全性质(Safety Property)介绍
  • 计算机组成与体系结构:内存接口(Memory Interface)