title: ORA-06508: PL/SQL: could not find program unit being called : "PUBLIC.PLITBLM"
body: <p>I have a java web app that calls the oracle plsql procedure from ibatis xml file. this procedure captures the audit information of the table. so when multiple users modifies a table  this stored procedure .after certain time i receive the following error. </p>
  
  <blockquote>
    <p>--- The error occurred in example.xml.<br>
    --- The error occurred while applying a parameter map.<br>
    --- Check the example.params.<br>
    Check the statement (update procedure failed).<br>
    Cause: java.sql.SQLException: ORA-04068: existing state of packages has been discarded<br>
    ORA-04065: not executed, altered or dropped stored procedure "PUBLIC.PLITBLM" 
    ORA-06508: PL/SQL: could not find program unit being called:
    "PUBLIC.PLITBLM"  ORA-06512: at "AUDIT", line 279<br>
    ORA-06512: at line 1</p>
  </blockquote>
  
  <p>call from ibatis</p>
  
  <blockquote>
    <p><br>
    <br>
    
    <br>
    <br>
    <br>
    <br>
    <br>
    
    {call AUDIT(?,?,?,?,?,?,'val')}
    </p>
  </blockquote>
  
  <p>call from java web app</p>
  
  <blockquote>
    <p>Map _temp = new HashMap(params);<br>
    _temp.put("OPERATION_TYPE",operation);<br>
    sqlMapper.insert("call_proc_audit",_temp);<br>
    return false;</p>
  </blockquote>
  
  <p>The plsql procedure has only execute immediate for insert,update and delete.</p>
  
  <p>I have removed the code due to security.</p>