Re: PL/SQL DBMS_OUTPUT buffer limit

From: Daniel Morgan <dmorgan_at_exesolutions.com>
Date: Wed, 05 Jun 2002 14:59:17 GMT
Message-ID: <3CFE273D.D7B57ADD_at_exesolutions.com>


Rauf Sarwar wrote:

> Daniel Morgan <dmorgan_at_exesolutions.com> wrote in message news:<3CFD4D2F.295F533F_at_exesolutions.com>...
> > Tim Cross wrote:
> >
> > > Daniel Morgan <dmorgan_at_exesolutions.com> writes:
> > >
> > > > Kjell Ove Skarsbø wrote:
> > > >
> >
> > > > Try this at the beginning of your procedure
> > > >
> > > > BEGIN
> > > > DBMS_OUTPUT.DISABLE;
> > > > DBMS_OUTPUT.ENABLE(1000000);
> > > >
> > > > If that isn't large enough ... make the buffer larger.
> > > >
> > > Can I ask for some clarification here? Still pretty much a newbie with
> > > Oracle, but from all I have read, I thought there was a limit of
> > > 1000000 to the buffer size for DBMS_OUTPUT? If I've needed to output
> > > more than 1Mb I've used temporary tables and then followed the plsql
> > > block with a simple select on the temporary table. If you can actually
> > > avoid this by setting a buffer larger than 1Mb life would be a lot
> > > easier. If it can be set above this limit, what is the new limit and
> > > on which Oracle/plsql versions can this be done?
> > >
> > > Tim
> >
> > You are likely correct. I didn't count the zeros in my example.
> >
> > Daniel Morgan

>

> Up until Oracle 8i, the buffer limit has been 1MB. I have not seen
> anything in Oracle 9i to believe that it has been changed. Your best
> bet is to use UTL_FILE package and write your output to file. This
> way, you don't have to deal with any buffer limits.
>
> Regards

I agree. And in addition you get the added benefit of superior error handling.

Daniel Morgan Received on Wed Jun 05 2002 - 16:59:17 CEST

Original text of this message