I tried to set the dbms_output
size to unlimited inside a stored procedure.
But it gave me compilation errors. So I tried in the SQL*Plus prompt the below way. But still I get the buffer overflow error. How can I overcome this?
set serveroutput on size unlimited;
exec service_update;
ORA-20000: ORU-10027: buffer overflow, limit of 30000 bytes
ORA-06512: at "SYS.DBMS_OUTPUT", line 32
ORA-06512: at "SYS.DBMS_OUTPUT", line 97
ORA-06512: at "SYS.DBMS_OUTPUT", line 112
ORA-06512: at "ARBOR.SERVICE_UPDATE", line 27
ORA-06512: at line 1
The default buffer size is 20000 bytes. The minimum size is 2000 bytes and the maximum is unlimited.
Every extra line of code decreases the performance of code. After all, it is an extra instruction to be executed, which at least consumes some CPU. So yes, dbms_output. put_line decreases the performance.
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.
In the procedure service_update, by any chance is there a call to
dbms_output.enable(30000);
This may override the first limit you set.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With