Отображение прогресса выполнения в PL/SQL-программах

preview_player
Показать описание
Отображение прогресса выполнения в PL/SQL-программах, скриптах.
Для тяжелых процессов это очень полезно, понимать сколько уже выполнено сколько осталось, на каком этапе находится программа.
Также этот подход может пригодится при выполнении скриптов.
Для этого используется системный пакет в Oracle dbms_application_info и процедура set_session_longops.

Запрос для получения "прогресс-бара":
from v$session_longops t

Содержание:
0:00 - Введение
0:41 - Теория, dbms_application_info
1:22 - Принцип использования dbms_application_info
1:45 - Пример 1
2:19 - Пример 2
3:04 - Пример 3
3:47 - Как настроить PL/SQL Developer и TOAD
4:34 - Заключение

-------

Все о разработке в СУБД "Oracle". Теория, практика, SQL, PL/SQL, задачки, сертификация и многое другое.

Рекомендации по теме
Комментарии
Автор

Спасибо за видео. А можно ли подобное проделать с обычным sql запросом? Или они попадают в представление v$ только по каким-то критериям? И если можно, то как интерпретировать содержимое v$session_longops?

ЛучшийвМире-ьм
Автор

каждую секунду считывать таблицу v$session_longops?

obsidee
Автор

Вы в качестве примера используете select count, а как посмотреть прогресс на мосент исполнения insert?, к примеру есть таблица куда инсертится примерно 5 миллионов записей, но мы незнаем какое количество в итоге выйдет и хотелось бы видеть прогресс?!

askat