Using OPatch with lsinventory and bugs_fixed options one can list the PSU patches installed in ORACLE_HOME
Example:
localhost:/home/oracle $ $ORACLE_HOME/OPatch/opatch lsinventory -bugs_fixed | grep -i psu
8974548 10248516 Fri Mar 04 16:05:46 MST 2011 BACKOUT BUG 7438445 FROM PSU 11.1.0.7.1 RELEASE LA
9352237 10248516 Fri Mar 04 16:05:46 MST 2011 DATABASE PSU 11.2.0.1.1
9654983 10248516 Fri Mar 04 16:05:46 MST 2011 DATABASE PSU 11.2.0.1.2 (INCLUDES CPUJUL2010)
9952216 10248516 Fri Mar 04 16:05:46 MST 2011 DATABASE PSU 11.2.0.1.3 (INCLUDES CPUOCT2010)
10248516 10248516 Fri Mar 04 16:05:46 MST 2011 database psu 11.2.0.1.4 (includes cpujan2011)
-bugs_fixed
Reports bugs fixed by installed patches in a tabular format.
Besides the bugs fixed, the report also displays the installed
patches, installed times, and bug descriptions.
The fixed bugs are sorted per installed patch. Default display
is patches in descending order based on installed time and
ascending order of bugs within each patch. You can use ‘asc’
(or) ‘desc’ with this option to enforce sort order on bugs
within each patch.
You can use this option with the patch (or) patch_id option to
obtain sort orders with installed patches.