Есть ли способ включить ведение журнала процедур для запланированного задания Oracle? - PullRequest
1 голос
/ 12 января 2010

Я пытаюсь включить ведение журнала в запланированном задании Oracle, чтобы при просмотре подробностей выполнения задания я мог различить, над чем работала процедура задания и что он делал. В настоящее время процедура написана для выхода через dbms_output.put_line(), так как это удобно для процедур и SQL * Plus, просто включив set serveroutput on, чтобы увидеть его. Однако я не могу понять, как отобразить эту информацию в журнале в деталях выполнения задания. В частности, я смотрю на:

select additional_info from dba_scheduler_job_run_details;

Кроме того, кажется, что эти данные отображаются в подробностях прогона в менеджере предприятия при экземплярах задания.

Итак, есть ли способ, настройка или другой пакет, для простого ведения журнала для запланированного задания Oracle?

Ответы [ 2 ]

3 голосов
/ 12 января 2010

Вы можете добавить что-нибудь в конце разговора. Он может вызвать dbms_output.get_lines, загрузить данные в CLOB и сохранить их где-нибудь для просмотра. Возможно, вы захотите, чтобы что-то вызывало DBMS_OUTPUT.ENABLE при запуске.

Лично я не использую DBMS_OUTPUT.PUT_LINE и у меня есть собственная подпрограмма ведения журнала в виде простого файла или таблицы (с использованием автономных транзакций).

1 голос
/ 12 января 2010

Автономные транзакции - это путь!

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

AFAIK Нет другого способа получить информацию, пока задание еще выполняется, DBMS_OUTPUT будет отображаться только после того, как задание выполнено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...