By default Oracle manages the SGA using a Least Recently Used (LRU) queue. This means that blocks that are used frequently will likely be in the buffer cache already. Oracle does this by default, so it is best to leave it alone to do what it does best.
Sometimes people attempt to cache tables, in the hope that it will improve performance, but all they do is fill the cache with objects they believe are important, leaving less room for oracle to cache what it feels is important. The product is in trying to improve performance they make things worse.
If you feel you know better than Oracle you can either use the CACHE option on the table:http://docs.oracle.com/cd/B28359_01/ser ... m#i2215507
Or you can look at using query caching, that can be very useful to improve performance of some types of SQL.http://www.oracle-base.com/articles/11g ... -11gr1.php