2013-12-11 17 views
0

試圖將作業與窗口關聯。連接應該使用schedule_name工作,但似乎不起作用。將調度程序作業與窗口關聯

重複的例子,

創建窗口打開每隔一分鐘

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 

OK,對於create_job明確狀態

關聯工作

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 

回答

0

您正在創建一個WINDOW但與SCHEDULE的工作相關聯。

WINDOW!= SCHEDULE

創建的SCHEDULE代替WINDOW

更新:實際上,將JOBWINDOW關聯是可以的。但由於窗口在SYS架構中,所以您必須在參數中提供架構名稱:

schedule_name  => 'sys.traffic_window' 
+0

但是我想要一個窗口 - 整點就是設置'stop_on_window_close'屬性。另外,窗口是一種時間表 - 文檔指出'schedule_name' attr是一個調度程序,窗口或窗口組。 – haki

+0

文檔也有錯誤。調度程序中的不同對象的名稱要小心。 –

+0

更新了答案 - 只需在參數中提供「SYS」模式名稱,它應該可以。 –