BG_JOB_ID отличается от предыдущей версии
В версиях базы данных Oracle до 19c, SYS_CONTEXT('USERENV','BG_JOB_ID')
вернул идентификатор работы от dba_jobs
(если он был запущен в фоновом режиме).
Начиная с выпуска 19c, тот же оператор возвращает абсолютно другое число, которое не соответствует dba_jobs.job
Я бы.
Это ошибка или особенность? Как я могу сопоставить результат 19c с идентификатором задания из dba_jobs
?
Я пытался отобразить это через v$Scheduler_Running_Jobs
а также dba_jobs_running
, Это работает, но немного сбивает с толку.
select SYS_CONTEXT('USERENV','BG_JOB_ID') from dual
в фоновой сессии.
0 ответов
Dbms _job устарел, начиная с Oracle 12.2.0.1, поэтому во время обновления до Oracle 19c задания будут преобразованы из dbms_job в задания dbms_scheduler. Майк Дитрих описывает подробности в своем сообщении в блоге https://mikedietrichde.com/2019/05/24/dbms_job-behavior-change-in-oracle-19c-during-upgrade/ Я думаю, что BG_JOB_ID отображает идентификатор dbms_scheduler для перенесенных заданий.