Performance-optimizing Oracle 10g on a server that is also a Tomcat JSP app server?-Collection of common programming errors
I believe Tomcat provides several options for connection pooling, although StackOverflow may be a better place to discuss these possibilities.
As for the rest:
Oracle bottlenecks and performance tuning is a wide and complicated field, and the same goes for J2EE applications, containers and caching.
A number of commercial and open source tools exist that should be of use, some go a long way towards both identifying possible problems and educating the user. One such commercial tool is Spotlight on Oracle by Quest Software. Quest also provides Performasure which I find to be an excellent solution for low level application diagnostics. http://www.quest.com/
Oracle provides a wealth of free documentation for their database platform on http://docs.oracle.com and http://tahiti.oracle.com including books on performance considerations and tuning.
Similarly, IBM Red Series include free books that cover performance tuning and bottlenecks related to anything from Oracle, J2EE, Linux, storage to generic system design. http://www.redbooks.ibm.com/
While not free, Oracle Database 10g Performance Tuning: Tips & Techniques is a great introductory book, so is Oracle Essentials: Oracle Database 10g if you need better understand the fundamentals of Oracle databases. You can read both online at http://www.safaribooks.com/ and I do believe they offer a free trial.
A good place to start, or at least as good as any, is to figure out what system resources are being strained, and who is using them. Is the CPU load high? If so, it caused by waiting on I/O? How is memory being used, is lack of memory causing additional I/O? Is the application or the database CPU intensive? Is the database workload CPU or I/O bound? Is the instability related to performance or could there be other issues on the system. Getting a few fundamental questions answered should at least get you on your way.