работа оракула работает только вручную - PullRequest
0 голосов
/ 12 ноября 2018
PROCEDURE CRIAR_JOB_LIMPA_proc IS
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
    job_name        => 'JOB_LIMPA_TAB',
    job_type        => 'STORED_PROCEDURE',
    job_action      => 'SIIMA_JOB_LIMPA_TAB_pkg' || '.LIMPAR_TAB_proc',
    start_date      => To_Date('12-NOV-2018 11:20 AM', 'dd-mon-yyyy hh:mi AM' AT TIME ZONE 'GMT'),
    repeat_interval => 'FREQ=minutely;interval=3',
     comments             => 'Inserir em tabela backup e apagar na original',
    enabled         => TRUE);
END;

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

Есть идеи о возможных проблемах / исправлениях?

Спасибо

1 Ответ

0 голосов
/ 12 ноября 2018
Значения

DATE не поддерживают часовой пояс, поэтому AT TIME ZONE ... в сочетании с TO_DATE бесполезен. Попробуйте TO_TIMESTAMP_TZ или используйте литералы TIMESTAMP, например start_date => TIMESTAMP '2019-11-12 11:20:00 UTC' или попробуйте start_date => SYSTIMESTAMP

Ваша настоящая проблема - дата начала, посмотрите внимательно:

start_date => To_Date('12-NOV-2019 11:20 AM', 'dd-mon-yyyy hh:mi AM' AT TIME ZONE 'GMT')

12-NOV-2019 - сегодня у нас 12 ноября 2018 , поэтому ваша работа начнется через год.

Пожалуйста, задайте вопрос еще раз через год, если работа еще не началась в этот раз: -)

Я не уверен, возможно, вам нужно добавить точку с запятой и попробовать PLSQL_BLOCK ratehr чем STORED_PROCEDURE, т.е.

job_type => 'PLSQL_BLOCK',
job_action => 'SIIMA_JOB_LIMPA_TAB_pkg.LIMPAR_TAB_proc;'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...