Oracle在12.1.0.2开始,改变了补丁策略:在12.1.0.2之前,即12.1.0.1,11.2.0.4或者更早的版本之前,是推荐使用PSU的补丁策略的。但是从12.1.0.2开始,oracle更推荐使用Database Proactive Bundle Patches(简称DPBP)。
DPBP的内容,包含了PSU的内容,也包含了SPU的内容。可以说是一个十全大补丸。以170418为例,大小为2.1G,解压缩后近7G,要求system free space 13G。
DPBP适用于Engineered Systems,DB In-Memory,也适用于Non-Engineered Systems,RAC和非RAC。里面包含的补丁包括GI和DB,以及ACFS。
值得注意的是,DPBP,psu,spu是不同的路,一旦选择走某一条路,就不能走另外的路了。也就是说,如果你之前选择打PSU,那么如果你要改成打bp,就必须回滚之前的psu。
从发布的频率看,从12.1.0.2.160719开始,也是一个季度一次DPBP。
我们需要做的是:
1. 决定今后的补丁战略方向,是PSU还DPBP
2. 升级opatch到最新版本
3. opatchauto apply
4. opatch lsinventory检查
5. datapatch -verbose(之前是catch psu脚本)
6. select * from dba_registry_sqlpatch(之前是dba_hist_registry)
参考:
Oracle Database – Overview of Database Patch Delivery Methods (Doc ID 1962125.1)
12.1.0.2 Database Proactive Bundle Patches / Bundle Patches for Engineered Systems and DB In-Memory – List of Fixes in each Bundle (Doc ID 1937782.1)
Quick Reference to Patch Numbers for Database/GI PSU, SPU(CPU), Bundle Patches and Patchsets (Doc ID 1454618.1)