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
相关推荐
真智AI10 分钟前
AI智能体时代来临:数据分析的变革与自动化之路
人工智能·数据分析·自动化
SailingCoder33 分钟前
MongoDB Memory Server与完整的MongoDB的主要区别
数据库·mongodb
水木石画室34 分钟前
MongoDB 常用增删改查方法及示例
数据库·mongodb
旷世奇才李先生35 分钟前
MongoDB 安装使用教程
数据库·mongodb
qq_3392822338 分钟前
mongodb 中dbs 时,local代表的是什么
数据库·mongodb
阿里云大数据AI技术1 小时前
AI搜索 MCP最佳实践
数据库·人工智能·搜索引擎
笑衬人心。2 小时前
项目中数据库表设计规范与实践(含案例)
服务器·数据库·设计规范
cpsvps2 小时前
触发器设计美国VPS:优化数据库性能的关键策略
数据库·oracle
s153352 小时前
数据结构之顺序表,链表,栈,队列
数据结构·数据库
混乱意志4 小时前
dgraph example数据导入
数据库·后端