causes this ORA-30009 error?
ORA-30009: Not enough memory for CONNECT BY operation
What is the solution to the ORA-30009 error?
Answer: The oerr utility shows
this for the ORA-30009 error:
enough memory for CONNECT BY operation
The memory size was not sufficient to process all the levels
of the hierarchy specified by the CONNECT BY clause.
Action: In WORKAREA_SIZE_POLICY=AUTO mode,
set PGA_AGGREGATE_TARGET to a reasonably larger value. Or,
in WORKAREA_SIZE_POLICY=MANUAL mode, set SORT_AREA_SIZE to a
reasonably larger value.
One solution is to create pipelined function with a FOR
loop instead of using "connect by".
This error is cased by a lack of PGA memory. First,
you could increase the sort_area_size for the individual
alter session set sort_area_size=10G;
For a system wide change, you would want to increase the
overall size of the PGA, bearing in-mind that any session
may only consume 5% of the total available:
system set pga_aggregate_target = 100M scope = both;
or if using AMM:
alter system set sga_target = 100M
scope = both;
alter system set memory_target =
100M scope = both;
Oracle Training from Don Burleson
The best on site
training classes" are just a phone call away! You can get personalized Oracle training by Donald Burleson, right at your shop!
Burleson is the American Team
documentation was created as a support and Oracle training reference for use by our
DBA performance tuning consulting professionals.
Feel free to ask questions on our
considering using the services of an Oracle support expert should
independently investigate their credentials and experience, and not rely on
advertisements and self-proclaimed expertise. All legitimate Oracle experts
Oracle technology is changing and we
strive to update our BC Oracle support information. If you find an error
or have a suggestion for improving our content, we would appreciate your
and include the URL for the page.
Copyright © 1996 - 2020
All rights reserved by
is the registered trademark of Oracle Corporation.