Question: I am using a procedure to try to
pull data for reporting purposes. I am getting the following
ORA-20000 with ORU-10027 error:
ORA-20000: ORU-10027: buffer overflow, limit of
2000 bytes
I need the output for a report, so I cannot just disable it to
eliminate the ORA-20000 ORU-10027.
What can I do to get rid of the ORA-20000 ORU-10027 error?
Answer: DBMS_OUTPUT has different default
buffer sizes, depending on your Oracle version. For your
system, the limit is 2000 bytes.
You can increase the buffer up to 1,000,000 using the following
PL/SQL statement:
DBMS_OUTPUT.ENABLE(1000000);
The SQL*Plus statement to achieve the same result is:
set serveroutput on size 1000000
Starting with Oracle release 10g, it is possible to use the
following unlimited buffer settings:
- PL/SQL: DBMS_OUTPUT.ENABLE
(buffer_size => NULL);
- SQL*Plus: set serveroutput on size
unlimited
Since I do not have the code you are running, I cannot do a full
diagnostic on it. If the DBMS_OUTPUT settings in the code are
acceptable for your version of Oracle and the client (SQL*Plus,
etc.) you are using and you are still getting the ORA-20000
ORU-10027 buffer overflow error for the stated limits, you should
check your full code to determine whether there are any other calls
that include conflicting DBMS_OUTPUT.ENABLE settings that might be
overriding yours.
|
|
Get the Complete
Oracle SQL Tuning Information
The landmark book
"Advanced Oracle
SQL Tuning The Definitive Reference" is
filled with valuable information on Oracle SQL Tuning.
This book includes scripts and tools to hypercharge Oracle 11g
performance and you can
buy it
for 30% off directly from the publisher.
|