Random access violations have plagued us since v7.0, from 10g through 12. I believe I've pinned down exactly what causes them and have a workaround... whether your crashes are related or not is unknown.

What we see is that anytime there's a lob/clob/xml/obj field in the query, a select * will crash after 99 records. So we set our initial retrieval to 99 records, and try to avoid the '*'. We also try to specify the fields individually, and do a .getclobval() on the object fields, as such:

SQL Query
select excptn_id,  code_src,  error_desc,  esclt_lvl,
       t.stack_trc.getclobval() stack_trc, 
       ora_errm,   ora_code,  create_dt 
from   exception_log;

Since starting these practices, I have never had an Access Violation error.

Interestingly, if I right-click a table with a clob/xml field and pick 'Query Data', PL/SQL Developer adds the getclobval() automatically. If I drag and drop the table into the editor and choose to generate a select statement, the fields are listed individually, but getclobval() is not added, and will crash.


Last edited by James B; 12/10/14 07:35 PM.