Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

dbms_output size buffer overflow

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
like image 630
Arav Avatar asked Nov 08 '11 04:11

Arav


People also ask

What is buffer size in DBMS_OUTPUT?

The default buffer size is 20000 bytes. The minimum size is 2000 bytes and the maximum is unlimited.

Does DBMS_OUTPUT Put_line affect performance?

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.

How do I fix buffer overflow in Oracle?

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.


1 Answers

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.

like image 196
DCookie Avatar answered Sep 24 '22 03:09

DCookie