Oracle补丁自动化安装步骤

1.3.2 补丁安装说明

1. 回滚冲突补丁
  • 在应用补丁之前,你必须回滚任何在冲突检测中发现的冲突补丁。否则,执行 opatch apply 命令时,补丁安装可能会再次报告冲突。
2. 安装补丁的环境要求
  • Data Guard 物理备用数据库 :如果你使用的是 Data Guard 物理备用数据库,必须在主库和备用库上都安装此补丁。可以参考 My Oracle Support 文档 278641.1 了解详细步骤。
  • Oracle RAC 环境 :如果你在 Oracle RAC 环境中,需要使用 OPatch 滚动安装方式进行补丁安装,以避免停机。具体操作可以参考 My Oracle Support 文档 244241.1
  • 非 RAC 环境 :如果不是 Oracle RAC 环境,需要停掉所有与 Oracle home 相关的实例和监听器。可以参考 Oracle Database Administrator's Guide 了解详细步骤。
3. 执行补丁安装
  • 在确保回滚冲突补丁后,设置当前工作目录为补丁所在目录,然后运行 OPatch 工具进行补丁安装:

    bash 复制代码
    unzip p31537677_112040_<platform>.zip
    cd 31537677
    opatch apply

安装补丁报错,缺失fuser命令

sql 复制代码
Missing command :fuser
Prerequisite check "CheckSystemCommandAvailable" failed.
OPatch failed with error code 73

安装依赖包

sql 复制代码
 yum install psmisc -y

1.3.3 补丁后安装步骤

安装完补丁后,你需要执行以下操作:

1.3.3.1 应用补丁冲突解决补丁
  • 应用补丁冲突解决补丁:如果在"单独补丁冲突检测和解决"步骤中发现需要解决的补丁冲突,你需要应用这些补丁。这通常是为了确保新安装的补丁与现有的补丁没有冲突,避免出现兼容性问题。
1.3.3.2 加载修改后的 SQL 文件到数据库中
  • 对每个数据库实例进行操作:在 Oracle RAC 环境下,这个步骤只需要在一个节点上执行。你需要使用 SQL*Plus 连接到数据库,并以 SYSDBA 用户身份执行以下步骤。
具体步骤:
  1. 连接到数据库

    • 以 SYSDBA 用户身份连接到数据库:

      bash 复制代码
      cd $ORACLE_HOME/rdbms/admin
      sqlplus /nolog
      SQL> CONNECT / AS SYSDBA
      SQL> STARTUP
  2. 运行 catbundle.sql 脚本

    • 这个脚本用于将补丁应用到数据库中。

      bash 复制代码
      SQL> @catbundle.sql psu apply
      SQL> QUIT
  3. 执行完成后检查 dba_registry_history

    • catbundle.sql 脚本执行后,在 dba_registry_history 视图中会有一行与补丁系列 PSU 相关的记录。

      sql 复制代码
      select * from dba_registry_history;
  4. 如果出现无效 Java 类

    • 如果在执行 catbundle.sql 脚本后,发现无效的 Java 类(这通常发生在应用了 OJVM PSU 补丁的情况下),需要运行 utlrp.sql 脚本来重新验证这些 Java 类:

      bash 复制代码
      SQL> @utlrp.sql
  5. 检查日志文件

    • 检查以下路径中的日志文件,确保没有错误:

      • $ORACLE_HOME/cfgtoollogs/catbundle$ORACLE_BASE/cfgtoollogs/catbundle 目录下的日志文件,文件名以 catbundle_PSU_<数据库 SID>_APPLY_<时间戳>.logcatbundle_PSU_<数据库 SID>_GENERATE_<时间戳>.log 结尾。
      • 如果日志中有错误,参照已知问题文档进行排查和修复。
关于 OJVM Mitigation 补丁:
  • 如果你已经应用过 OJVM PSU 补丁或计划应用该补丁,则不需要执行额外操作。如果没有应用 OJVM PSU 补丁,则需要使用 OJVM Mitigation 补丁进行补救。

  • 执行以下步骤来应用 OJVM Mitigation 补丁(如果适用):

    sql 复制代码
    SQL> @dbmsjdev.sql
    SQL> exec dbms_java_dev.disable
    • 这个步骤的目的是禁用不需要的 JavaVM 功能,从而防止潜在的安全问题。
总结:
  • catbundle.sql 脚本用于应用补丁,并且你需要在数据库中运行它以确保补丁成功应用。
  • 如果涉及到 Java 类无效的情况,运行 utlrp.sql 来修复它们。
  • 如果涉及 OJVM PSU,需要进行额外的操作来处理 JavaVM 问题。
回滚
sql 复制代码
opatch rollback -id 31537677
相关推荐
海南java第二人3 小时前
Nebula Graph 实战:基于图数据库存储 CMDB 实体关系
数据库·图数据库·nebula
曹牧4 小时前
oracle:“not all variables bound”
数据库·oracle
数据库百宝箱4 小时前
Oracle RMAN Image Copy 本地恢复
数据库·oracle
AI智图坊5 小时前
多件装组合SKU图的批量生产效率分析:从PS手工到AI自动化的工作流改造
大数据·运维·人工智能·gpt·ai作画·自动化·aigc
zuYM4g7Dp5 小时前
NoSql数据库设计心得
数据库·nosql
云烟成雨TD5 小时前
Spring AI 1.x 系列【56】用大模型评判大模型:递归顾问实现自动化评估方案
人工智能·spring·自动化
睡不醒男孩0308237 小时前
第七篇:揭秘 PostgreSQL 数据库内核级管控:CLup 深度架构设计与高可用底座技术白皮书
数据库·postgresql·clup
cmes_love7 小时前
Level 2逐笔成交历史数据下载方法笔记
数据库·笔记·oracle
qq_366566508 小时前
视频配音自动化Pipeline:TTS选型+音色克隆+批量处理(附完整代码)
自动化·新媒体运营·音视频·音频
swordbob8 小时前
MySQL字符集陷阱:从Oracle迁移踩坑到utf8mb4强制规范
数据库·sql