請教,關於自動執行JOB,該怎麼寫。

wei-xh發表於2010-05-31
我想今夜2點的時候執行一個JOB,該怎麼寫。
執行的內容如下:
BEGIN
  DBMS_STATS.GATHER_SCHEMA_STATS(OWNNAME          => 'NCSI',
                                 ESTIMATE_PERCENT => 100,
                                 METHOD_OPT       => 'FOR ALL COLUMNS SIZE AUTO',
                                 DEGREE           => 2,
                                 CASCADE          => TRUE);
END;

我用如下寫法,提示錯誤,不知道該怎麼寫才合乎規範,還有怎麼能在時間上保證只執行一次。
BEGIN

  DBMS_SCHEDULER.CREATE_PROGRAM(
                                
                                PROGRAM_NAME => 'my_program1',
                                
                                PROGRAM_ACTION =>'BEGIN
                                 DBMS_STATS.GATHER_SCHEMA_STATS(OWNNAME          => 'NCSI',
                                 ESTIMATE_PERCENT => 100,
                                 METHOD_OPT       => 'FOR ALL COLUMNS SIZE AUTO',
                                 DEGREE           => 2,
                                 CASCADE          => TRUE);
                                  END;',
                                
                                PROGRAM_TYPE => 'PLSQL_BLOCK',
                                
                                ENABLED => TRUE);

END;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22034023/viewspace-664138/,如需轉載,請註明出處,否則將追究法律責任。

相關文章