ORACLE数据库提供两种方式的补丁,一种是主动的Proactive Patches,另一种被动的Reactive Patches,过去的PSU,SPU/CPU,BP都是Proactive Patches。从12c(12.1.0.2)起数据库又提供了一个名为DBBP的补丁类型,并且改变了补丁策略。
在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)
参考: