Пакет dbms_application_info
В Oracle существует очень много встроенных пакетов с различным функционалом. Хочу рассказать вам, о довольно, полезном пакете dbms_application_info.
С помощью него можно установить/получить свойства сессии:
- название приложения, модуля, текущего действия.
- отражение прогресса длительных операций (уже делаю видео).
На скриншоте примеры сессий, для которых я установил эти значения.
Установка значений дает некоторые плюсы:
1. Вы всегда безошибочно найдете в списке сессий ваши приложения/модули и будете иметь представление, что они делают в данный момент.
2. В трейс-файлы будут попадать эти установленные значения, что также удобно.
3. ДБА смогут безошибочно находить владельца определенной сессии.
4. Сразу, облегчается диагностика проблем.
В следующих постах остановлюсь подробней как использовать.
#пакеты #dbms_application_info
В Oracle существует очень много встроенных пакетов с различным функционалом. Хочу рассказать вам, о довольно, полезном пакете dbms_application_info.
С помощью него можно установить/получить свойства сессии:
- название приложения, модуля, текущего действия.
- отражение прогресса длительных операций (уже делаю видео).
На скриншоте примеры сессий, для которых я установил эти значения.
Установка значений дает некоторые плюсы:
1. Вы всегда безошибочно найдете в списке сессий ваши приложения/модули и будете иметь представление, что они делают в данный момент.
2. В трейс-файлы будут попадать эти установленные значения, что также удобно.
3. ДБА смогут безошибочно находить владельца определенной сессии.
4. Сразу, облегчается диагностика проблем.
В следующих постах остановлюсь подробней как использовать.
#пакеты #dbms_application_info
Использование dbms_application_info
Рассмотрим приложение относящееся к некой платежной системе.
1. Приложение называется - wallet-app.
2. Модуль, в котором была создана сессия, относится к проведению платежей - payment-processing.
3. Конкретное выполняющееся действие “приватный платеж p2p” - processing private payment.
Как установить эти значения?
Название приложения:
Название модуля и действия:
Где посмотреть выставленные значения ?
В системном представлении:
Рассмотрим приложение относящееся к некой платежной системе.
1. Приложение называется - wallet-app.
2. Модуль, в котором была создана сессия, относится к проведению платежей - payment-processing.
3. Конкретное выполняющееся действие “приватный платеж p2p” - processing private payment.
Как установить эти значения?
Название приложения:
beginМожно задать сразу после создания сессии.
dbms_application_info.set_client_info('wallet-app');
end;
Название модуля и действия:
beginВызываем с разными значениями походу выполнения.
dbms_application_info.set_module('payment-processing', 'processing private payment');
end;
Где посмотреть выставленные значения ?
В системном представлении:
select t.client_info, t.module, t.action, t.*или непосредственно в сессии:
from v$session t;
dbms_application_info.read_module#пакеты #dbms_application_info
dbms_application_info.read_client_info
Прогресс для длительных операций
Знакома ли вам такая ситуация? Запускается какой-то тяжелый процесс (джоб, скрипт) и вы понятия не имеете на каком этапе находится выполнение, сколько осталось до конца, сколько прошло? А очень хотелось бы 🔮
Это как скачивание файла. В браузере можно посмотреть прогресс.
Так бы взять и перенести это в Oracle 🧙🏻♀️
Однако, в Oracle уже есть встроенный механизм, которые это делает для тяжелых SQL-запросов.
Мы его можем переиспользовать под свои нужны - для отображения прогресса выполнения в PL/SQL-программах.
Используется для этого наш старый знакомый пакет dbms_application_info и процедура - set_session_longops.
Первый вызов инициализирует условный “прогресс бар”, последующие вызовы его инкрементируют.
Сам “прогресс бар” доступен в системном представлении - v$session_longops.
В четверг будет видео на эту тему со всеми подробностями и примерами. Не пропустите 🎥
#пакеты #dbms_application_info
Знакома ли вам такая ситуация? Запускается какой-то тяжелый процесс (джоб, скрипт) и вы понятия не имеете на каком этапе находится выполнение, сколько осталось до конца, сколько прошло? А очень хотелось бы 🔮
Это как скачивание файла. В браузере можно посмотреть прогресс.
Так бы взять и перенести это в Oracle 🧙🏻♀️
Однако, в Oracle уже есть встроенный механизм, которые это делает для тяжелых SQL-запросов.
Мы его можем переиспользовать под свои нужны - для отображения прогресса выполнения в PL/SQL-программах.
Используется для этого наш старый знакомый пакет dbms_application_info и процедура - set_session_longops.
Первый вызов инициализирует условный “прогресс бар”, последующие вызовы его инкрементируют.
Сам “прогресс бар” доступен в системном представлении - v$session_longops.
В четверг будет видео на эту тему со всеми подробностями и примерами. Не пропустите 🎥
#пакеты #dbms_application_info
Друзья, всем привет!
Запилил видос про отображение прогресса для длительных операций в PL/SQL.
Немного теории, примеры, настройка IDE для отображения.
Приятного просмотра!
🎥 Смотреть видео - 5 мин
#видео #пакеты #dbms_application_info
Запилил видос про отображение прогресса для длительных операций в PL/SQL.
Немного теории, примеры, настройка IDE для отображения.
Приятного просмотра!
🎥 Смотреть видео - 5 мин
#видео #пакеты #dbms_application_info
YouTube
Отображение прогресса выполнения в PL/SQL-программах
Отображение прогресса выполнения в PL/SQL-программах, скриптах.
Для тяжелых процессов это очень полезно, понимать сколько уже выполнено сколько осталось, на каком этапе находится программа.
Также этот подход может пригодится при выполнении скриптов.
Для…
Для тяжелых процессов это очень полезно, понимать сколько уже выполнено сколько осталось, на каком этапе находится программа.
Также этот подход может пригодится при выполнении скриптов.
Для…