Re: PL/SQL DBMS_OUTPUT buffer limit

From: Scott Mattes <ScottMattes_at_yahoo.com>
Date: Mon, 10 Jun 2002 13:57:58 GMT
Message-ID: <Gf2N8.7010$nn1.2739649_at_news1.news.adelphia.net>


Thomas,
  Thank you. V$session_longops might be an option, but v$session is not (at this site at least).

"Thomas Kyte" <tkyte_at_oracle.com> wrote in message news:adtues02h1d_at_drn.newsguy.com...
> In article <U03M8.5101$nn1.1871092_at_news1.news.adelphia.net>, "Scott
says...
> >
> >
> >"Thomas Kyte" <tkyte_at_oracle.com> wrote in message
> >news:adoo8f0179l_at_drn.newsguy.com...
> >> In article <LCNL8.4769$nn1.1631693_at_news1.news.adelphia.net>, "Scott
> >says...
> >> >
> >> >Oracle provides such limited debugging help!
> >>
> >> huh? what would that have to do with anything? In any case, there are
> >source
> >> code level debuggers (many) available for plsql. My preference is a
> >simple
> >> debug routine that works just like your forms one but used UTL_FILE on
the
> >> server.
> >
> >Based on my experience with other programming tools, I find it harder to
do
> >some basic things in Oracle. Imagine, a debug tool like DBMS_OUTPUT that
> >
> > 1) only shows its output AFTER the run is over (this is sure
wonderful
> >for loop debugging, when the loop never returns),
> >
> > 2) has a limit as to how much it can buffer (even correctly running
> >loops that process many records will overflow the max buffer limit),
> >
> > 3) when the buffer limit is hit ALL output is GONE!
> >
> >UTL_FILE would be great, since it works with forms and straight pl/sql,
but
> >since I have no access to the server it is useless to me (and others I
> >imagine).
>
> well, like i said -- there are many many source code level debuggers --
you
> know, those things you run and debug code in??

>

> Anyway -- perhaps another tool of interest to you would be
> dbms_application_info. It lets you update your row in v$session, setting
upto 3
> columns with whatever in "real time". Additionally you can use
> v$session_longops with that package as well (to show the progress of your
long
> running procedure). No need to commit to see the data -- it is "just
there"
>
>

> >
> >I have also tried pipes with unsat results (there seems to be timing
issues
> >I haven't gotten straight, maybe).
>
> you probably had C on the other end and C uses BUFFERED IO. So, when you
write,
> it doesn't appear right away on screen (hey, hmm, sounds familar).
Anyway, a
> fflush() call in C would probably fix that up.
>

> --
> Thomas Kyte (tkyte_at_oracle.com) http://asktom.oracle.com/
> Expert one on one Oracle, programming techniques and solutions for Oracle.
> http://www.amazon.com/exec/obidos/ASIN/1861004826/
> Opinions are mine and do not necessarily reflect those of Oracle Corp
> Received on Mon Jun 10 2002 - 15:57:58 CEST

Original text of this message