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
相关推荐
Dxy123931021611 分钟前
DrissionPage 异常处理实战指南:构建稳健的网页自动化防线
运维·爬虫·python·自动化·drissionpage
Kila_16 分钟前
【iOS(swift)笔记-13】App版本不升级时本地数据库sqlite更新逻辑一
数据库·笔记
Kila_18 分钟前
【iOS(swift)笔记-14】App版本不升级时本地数据库sqlite更新逻辑二
数据库·笔记
TDengine (老段)26 分钟前
TDengine 运维——巡检工具(安装前预配置)
大数据·运维·数据库·时序数据库·iot·tdengine·涛思数据
django-尿素1 小时前
django入门-orm数据库操作
android·数据库·django
翻滚吧键盘1 小时前
数据库,Spring Boot,数据源
数据库·spring boot·后端
水银嘻嘻1 小时前
04 APP 自动化- Appium toast 元素定位&列表滑动
python·appium·自动化
FixPng1 小时前
【数据库】《DBA实战手记》- 读书笔记
数据库·dba
小李今天工地加班2 小时前
Windows安装PostgreSQL(16.9)
数据库·postgresql
码农开荒路2 小时前
Redis线程模型
数据库·redis·缓存