Знакома ситуация, когда программа (SQLPlus, TOAD, SQL NAvigator...), в которой отлаживался в течении пару часов сложный SQL-запрос или блок PL\SQL, вдруг подвисала, а результат ещё не сохранён ?

К счастью ещё не всё потеряно, в буфере Оракла он ещё остался :)

Если сразу запустить этот запрос , то можно вытащить из буфера нужный SQL или целый блок PL\SQL.

SELECT sql_text FROM sys.V_$SQL WHERE sql_text LIKE '%dy.%desc%'

В Like, естественно, нужно поставить свои, характерные фрагменты .

Правда результат мы получаем в виде одной, иногда очень длинной, строки. Соответственно приходится вручную или с помощью утилиты форматировани приводить sql в божеский вид.

Но, всё же это лучше, чем ничего :)

PS.
Во вьюшках V_$SQLTEXT_WITH_NEWLINES и V_$SQLTEXT есть разбивка на строки, но очень корявая.

Хостинг от uCoz