
If we do not specify size of buffer :- From oracle 10.2, if you do not specify size of buffer, implicitly buffer size will be set to NULL. SQL> set serveroutput on size 30000 -No error - size in range SQL> set serveroutput on size 3459988000 If we specify size of buffer: - Buffer size should be between 2000 and 1 million, else it will throw error.See following execution of set command. However, from oracle 10.2 the upper limit has been removed with restriction on size of buffer, if you specify.We have two cases here:- Specify size of buffer & do not specify size. However, most tools (like SQL*PLUS, SQL developer) do not allocate a buffer for DBMS_OUTPUT to write in this buffer and do not attempt to read from that buffer after PL/SQl program execution.įortunately, we have commands ( set serveroutput on size ) to hint DBMS server to dump/flush server output to the client's buffer and client will read from this buffer to display output accordingly.īefore, Oracle 10.2, there was a upper limit on size of this buffer (limited to one million bytes with a default size of 20,000).
Why DBMS_OUTPUT.PUT_LINE is not working ?ĭBMS_OUTPUT package enables us to send messages from stored procedures(DBMS server) to client.
#PL SQL DEVELOPER SET SERVEROUTPUT ON PLUS#
It is very common problem faced by people trying to execute PL/SQL procedure in SQL Plus or SQL Developer and displaying message or debugging information using DBMS_OUTPUT package.