title: Is there a way to fix Oracle query in shared pool
body: <p>I have a report engine, performing PreparedStatements on Oracle 11, that is a highly prioritized task.</p>
  
  <p>What I see is that first query invocation usually performs much much longer than the same query afterwards (query has different parameters and return different data).</p>
  
  <p>I suppose this is due to hard parsing done by Oracle, on first query invocation.</p>
  
  <p>I wonder, is there a way of hinting to Oracle, that this query is highly prioritized query which would be performed often, and which performance is critical, so it should remain in shared pool, no matter what?</p>
  
  <p>I know that I can fix execution plan in Oracle 11, but I don't want to fix it, I want Oracle still to be able to change it, as system changes, all I want is to exclude query hard parsing.</p>