Use oracle EXPLAIN PLAN http://docs.oracle.com/cd/B10500_01/server.920/a96533/ex_plan.htm
(use the result to find the bottleneck and re-write or change your query to run faster).
Make sure you are using indexes on your tables and your indexes are updated.
use partitioning.
clean up some of the data that you don't need anymore
use hibernate if you can (this may not be a easy thing to do if this is a legacy application) because it optimizes your query for you and you won't need to write JDBC query.
Lastly take a look at oracle performance tunning document http://docs.oracle.com/cd/E11882_01/server.112/e41573/perf_overview.htm#PFGRF02503