问题描述:oracle自动任务执行时间不对,周一在上午12点执行
sql tuning advisor ,
auto space advisor 和
auto optimizer stats collection这些系统任务。 查看视图
select window_name, next_start_date, last_start_date from dba_scheduler_windows,显示:
MONDAY_WINDOW
23-APR-12 10.00.00.000000 PM CST6CDT
16-APR-12 10.00.00.009363 PM CST6CDT,发现next_start_date是“TIMESTAMP(6) WITH TIME ZONE”类型,普通的通过pl/sql developer去修改,sys.dbms_scheduler.set_attribute(name => 'SYS.MONDAY_WINDOW', attribute => 'start_date', value => to_date('04/23/2012 22:00 ','mm/dd/yyyy hh24:mi ')); 仅仅是to_date,不能控制时区。所以我只有手写命令,执行sys.dbms_scheduler.set_attribute(name => 'SYS.MONDAY_WINDOW', attribute => 'start_date', value => to_timestamp_tz('04/23/2012 22:00 +08:00','mm/dd/yyyy hh24:mi tzh:tzm')); 这样就是我要的东八区时间了。再次查看select window_name, next_start_date, last_start_date from dba_scheduler_windows,时间都改过来了。
原因分析:因为数据库改过时区,所以系统自带的window窗口时间都是改之前的时区时间。
心得:以后要是改时区,要记得检查windows执行时间。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25027760/viewspace-722076/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25027760/viewspace-722076/