Oracle 12C:数据库PSU补丁安装

来源:这里教程网 时间:2026-03-03 14:32:37 作者:

一、环境描述

系统:Red Hat Enterprise Linux Server release 7.2 (Maipo)数据库:Oracle Release 12.1.0.2.0

二、安装包下载

p6880880_121010_Linux-x86-64.zipp25171037_121020_Linux-x86-64.zip

三、PSU安装前校验

    解压 unzip p25171037_12102_<platform>.zip

    安装前检查 cd 25171037 opatch prereq CheckConflictAgainstOHWithDetail -ph ./

四、打补丁

    解压p6880880_121010_Linux-x86-64.zip到ORACLE_HOME

    打补丁opatch apply

    启库

    更新数据字典cd $ORACLE_HOME/OPatch./datapatch -verbose

五、验证

OPATCH opatch lsinventory

SQL

SELECT PATCH_ID, VERSION, ACTION, STATUS, ACTION_TIME FROM DBA_REGISTRY_SQLPATCH;

六、12c改变——Datapatch

Datapatch 通过匹配一个内部存储库与 patch inventory 来决定所需的应用/回滚操作。 Datapatch 驻留在的 opatch 目录,即 $ORACLE_HOME/OPatch 文件夹。数据库 12c Datapatch 支持 Oracle 多租户,并且简化并加快了多个数据库打补丁的过程。哪些补丁工具使用了 Datapatch?

    Opatchauto OPatchAuto 自动调用 datapatch 完成安装数据库的二进制补丁并重启后 post patch 的操作。

    企业管理云控制(Enterprise Manager Cloud Control) 从 12.1 版本开始,EMCC 现在调用 datapatch 来完成任何 12c 或者更高版本的数据库重启之后的 post patch 的操作

    升级 Catctl.pl 和 DBUA 现在在升级过程中调用 Datapatch

    OPatch Datapatch 与 OPatch 的整合是不可能的。因为 OPatch 在数据库关闭时执行,而 datapatch 要求数据库是打开以完成其活动。

SQL 补丁注册表(SQL Patch Registry table)该表包含了哪些 SQL 补丁已经被应用和/或回滚在给定的数据库的信息。每个数据库都有一个 SQL 补丁注册表,因此,如果在同一个 Oracle 主目录中运行多个数据库,每个数据库都有自己的 SQL 补丁注册表。要在注册表中检查 datapatch 条目,从 SQL 提示符下键入以下命令:

SELECT PATCH_ID, VERSION, ACTION, STATUS, ACTION_TIME FROM DBA_REGISTRY_SQLPATCH;

数据库 12.1.0.2 功能增强下列的功能增强是在数据库 12c 补丁集 12.1.0.2 引入:

dba_registry_history 不再用作为补丁信息

datapatch -rollbackall 选项可用来回滚当前已安装的所有 SQL 补丁

Catbundle 被整合到 datapatch

Datapatch 支持的补丁类型:

"Napply" Patch

Composite Patches

One-off Patches

相关推荐