Oracle как посмотреть ошибки job

I have a scheduled a job in DBMS jobs (not DBMS scheduler). I can see the job has failed in weekends. I want to see the log file with failure reason. Where i can i find this?

Any suggestions please?

Thanks in advance.

asked Feb 24, 2014 at 8:55

Vinod Chelladurai's user avatar

3

For DBMS_SCHEDULER (as noted by Frank Schmitt) try this:

SELECT *
FROM DBA_SCHEDULER_JOB_RUN_DETAILS
ORDER BY LOG_DATE DESC;

and then look in your bdump folder, for the trace files.

For DBMS_JOB you can view your alert log file:

SELECT VALUE
FROM V$PARAMETER
WHERE NAME = 'background_dump_dest';

or

SELECT VALUE
FROM V$SPPARAMETER
WHERE NAME = 'background_dump_dest';

The alert log file has a name like «alert_orcl.log», if your database name is the default «orcl».

answered Feb 24, 2014 at 9:12

Corrado Piola's user avatar

Corrado PiolaCorrado Piola

8591 gold badge14 silver badges18 bronze badges

5

For DBMS_JOB you’d see the information about failed job in the database alert log. There you’d also see a name of the tracefile with more information about the failure.

answered Feb 24, 2014 at 12:06

Lksh's user avatar

Late answer, but I think it will help people coming on this page for solution.
Before getting into log details to debug, you will need to enable logging.
By default, logging is disabled.

Below are options to enable logging :

Logging Level    DBMS_SCHEDULER.LOGGING_OFF
DBMS_SCHEDULER.LOGGING_FAILED_RUNS DBMS_SCHEDULER.LOGGING_RUNS
DBMS_SCHEDULER.LOGGING_FULL

Now, you can set attribute to update logging level :

begin     
DBMS_SCHEDULER.SET_ATTRIBUTE('job_name','logging_level',DBMS_SCHEDULER.LOGGING_FULL);
end;

David Buck's user avatar

David Buck

3,72335 gold badges31 silver badges35 bronze badges

answered Sep 14, 2020 at 6:14

Shashi's user avatar

1

Check Scheduler job detail in CDB

select CON_ID, JOB_NAME,JOB_TYPE,ENABLED, STATE,NEXT_RUN_DATE, REPEAT_INTERVAL from cdb_scheduler_jobs;

Monitor currently running jobs

SELECT job_name, session_id, running_instance, elapsed_time, FROM dba_scheduler_running_jobs;

View the job run details

select * from DBA_SCHEDULER_JOB_RUN_DETAILS;

View the job related logs:

select * from DBA_SCHEDULER_JOB_LOG;

Check all scheduler schedules

set pagesize 200
set lines 299
col START_DATE for a45
col REPEAT_INTERVAL for a45
col schedule_name for a34
select schedule_name, schedule_type, start_date, repeat_interval from dba_scheduler_schedules;

History of all scheduler job runs

set pagesize 299
set lines 299
col JOB_NAME for a24
col actual_start_date for a56
col RUN_DURATION for a34
select job_name,status,actual_start_date,run_duration from DBA_SCHEDULER_JOB_RUN_DETAILS order by ACTUAL_START_DATE desc;

Check log information for all Scheduler jobs

set pagesize 299
set lines 299
col job_name for a24
col log_date for a40
col operation for a19
col additional_info a79
select job_name,log_date,status,OPERATION,ADDITIONAL_INFO from dba_scheduler_job_log order by log_date desc;

Check all scheduler windows details

set pagesize 300 linesize 200
select * from dba_scheduler_windows;

Информацию о журналах заданий можно найти в двух представлениях словаря данных: DBA_SCHEDULER_JOB_LOG и DBA_SCHEDULER_JOB_RUN_DETAILS.

Представление DBA_SCHEDULER_JOB_LOG

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

Имя столбца

Описание

LOG_ID

Уникальный идентификатор записи.

LOG_DATE

Временная метка записи журнала.

OWNER

Владелец журнала.

JOB_NAME

Имя задания.

JOB_CLASS

Класс заданий (если задан).

OPERATION

Что произошло при обращении к заданию (например, CREATE,

RUN, BROKEN).

STATUS

Что произошло после выполнения операции заданием (на­пример, SUCCEEDED, FAILED).

USER_NAME

Имя пользователя, вызвавшего задание.

CLIENT_ID

Идентификатор клиента, если он был задан посредством

DBMS_SESSION.SET_IDENTIFIER.

GLOBAL_UID

Глобальный UID для глобальных пользователей.

ADDITIONAL_INFO

Любая дополнительная информация о выполнении задания хранится в данном столбцев виде значения типа CLOB. Напри­мер, если задание было автоматически удалено после успеш­ного выполнения (параметр auto_drop был установлен в TRUE), то в столбце OPERATION отображается значение DROP. Однако этих сведений недостаточно для того, чтобы понять, автома­тически удалено задание или явно, пользователем. В столб­це дополнительной информации выводится конкретная при­чина удаления, в данном случае это будет REASON=»Auto drop job dropped».

