Информацию о журналах заданий можно найти в двух представлениях словаря данных: DBA_SCHEDULER_JOB_LOG и DBA_SCHEDULER_JOB_RUN_DETAILS.
При создании, изменении, удалении и запуске заданий результаты таких операций загружаются в сводную таблицу, которая доступна через представление DBA_SCHEDULER_JOB_LOG. Перечень столбцов представления приведен в таблице ниже.
Представление DBA_SCHEDULER_JOB_LOG, описанное в предыдущем разделе, выводит сводную журнальную информацию для заданий, но не детали выполнения. Подробные сведения о выполнении работы содержатся в представлении DBA_SCHEDULER_JOB_RUN_DETAILS, столбцы которого описаны в следующей таблице.
Журналирование заданий обеспечивает доступ к очень полезной информации, но если время от времени не очищать журналы, они будут неограниченно увеличиваться в объеме и заполнят все пространство базы данных. По умолчанию журнальная информация хранится в таблице (SYS.SCHEDULER$_JOB_RUN_DETAILS) табличного пространства SYSAUX. Oracle решает проблему, автоматически удаляя журнальные записи через определенные промежутки времени. Операция удаления выполняется заданием планировщика под названием PURGE_LOG, которое принадлежит пользователю SYS. Это задание автоматически устанавливается при создании базы данных Oracle в составе класса заданий DEFAULT_JOB_CLASS. Оно вызывает именованную программу PURGE_LOG_PROG, которая указывает на хранимую процедуру AUTO_PURGE самого пакета DBMS_SCHEDULER.
Это задание выполняется на основе именованного расписания DAILY_ PURGE_SCHEDULE, которое запускается в 3:00 утра ежедневно. Хотя это автоматически создаваемое задание, это не мешает управлять его выполнением. Как и для любых других видов заданий, вы можете изменять его свойства (например, изменить время его запуска, вызываемую программу или определить, следует ли связывать его с окном).
PURGE_LOG удаляет только те записи журнала, которые помечены для удаления, так как истек их период сохранения (retention period) (см. далее раздел «Задание периода сохранения»).
Управлять объемом журнала заданий можно также за счет ограничения объема информации о задании, записываемой в журнал. Например, можно вести журнал только при выполнении задания, но не при его создании. В некоторых случаях можно вообще отказаться от жур- налирования.
Определить уровень журналирования можно при создании класса заданий, задав параметр logging_level процедуры CREATE_JOB_CLASS. Впоследствии задание унаследует свойства класса (при наличии ссылки на класс при создании задания).
DBMS_SCHEDULER поддерживает три уровня журналирования:
DBMS_SCHEDULER.LOGGING_OFF
Журналирование полностью отключено. DBMS_SCHEDULER.LOGGING_RUNS
Журналы ведутся только при выполнении задания. Значение по умолчанию.
DBMS_SCHEDULER.LOGGING_FULL
Журналы ведутся при выполнении задания, а также при осуществлении любых операций над заданиями (таких как создание, удаление и изменение).
Можно изменить уровень журналирования, задав атрибут logg- ing_level класса заданий как в следующем примере (см. далее раздел «Управление атрибутами»).
Существует еще один способ ограничения размера журналов - задание периода сохранения для записей в журнальных таблицах. При запуске автоматического задания PURGE_LOG из журнала удаляются только те записи, которые старше соответствующей даты. Длительность периода сохранения по умолчанию составляет 30 дней. Через 30 дней журнальные записи, созданные 31 день назад, будут автоматически удалены.
При необходимости можно указать разные периоды сохранения для всех классов заданий. Для этого задайте параметр log_history процедуры CREATE_JOB_CLASS (значение по умолчанию - 30 дней). Позже можно будет изменить период сохранения для существующего класса заданий, задав атрибут log_history.
В следующем примере период сохранения задается для уже существующего класса заданий DEFAULT_JOB_CLASS:
Зададим период сохранения для журнала продолжительностью 120 дней при создании класса заданий:
Текущее значение длительности периода сохранения журнала можно найти в представлении словаря данных DBA_SCHEDULER_JOB_CLASSES:
В большинстве случаев значения по умолчанию для уровня журнали- рования и периода сохранения оказываются вполне подходящими. Однако в некоторых случаях может возникнуть необходимость замены этих значений. Журналы обычно являются единственным средством, с помощью которого можно выявить проблемы после завершения заданий. Для особенно важных заданий можно включить полное жур- налирование. Для заданий, по которым вам необходимо просматривать более старые, чем обычно, сведения, можно указать более долгий (по отношению к значению по умолчанию) период сохранения.
< Предыдущая | Следующая > |
---|