All the above 3 points are jut my thoughts ....and i am expecting the same from other experienced guys too.

coming to your question...( 3rd point )..

We can pin the cursors( which are hadles to the SQL statements), by getting the ADDRESS,HASH_VALUE from the
v$SQLAREA view .

exec dbms_shared_pool.keep('ADDRESS,HASH_VALUE','C');

You can test this first before doing it on production , and quety the v$db_object_cache where KEPT='Y'