Аналогично здесь сохраняется и любая другая информация, связанная с выполнением задания.

Представление DBA_SCHEDULER_JOB_RUN_DETAILS

Представление DBA_SCHEDULER_JOB_LOG, описанное в предыдущем разделе, выводит сводную журнальную информацию для заданий, но не детали выполнения. Подробные сведения о выполнении работы содержатся в представлении DBA_SCHEDULER_JOB_RUN_DETAILS, столбцы которого описаны в следующей таблице.

Имя столбца

Описание

LOG_ID

Уникальный номер, представляющий определенную за­пись журнала.

LOG_DATE

Временная метка записи журнала, выводимая как значе­ние типа TIMESTAMP WITH TIME ZONE.

OWNER

Владелец задания.

JOB_NAME

Имя задания.

STATUS

Статус задания после выполнения операции (например,

FAILED, SUCCEEDED).

ERROR#

Номер ошибки Oracle (в случае ошибки).

REQ_START_DATE

Спланированное или запрошенное время запуска задания, которое может не совпадать с фактическим временем за­пуска.

ACTUAL_START_DATE

Выполнение задания может не начаться в запланированное или запрошенное время (например, если окно не было предварительно открыто или выполнялось более высоко­приоритетное задание). В этом случае временная метка в данном столбце фиксирует фактическое время начала вы­полнения задания.

RUN_DURATION

Продолжительность выполнения задания, отображаемая как значение типа TIMESTAMP.

INSTANCE_ID

При работе с базой данных RAC задание должно выпол­няться на определенном экземпляре базы данных. Номер такого экземпляра записывается в данный столбец.

SESSION_ID

SID сеанса, который запустил процесс задания.

SLAVE_PID

Идентификатор подчиненного процесса задания.

CPU_USED

Процессорное время, израсходованное на выполнение зада­ния.

ADDITIONAL_INFO

Дополнительная информация об особенностях выполнения задания, сохраненная в виде значения типа CLOB. Такая ин­формация может быть чрезвычайно полезна для диагно­стики проблем с выполнением задания. Предположим, на­пример, что задание выполнить не удалось, а в данном столбце находятся такие сведения:

ORA-01014: ORACLE shutdown in progress

Или предположим, что задание сбора статистики не выпол­нилось, и в столбце отображается следующее:

ORA-28031: maximum of 148 enabled roles exceeded

В обоих случаях вы можете определить точную причину невыполнения задания. Аналогично здесь сохраняется и другая информация, связанная с соответствующей стро­кой представления 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

Журналы ведутся при выполнении задания, а также при осуществлении любых операций над заданиями (таких как создание, удаление и изменение).

Можно задать параметр logging_level процедуры CREATE_JOB_CLASS следующим образом:

Можно изменить уровень журналирования, задав атрибут logg- ing_level класса заданий как в следующем примере (см. далее раздел «Управление атрибутами»).

Задание периода сохранения

Существует еще один способ ограничения размера журналов — задание периода сохранения для записей в журнальных таблицах. При запуске автоматического задания PURGE_LOG из журнала удаляются только те записи, которые старше соответствующей даты. Длительность периода сохранения по умолчанию составляет 30 дней. Через 30 дней журнальные записи, созданные 31 день назад, будут автоматически удалены.

При необходимости можно указать разные периоды сохранения для всех классов заданий. Для этого задайте параметр log_history процедуры CREATE_JOB_CLASS (значение по умолчанию — 30 дней). Позже можно будет изменить период сохранения для существующего класса заданий, задав атрибут log_history.

В следующем примере период сохранения задается для уже существующего класса заданий DEFAULT_JOB_CLASS:

Зададим период сохранения для журнала продолжительностью 120 дней при создании класса заданий:

Текущее значение длительности периода сохранения журнала можно найти в представлении словаря данных DBA_SCHEDULER_JOB_CLASSES:

В большинстве случаев значения по умолчанию для уровня журнали- рования и периода сохранения оказываются вполне подходящими. Однако в некоторых случаях может возникнуть необходимость замены этих значений. Журналы обычно являются единственным средством, с помощью которого можно выявить проблемы после завершения заданий. Для особенно важных заданий можно включить полное жур- налирование. Для заданий, по которым вам необходимо просматривать более старые, чем обычно, сведения, можно указать более долгий (по отношению к значению по умолчанию) период сохранения.

< Предыдущая   Следующая >

Понравилась статья? Поделить с друзьями:
  • Opel zafira b ошибка 62104
  • Opel astra h ошибка 010006
  • One touch select выдает ошибку
  • Omron sgdh 50de oy ошибки
  • Omron m2 eco ошибка ее