DBMS_APPLICATION_INFO.SET_ACTION не работает - PullRequest
1 голос
/ 13 июня 2019

Я использую

DBMS_APPLICATION_INFO.SET_ACTION 

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

DBMS_APPLICATION_INFO.SET_ACTION(ACTION_NAME=>'1/9 CALCULATING SPACE AVAILABLE...');

Простое добавление этих строк в различных точках хранимой процедуры делает записи в v $ session, которые могут быть легко запрошены для информационных целей и переданы обратно пользователям. Однако, если я запускаю ту же процедуру из задания планировщика оракула, я не получаю запись в v $ session для ACTION_NAME. Только детали для самой работы присутствуют.

Кто-нибудь знает, как мне обойти это, чтобы получить те же индикаторы состояния, которые отображаются, когда я просто выполняю процедуру вручную, а не заданием?

Спасибо.

1 Ответ

0 голосов
/ 13 июня 2019

Вы можете добавить Dbms_Session.Set_Identifier, кроме того, это может быть хорошим вариантом для заполнения информации, полученной из представления динамической производительности v $ session, как:

Declare
  i_action varchar2(1000):='1/9 CALCULATING SPACE AVAILABLE...';
Begin
  If ( i_action is not null ) Then
    Dbms_Application_Info.Set_Action( i_action );
    Dbms_Session.Set_Identifier( i_action );      
   End If;
End;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...