Patch is a program ( set of instructions ) to fix a particular problem or enhance / add a particular feature in existing program/product/software.
Oracle Patches Types
In Oracle, there are different types of patching available; there are several types of patches released by Oracle that could be applied to the software you are running. There are on-off patches to fix bugs, regularly released patches, and security patches. In the following I will explain about different types of patches that are available to be installed on your RDBMS software.
Critical Path Update/Security Patch Update (CPU/SPU)
Initially this kind of patches were called CPU patches, but later these were named as SPU patches. These are released quarterly (every 3 months) and contain security fixes only. These patches are no more available starting release 12c, and only PSU patches (discussed later) are available starting Oracle 12c Release 1. For 11.2.0.4 releases, SPUs are still being released on quarterly basis, probably until the end of life of 11.2.0.4.
Patch Set Update (PSU)
Patch Set Updates is a superset of SPU and contains all security patches that are part of PSU, and also other important bug fixes. PSU is also released quarterly.
SPUs and PSUs (and also Proactive Bundle Patches) are mutually exclusive, which means that you can only go for either of these and can’t install both. If you have installed a PSU on an Oracle release, now you should always install new PSUs on the top of it and you cannot revert to applying SPU patches. If you want to change your patching strategy and want to install SPUs, there is a proper way to switch your strategy which would include a complete rollback of the installed PSU and any other interim patches that were installed with (or on top of) the PSU (as some interim patches can only work with PSU patches, or a specific PSU release and needs to be rolled back if PSU is rolled back) and then install the SPU and then install interim patches once again that are suitable for the SPU. But after that you would need to stick with SPU patches strategy as you can’t revert to PSU strategy unless you repeat the same as explained above.
We can download a single PSU to have it installed on both GI homes and RDBMS home in a single go rather than downloading individual PSU patches for both homes and installing separately.
Both of above two are for Unix based environments. For Windows environment, you would need to download and install Bundle Patches.
Bundle Patch (BP)
Term “Bundle Patches” is used for quarterly released patches (like SPU and PSU) for Windows based environments and Engineered systems (Exadata etc.) patches. Like PSU patches, a single downloaded patch can be used to patch GI and RDBMS homes together.
Quarterly released patches for Engineered systems like Exadata are also called Bundle Patches and are super set of PSU. IT means that if you want to install quarterly patches on engineered systems, you would need to download and install Bundle patches. Although quarterly patches for Windows environment and for engineered systems are called Bundle Patches, but these are different patches actually.
Database Proactive Bundle Patch (DPBP)
Starting April 2016, the database patch for engineered system (Exadata etc.) has been renamed to Proactive Bundle Patch. Proactive Bundle Patch is a super set of PSU and contains some extra bug fixes. Although Proactive Bundle Patches are for engineered systems, these can still be applied on non-engineered systems. These are obviously better than applying PSUs as these contain some additional bug fixes.
You can switch your strategy of installing patches from SPU to PSU, PSU to Proactive Bundle Patch or Proactive Bundle Patch to SPU, but you would need to following instructions I have already explained above.
1. One - off patches ( Bug fix )
2. CPU ( Security patches ) i.e critical path update - CPU
3. upgrade patches ( bug fixes )
4. PSU ( bug fixes are security patches ) i.e PSU - path set update ( in 14th 2009 introduced )
5. SPU (security path update )
6. Bundle patches ( in 12c )
How to Apply a Patch:
i have given below just for understanding purpose only, how to apply the patches
1. take the backup of oracle home and oracle inventory
$ tar cvf backuphome.tar $oracle_home
2. check the registry,history and invalid object count
SQL>select * from registry$history,opathc lsinventory,invalid object count
3. download the patch and unxip the patch
4. check the version and read me document
5. stop the database and listener
6. opatch apply patchnumber
7. open the database and catbundle.sql script for CPU/PSU patches
i.e catbundle it will update to registry$history
No comments:
Post a Comment