You should download only the combo patch - in essence it is the two other - DB and OJVM patches bundled in one archive. After that the patching sequence is as follows:
- Apply the DB PSU, but do not run any post-install steps
- Apply the Java PSU
- Run the Java PSU post-install steps
- Run the DB PSU post-install steps
Take a look at the following support note:
Oracle Recommended Patches -- "Oracle JavaVM Component Database PSU" (OJVM PSU) Patches (Doc ID 1929745.1)
In it is more detailed information about the OJVM patches.
Many times a patch is rolled back before a new one is applied so you may not be able to get a clear picture of everything that has ever been applied. You don't state your Oracle version, but if it is 12c, you can try a similar query to get some information:
set linesize 200
set pagesize 100
column version format a10
column action format a10
column action_time format a25
column BS format a5
column description format a75
select patch_id, version, action,
to_char(action_time, 'yyyy/mm/dd hh24:mi:ss') as action_time, bundle_series as BS, description
from dba_registry_sqlpatch
order by action_time desc;
This won't get non-sqlpatch patches though. Meaning if it is only a binary patch, this won't show that. But that should be in lsinventory.
You can also poke around file: $ORACLE_HOME/inventory/ContentsXML/comps.xml
Take care not to modify this file! But I do believe this shows patches that have been rolled back and ones that are currently applied. I'm not exactly sure what's all in there though.
Another thing to keep in mind is the Oracle Home. Some patches are for GRID home and some are for the RDBMS home. And some shops build an entire new home with each patch... Just ensure you are looking in the correct place.
Best Answer
If the database was patched properly,
DBA_REGISTRY_SQLPATCH
should list the OJVM patch. Below output is from one of my sandbox environments: