一 基础知识
1 补丁分类 CPU和PSU补丁
2 工具 opatch 安装管理补丁的工具 patch 6880880
3 oracle补丁查看
登陆oracle官网安全专题http://www.oracle.com/technetwork/topics/security点击learn More,找到Critical Path Update Advisory 可以看到oracle发布的补丁的列表
选取相应的补丁进行下载
4 所有关于补丁前的操作 都需要对数据库进行一个全量备份
5 补丁升级 分为 在线补丁升级和离线补丁升级,具体是否支持在线补丁升级请参考补丁的相关文档
二 在线
环境检测
1 opatch lsinventory -all 检查当前是否已安装整改要求的补丁包
2 opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir ./ 16619896 检测冲突补丁
3 阅读补丁安装要求 README.html
代码层安装
1 opatch apply online -connectString <sid_node1>:<username_node1>:<password_node1>:<Node1_name> 代码层打补丁
opatch rollback -id 回滚ID -connectString <sid_node1>:<username_node1>:<password_node1>:<Node1_name> 代码层打补丁
2 opatch lsinventory 检测代码层是否成功
数据库层安装
按照要求在数据库里执行一些相关安装SQL 完成补丁安装(数据库层执行)
结果查看
select * from dba_registry_history; 可以i查询安装补丁的历史
1 补丁打完最后一步会向这个表插入一条记录 2 状态为APPLY
三 离线
环境检测
1 opatch lsinventory -all 检查当前是否已安装整改要求的补丁包
2 opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir ./ 16619896 检测冲突补丁
3 阅读补丁安装要求 README.html
4 关闭oracle服务
5 代码层升级
opatch apply -report 预演
opatch apply 执行 代码层执行
opatch lsinventory 检测代码层是否成功
6 启动oracle服务
7 数据库层安装
按照要求在数据库里执行一些相关安装SQL 完成补丁安装(数据库层执行 安装/回滚)
8 结果查看
select * from dba_registry_history; 可以i查询安装补丁的历史
1 补丁打完最后一步会向这个表插入一条记录 2 状态为APPL/ROLLBACK
9 回滚
1 optach rollback -id 回滚ID 代码层回滚
2 启动oracle
3 执行相关SQL 数据库层回滚
4 select * from dba_registry_history 进行查询回滚情况 状态为ROLLBACK