Oracle 将计划程序作业与窗口关联
正在尝试将作业与窗口关联。连接应该使用schedule_名称工作,但它似乎不工作 可复制示例 创建窗口每隔一分钟打开一次Oracle 将计划程序作业与窗口关联,oracle,oracle10g,dbms-scheduler,Oracle,Oracle10g,Dbms Scheduler,正在尝试将作业与窗口关联。连接应该使用schedule_名称工作,但它似乎不工作 可复制示例 创建窗口每隔一分钟打开一次 SQL> begin 2 DBMS_SCHEDULER.CREATE_WINDOW ( 3 window_name => 'traffic_window', 4 resource_plan => null, 5 repeat_interval => 'FREQ=minutely;i
SQL> begin
2 DBMS_SCHEDULER.CREATE_WINDOW (
3 window_name => 'traffic_window',
4 resource_plan => null,
5 repeat_interval => 'FREQ=minutely;interval=2',
6 duration => interval '1' minute
7 );
8 END;
9 /
PL/SQL procedure successfully completed.
SQL> select WINDOW_NAME,SCHEDULE_NAME,SCHEDULE_TYPE,ENABLED,ACTIVE from all_scheduler_windows;
WINDOW_NAME SCHEDULE_NAME SCHEDULE ENABL ACTIV
------------------------------ ----------------------------------- -------- ----- -----
TRAFFIC_WINDOW CALENDAR TRUE TRUE
确定,关联作业
SQL> exec dbms_scheduler.drop_job('test_window_job',true);
PL/SQL procedure successfully completed.
SQL> begin
2 dbms_scheduler.create_job (
3 job_name => 'test_window_job',
4 job_type => 'PLSQL_BLOCK',
5 job_action => 'begin test_func(70,''start'',0,null); end;',
6 schedule_name => 'traffic_window',
7 enabled => false,
8 auto_drop => true
9 );
10
11 dbms_scheduler.set_attribute ('test_window_job','max_runs',1);
12 dbms_scheduler.set_attribute ('test_window_job','stop_on_window_close',true);
13 end;
14 /
PL/SQL procedure successfully completed.
SQL> exec dbms_scheduler.enable('test_window_job');
BEGIN dbms_scheduler.enable('test_window_job'); END;
*
ERROR at line 1:
ORA-27481: "HAKI.TEST_WINDOW_JOB" has an invalid schedule
ORA-27476: "HAKI.TRAFFIC_WINDOW" does not exist
ORA-06512: at "SYS.DBMS_ISCHED", line 2751
ORA-06512: at "SYS.DBMS_SCHEDULER", line 1794
ORA-06512: at line 1
对于创建作业
明确说明
schedule_name—计划、窗口或窗口组的名称
与此作业关联
有什么问题
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Prod
PL/SQL Release 10.2.0.3.0 - Production
CORE 10.2.0.3.0 Production
TNS for 32-bit Windows: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production
您正在创建一个
窗口
,但将作业与计划
关联
窗口
!=<代码>时间表
创建计划
而不是窗口
更新:实际上,可以将作业
与窗口
相关联。但由于窗口位于SYS架构中,因此必须在参数中提供架构名称:
schedule_name => 'sys.traffic_window'
但是我想要一个窗口-整个要点是设置
stop\u on\u window\u close
属性。另外,窗口是一种日程安排类型-文档声明schedule\u name
attr是一个调度程序、窗口或窗口组。文档也有bug。请注意调度器中不同对象的相同名称。更新了答案-只需在参数中提供SYS
schema名称,就可以了。