DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Как узнать время выполнения дочерних сессий из таблицы SNP_SESSION.

Все - таки, при достаточно большом количестве сессий, которые необходимо проанализировать (проверить время выполнения, например), пользоваться клиентским приложением, даже с использованием кнопки Back, достаточно затратно по времени.
Хорошо, если у разработчика или администратора ETL процесса есть доступ на чтение из таблиц репозитория ODI.
В этом случае можно посмотреть непосредственно в таблицы репозитория и выбрать необходимые данные прямо оттуда. Итак, следующий SQL код для выполнения в БД репозитория ODI покажет сведения о работе дочерних сессий:
SELECT SESS_NAME, SESS_BEG, SESS_END, SESS_DUR AS duration
FROM snp_session WHERE parent_sess_no = <номер главного сценария>
AND sess_name IN ('PKG1', 'PKG2') -- и другие наименования дочерних сессий.
Какие еще полезные сведения можно получить из таблицы snp_session? Можно попробовать понять это из наименований колонок этой таблицы:
  • sess_no - номер сессии. То, что выводится в Операторе перед наименованием;
  • sess_name - наименование сессии. Если при запуске не указано иного, совпадает с наименованием сценария;
  • scen_version - версия сценария, если запускался сценарий, а не сам объект на выполнение;
  • log_level - уровень логирования. Выбирается при запуске вместе с агентом и контекстом выполнения;
  • thread_id - пока неизвестно;
  • thread_creation - пока неизвестно;
  • sess_beg - дата время начала выполнения;
  • sess_end - дата время окончания выполнения;
  • sess_dur - длительность выполнения в секундах.
  • sess_status - статус выполнения. Возможные варианты (D - выполнено, R - выполняется, W - ожидает старта, E - остановлено с ошибкой, Q - запланировано к запуску, M - остановлено с предупреждением). Последний статус в интерфейсе Оператора называется Warning и для сессий штатно не проставляется. Но его можно проставить вручную при редактировании свойств сессии;
  • sess_rc - код возврата. 0 - если работа сессии завершена без ошибок;
  • sess_mess - пока неизвестно, возможно, дублирует i_txt_sess_mess;
  • sess_params - пока неизвестно, возможно, дублирует i_txt_sess_params;
  • sess_keywords - набор ключевых слов, который был указан при старте дочерней сессии из пакета.
  • master_agent_name - пока неизвестно;
  • synchro - синхронный или асинхронный запуск (0 - асинхронный, 1 - синхронный);
  • agent_name - наименование агента;
  • context_code - контекст выполнения;
  • parent_sess_no - номер родительской сессии из этой же таблицы;
  • nb_child_run - количество выполняющихся дочерних сессий;
  • nb_child_ok - количество успешно завершенных дочерних сессий;
  • nb_child_ko - количество дочерних сессий завершенных с ошибкой;
  • scen_name - наименование сценария, по которому выполняется данная сессия. Может отличаться от наименования сессии;
  • user_name - пользователь, от имени которого запущена сессия.
  • i_txt_sess_mess - ссылка на таблицу SNP_EXP_TXT с текстом завершения сессии.
  • i_txt_sess_params - ссылка на таблицу SNP_EXP_TXT со входными параметрами для сессии.







  • jAntivirus