あまり。 DBMS_OUTPUTの動作方法は次のとおりです。PL/SQLブロックは、クライアントとの対話なしでデータベース・サーバー上で実行されます。したがって、PUT_LINEを呼び出すと、そのテキストがサーバー上のメモリ内のバッファに入れられるだけです。 PL / SQLブロックが完了すると、制御がクライアントに戻されます(この場合はSQLPlusを想定しています)。その時点で、クライアントはGET_LINEを呼び出してバッファからテキストを取得し、それを表示します。
したがって、出力をログファイルに頻繁に表示させる唯一の方法は、大きなPL / SQLブロックを複数の小さなブロックに分割することです。これにより、制御がクライアントに返される頻度が高くなります。コードの動作によっては、これは実用的でない場合があります。
他の方法は、UTL_FILEを使用してテキストファイルに書き込むことです。テキストファイルはいつでもフラッシュできます。または、自律トランザクションプロシージャを使用して、デバッグステートメントをデータベーステーブルに挿入し、各ファイルの後にコミットします。