The best way to determine, without an Oracle support contract, the release date of an Oracle Database 12c patchset

oracleoracle-12c

This is regarding a set of databases that I'm working with (I'm not a DBA, I just verify various settings and check for patching). The DBA is unable to provide the information I need.

What I run is SELECT patch_id, version, action, status, timestamp, description from dba_registry_sqlpatch;

What I need is a way to know when the patch identified by this query was released by Oracle. I have an ordinary Oracle SSO account, but no paid support within my account. The DBA doesn't either, as patches are provided to him and his counterparts at other locations after testing elsewhere.

Or if I'm running down the wrong path here altogether, my end goal is to be able to prove that the database has been patched to either the most current available, or the one released prior to that one.

Best Answer

Patchsets? That is easy.

For PSU/RU/RUR/one-off patches, opatch lists the date they were packaged, e.g.:

$ /u01/app/oracle/product/12.2.0/dbhome_1/OPatch/opatch lsinv | grep Created -B 1

Patch description:  "Database Jul 2018 Release Update : 12.2.0.1.180717 (28163133)"
   Created on 6 Jul 2018, 08:05:03 hrs PST8PDT

Note that this is not the release date, they can be packaged weeks before the actual release.

Another thing to note, Oracle includes the release date in PSU/RU/RUR versions since 2016. So the version 12.2.0.1.180717 above means it is the RU for 12.2.0.1 that was released on 2018-07-17.

The list of most recent or the one released prior PSU/RUs:

  • 12.1.0.2.180417
  • 12.1.0.2.180717
  • 12.2.0.1.180417
  • 12.2.0.1.180717

The patching for 12.1.0.1 ended 2 years ago (2016-08-31).