System Tables Data Dictionary Oracle PLSQL Tutorial

SQL>
SQL> select text
  2    from all_source
  3   where name = 'DBMS_OUTPUT'
  4     and type = 'PACKAGE'
  5     and line < 26
  6   order by line
  7  /
TEXT
----------------------------------------------------------------------------------------------------
package dbms_output as
-- DE-HEAD     <- tell SED where to cut when generating fixed package
  ------------
  --  OVERVIEW
  --
  --  These procedures accumulate information in a buffer (via "put" and
  --  "put_line") so that it can be retrieved out later (via "get_line" or
  --  "get_lines").  If this package is disabled then all
  --  calls to this package are simply ignored.  This way, these routines
TEXT
----------------------------------------------------------------------------------------------------
  --  are only active when the client is one that is able to deal with the
  --  information.  This is good for debugging, or SP's that want to want
  --  to display messages or reports to sql*dba or plus (like 'describing
  --  procedures', etc.).  The default buffer size is 20000 bytes.  The
  --  minimum is 2000 and the maximum is 1,000,000.
  -----------
  --  EXAMPLE
  --
  --  A trigger might want to print out some debugging information.  To do
  --  do this the trigger would do
TEXT
----------------------------------------------------------------------------------------------------
  --    dbms_output.put_line('I got here:'||:new.col||' is the new value');
  --  If the client had enabled the dbms_output package then this put_line
  --  would be buffered and the client could, after executing the statement
25 rows selected.