Re: PL/SQL DBMS_OUTPUT buffer limit
Date: 8 Jun 2002 14:54:36 -0700
Message-ID: <adtues02h1d_at_drn.newsguy.com>
[Quoted] 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).
[Quoted] well, like i said -- there are many many source code level debuggers -- you [Quoted] know, those things you run and debug code in??
[Quoted] 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 [Quoted] 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 [Quoted] 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).
[Quoted] you probably had C on the other end and C uses BUFFERED IO. So, when you write, [Quoted] it doesn't appear right away on screen (hey, hmm, sounds familar). Anyway, a [Quoted] fflush() call in C would probably fix that up.
-- Thomas Kyte (tkyte_at_oracle.com) http://asktom.oracle.com/ [Quoted] 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 CorpReceived on Sat Jun 08 2002 - 23:54:36 CEST