During the last upgrade I had to upgrade the database but also prepare the database for R12.2 so there were a few db patches that needed to be applied. Normally with two or three patches this is not a problem. However with twenty patches this makes things a bit more monotanous. My boss came to the rescue with this little jewel.
First unzip ALL patches to $PATCH_TOP on DB tier
unzip "p*.zip" -d $PATCH_TOP
Add opatch to PATH in the $HOME/.bash_profile if not already in PATH
Check opatch is working
Apply all patches in a single command (one line)
opatch napply -silent $PATCH_TOP -id 18485835,18689530,18893947,18966843,19291380,19393542,19472320,19627012,19649152,19779059,19835133,19896336,20093776,20177858,20181016,20204035,20294666,20476776,20830911,20994102,21091055
Now all I need is to figure out how to use this in non interactive mode so that I don't have to also answer the questions in between.