On bog standard iron, this is a fairly simple procedure. Download the patch, stop the databases and listeners and opatch the ORACLE_HOME. See general procedure Applying patches
a word about the different patching terminology;overlay, merge, bundle etc..
$ORACLE_HOME/OPatch/opatch lsinventory
$ORACLE_HOME/OPatch/opatch lspatches
dba_registry_history is a view on registry$history
col action_time for a21 col action for a15 col namespace for a15 col version for a15 col comments for a80 wrap select action_time, action, namespace, version, id, comments from dba_registry_history order by 1;
Reference: Datapatch User Guide (Doc ID 2680521.1)
select extract(sys.dbms_qpatch.get_opatch_list,'//patchDescription|//appliedDate|//patchID') from dual;
Now things are getting more interesting…