出于今天的某些原因,我的所有调度程序作业都在调度前一个小时运行:
BEGIN
dbms_scheduler.create_job('"JOB_EXTRACAO_LOOK_11_20"',
job_type=>'PLSQL_BLOCK', job_action=>
'DECLARE
V_ID_REGIAO VARCHAR2(3) := ''GYN'';
BEGIN
IF V_ID_REGIAO = 'GYN' THEN
PRC_RESULTADO_TRADICIONAL (V_ID_REGIAO);
END IF;
END;'
, number_of_arguments=>0,
start_date=>TO_TIMESTAMP_TZ('03-NOV-2019 01.44.54.970684000 PM AMERICA/SAO_PAULO','DD-MON-RRRR HH.MI.SSXFF AM TZR','NLS_DATE_LANGUAGE=english'), repeat_interval=>
'FREQ=DAILY;BYHOUR=13;BYMINUTE=46;BYSECOND=0'
, end_date=>NULL,
job_class=>'"DEFAULT_JOB_CLASS"', enabled=>FALSE, auto_drop=>FALSE,comments=>
'Resultado automatico da extração 11:20 LOOK'
);
dbms_scheduler.set_attribute('"JOB_EXTRACAO_LOOK_11_20"','job_priority',1);
sys.dbms_scheduler.set_attribute('"JOB_EXTRACAO_LOOK_11_20"','NLS_ENV','NLS_LANGUAGE=''AMERICAN'' NLS_TERRITORY=''AMERICA'' NLS_CURRENCY=''$'' NLS_ISO_CURRENCY=''AMERICA'' NLS_NUMERIC_CHARACTERS=''.,'' NLS_CALENDAR=''GREGORIAN'' NLS_DATE_FORMAT=''DD-MON-RR'' NLS_DATE_LANGUAGE=''AMERICAN'' NLS_SORT=''BINARY'' NLS_TIME_FORMAT=''HH.MI.SSXFF AM'' NLS_TIMESTAMP_FORMAT=''DD-MON-RR HH.MI.SSXFF AM'' NLS_TIME_TZ_FORMAT=''HH.MI.SSXFF AM TZR'' NLS_TIMESTAMP_TZ_FORMAT=''DD-MON-RR HH.MI.SSXFF AM TZR'' NLS_DUAL_CURRENCY=''$'' NLS_COMP=''BINARY'' NLS_LENGTH_SEMANTICS=''BYTE'' NLS_NCHAR_CONV_EXCP=''FALSE''');
dbms_scheduler.enable('"JOB_EXTRACAO_LOOK_11_20"');
COMMIT;
END;
计划的日志
LOG_ID 116672
LOG_DATE 03-NOV-19 12.46.02.336034000 PM -03:00
OWNER ADMIN
JOB_NAME JOB_EXTRACAO_LOOK_11_20
JOB_SUBNAME (null)
STATUS FAILED
ERRO# 1403
REQ_START_DATE 03-NOV-19 01.46.00.974251000 PM AMERICA/SAO_PAULO
ACTUAL_START_DATE 03-NOV-19 01.46.01.107522000 PM AMERICA/SAO_PAULO
TIMEZONES配置
TIMESTAMP WITH TIME ZONE = 2019-11-03 12:46:29 -03:00
TIMESTAMP NO TIME ZONE = 2019-11-03 12:46:29 +00:00
AUTO_CONVERTION = 2019-11-03 12:46:29 AMERICA/SAO_PAULO
DBA_SCHEDULER_GLOBAL_ATTRIBUTE = DEFAULT_TIMEZONE -3:00
SESSION TIME ZONE = America/Sao_Paulo
BEGIN
FOR C1 IN (Select JOB_NAME from user_scheduler_jobs where STATE != 'DISABLED' ORDER BY JOB_NAME) LOOP
DBMS_SCHEDULER.SET_ATTRIBUTE( name => C1.JOB_NAME,
attribute => 'START_DATE',
value => SYSTIMESTAMP AT TIME ZONE '-3:00');
END LOOP;
END;
它将使调度程序忽略区域DST