Library cache latch contention is typically caused by NOT using bind variables. It is due to excessive parsing of statements.
Cache buffers chain latches contention is typically caused by concurrent access to a very “hot” block and the most common type of such a hot block is an index root or branch block (since any index based query must access the root block).
Redo copy/redo allocation latches contention are rarely encountered today. They protect the redolog buffer
A useful and very complete article/scripts on latch contention by Tanel Poder (Oracle 9i to 12c):
http://tech.e2sn.com/oracle/troubleshooting/latch-contention-troubleshooting
The scripts:
- http://blog.tanelpoder.com/files/scripts/latchprof.sql
- http://blog.tanelpoder.com/files/scripts/latchprofx.sql
Vincent Fenoll Oracle Database Administrator in Montreal