Recently I did an investigation of an ORA-04031 which happens almost regularly on a 10.2.0.4 Oracle database server with 9G of memory allocated to shared pool and disabled Automatic Shared Memory Management (sga_target=0). The problem query is a report that is a very big SQL query – more than 200K of plain text. The exact error message is “ORA-04031: unable to allocate 235704 bytes of shared memory (“shared pool”,”select * from (…”,”Typecheck”,”qry_text : qcpisqt”)”. Here I’ll briefly describe what I did to identify root cause of the error and will talk about one interesting detail of the EXPLAIN PLAN as it was used to reproduce the issue.
-
Categories
-
Tags
10.2.0.3 10.2.0.4 10.2.0.5 10g 10gR2 11.2.0.1 11.2.0.2 11.2.0.3 11g 11gR2 ANSI SQL ASH AWR benchmark bind peeking bug bug-or-feature CBQT coalesce coalesce subquery collections conferences connect by control files docs dynamic views EBR Exadata fail FBI Firefox full join funny stuff Hotsos indexes iPX ITL javelin JNI join elimination join factorization memory merge MOS muxers nested loops OIC OICA OOM optimizer_features_enable opt_param ORA-04031 Oracle JVM outer join PDML poll presentations PX RAC scripts shared cursors SPECjAppServer2004 sql_trace statistics Statspack subqueries subquery factoring subquery unnesting Sun Tom Kyte tpt trace files undocumented wait events wish list -
Top Posts
-
Blogroll
-
Join 529 other subscribers