Oracle 11.2.0.1 SE-ONE
Oracle Linux 5.6 x86-64
Just went through my first DST change at this shop and there have been a lot of issues. Seems most jobs were specified with start_dates using time offsets instead of timezone region names, so DST change was not observed, causing first run of a job after the change to be one hour early. I think I understand the fix and am setting up a variety of test scenarios to verify.
As an additional twist, most of the jobs are defined with this type of syntax for the repeat_interval:
MON_TO_FRI(.4375)
Several variations on that theme. Not hard to look at it and figure out what it means (multiplying the decimal by 24 to get a time of day), but I've not been able to actually create a job like that. What I get is
SQL> begin
2 dbms_scheduler.create_job('JOB_MYTEST_01',
3 'PLSQL_BLOCK',
4 'begin null; end;',
5 enabled => true,
6 start_date => '20-MAR-10 10.59.57 AM -05:00',
7 repeat_interval => 'daily(.58333)'
8 );
9 end;
10 /
begin
*
ERROR at line 1:
ORA-27465: invalid value daily(.58333) for attribute REPEAT_INTERVAL
ORA-06512: at "SYS.DBMS_ISCHED", line 124
ORA-06512: at "SYS.DBMS_SCHEDULER", line 271
ORA-06512: at line 2
I'm guessing that in the existing jobs in my production system, the repeat_interval resulted from a pl/sql expression, but I'm at a loss on how to reproduce it.