ORA-20000: ORU-10027: buffer overflow, limit of 2000 bytes solves the problem of using dbms_output.put_line to output the statement with the following error: begin user_priv (username => 'hr'); end; ORA-20000: ORU-10027: buffer overflow, limit of 2000 bytesORA-06512: at "SYS. DBMS_OUTPUT ", line 32ORA-06512: at" SYS. DBMS_OUTPUT ", line 97ORA-06512: at" SYS. DBMS_OUTPUT ", line Monitoring ora-06512: at" HR. USER_PRIV ", line 20ORA-06512: at line 2 it is clear that when we are outputting, the buffer size of the output results is controlled by DBMS _ OUTPUT. ENABLE control. The default buffer size is 20000. the maximum limit of each row is 32 KB. The following example shows that the stored procedure returns the result only after all the data is cached. So when we use a cursor for output, if there are a lot of results, it will exceed this value to report the ORA-20000, ORU-10027: Buffer overflow, limit of <buf_limit> bytes this error solution: add DBMS_OUTPUT.ENABLE (buffer_size => null) after the Stored Procedure begin to indicate that there is no limit.