Nie bardzo. Sposób działania DBMS_OUTPUT jest następujący:Twój blok PL/SQL jest wykonywany na serwerze bazy danych bez interakcji z klientem. Więc kiedy wywołujesz PUT_LINE, to po prostu umieszczasz ten tekst w buforze w pamięci na serwerze. Kiedy twój blok PL/SQL zakończy się, kontrola jest zwracana do klienta (w tym przypadku zakładam SQLPlus); w tym momencie klient pobiera tekst z bufora przez wywołanie GET_LINE i wyświetla go.
Tak więc jedynym sposobem, aby dane wyjściowe pojawiały się w pliku dziennika częściej, jest rozbicie dużego bloku PL/SQL na wiele mniejszych bloków, dzięki czemu kontrola jest częściej zwracana do klienta. Może to nie być praktyczne w zależności od tego, co robi Twój kod.
Inne alternatywy to użycie UTL_FILE do zapisywania do pliku tekstowego, który można opróżnić w dowolnym momencie, lub użycie procedury autonomicznej transakcji do wstawienia instrukcji debugowania do tabeli bazy danych i zatwierdzenia po każdej z nich.