ORACLE JOB間隔時間參考

          假設你的存儲過程名為PROC_RAIN_JM 
          再寫一個存儲過程名為PROC_JOB_RAIN_JM 
          內容是: 
          Java代碼  收藏代碼
          1. Create Or Replace Procedure PROC_JOB_RAIN_JM  
          2. Is  
          3. li_jobno         Number;  
          4.   
          5. Begin  
          6. DBMS_JOB.SUBMIT(li_jobno,'PROC_RAIN_JM;',SYSDATE,'TRUNC(SYSDATE + 1)');   
          7. End;  

          提交job語法: 
          Java代碼  收藏代碼
          1. begin  
          2. sys.dbms_job.submit(job => :job,  
          3.                       what => 'P_CLEAR_PACKBAL;',  
          4.                       next_date => to_date('04-08-2008 05:44:09', 'dd-mm-yyyy hh24:mi:ss'),  
          5.                       interval => 'sysdate+ 1/360');  
          6. commit;  
          7. end;  

          ------------------------- 
          創建JOB 
          Java代碼  收藏代碼
          1. variable jobno number;  
          2. begin  
          3. dbms_job.submit(:jobno, 'P_CRED_PLAN;',SYSDATE,'SYSDATE+1/2880',TRUE);  
          4. commit;  

          運行JOB 
          Java代碼  收藏代碼
          1. begin  
          2.     dbms_job.run(:job1);  
          3. end;  

          刪除JOB 
          Java代碼  收藏代碼
          1. begin  
          2.     dbms_job.remove(:job1);  
          3. end;  

          DBA_JOBS 
          ========================================= 
          字段(列)          類型                 描述 
          JOB                NUMBER          任務的唯一標示號 
          LOG_USER           VARCHAR2(30)    提交任務的用戶 
          PRIV_USER          VARCHAR2(30)    賦予任務權限的用戶 
          SCHEMA_USER        VARCHAR2(30)    對任務作語法分析的用戶模式 
          LAST_DATE          DATE            最后一次成功運行任務的時間 
          LAST_SEC           VARCHAR2(8)     如HH24:MM:SS格式的last_date日期的小時,分鐘和秒 
          THIS_DATE     DATE            正在運行任務的開始時間,如果沒有運行任務則為null 
          THIS_SEC     VARCHAR2(8)     如HH24:MM:SS格式的this_date日期的小時,分鐘和秒 
          NEXT_DATE          DATE            下一次定時運行任務的時間 
          NEXT_SEC           VARCHAR2(8)     如HH24:MM:SS格式的next_date日期的小時,分鐘和秒 
          TOTAL_TIME         NUMBER          該任務運行所需要的總時間,單位為秒 
          BROKEN             VARCHAR2(1)     標志參數,Y標示任務中斷,以后不會運行 
          INTERVAL           VARCHAR2(200)   用于計算下一運行時間的表達式 
          FAILURES    NUMBER     任務運行連續沒有成功的次數 
          WHAT               VARCHAR2(2000) 執行任務的PL/SQL塊 
          CURRENT_SESSION_LABEL RAW          MLSLABEL 該任務的信任Oracle會話符 
          CLEARANCE_HI      RAW MLSLABEL     該任務可信任的Oracle最大間隙 
          CLEARANCE_LO      RAW              MLSLABEL 該任務可信任的Oracle最小間隙 
          NLS_ENV           VARCHAR2(2000)   任務運行的NLS會話設置 
          MISC_ENV          RAW(32)          任務運行的其他一些會話參數 
          -------------------------- 
          描述                    INTERVAL參數值 
          每天午夜12點            'TRUNC(SYSDATE + 1)' 
          每天早上8點30分         'TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)' 
          每星期二中午12點         'NEXT_DAY(TRUNC(SYSDATE ), ''TUESDAY'' ) + 12/24' 
          每個月第一天的午夜12點    'TRUNC(LAST_DAY(SYSDATE ) + 1)' 
          每個季度最后一天的晚上11點 'TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), 'Q' ) -1/24' 
          每星期六和日早上6點10分    'TRUNC(LEAST(NEXT_DAY(SYSDATE, ''SATURDAY"), NEXT_DAY(SYSDATE, "SUNDAY"))) + (6×60+10)/(24×60)' 
          -------------------------- 
          1:每分鐘執行 
          Interval => TRUNC(sysdate,'mi') + 1/ (24*60) 
          2:每天定時執行 
          例如:每天的凌晨1點執行 
          Interval => TRUNC(sysdate) + 1 +1/ (24) 
          3:每周定時執行 
          例如:每周一凌晨1點執行 
          Interval => TRUNC(next_day(sysdate,'星期一'))+1/24 
          4:每月定時執行 
          例如:每月1日凌晨1點執行 
          Interval =>TRUNC(LAST_DAY(SYSDATE))+1+1/24 
          5:每季度定時執行 
          例如每季度的第一天凌晨1點執行 
          Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24 
          6:每半年定時執行 
          例如:每年7月1日和1月1日凌晨1點 
          Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24 
          7:每年定時執行 
          例如:每年1月1日凌晨1點執行 
          Interval =>ADD_MONTHS(trunc(sysdate,'yyyy'),12)+1/24 

          TRUNC()函數分兩種 
          trunc實際上是truncate函數,字面意思是截斷,截尾。 
          1.TRUNC(for dates) 
          TRUNC函數為指定元素而截去的日期值。截尾后返回最近日期 
          其具體的語法格式如下: 
          TRUNC(date[,fmt]) 
          date 一個日期值 
          fmt 日期格式,該日期將由指定的元素格式所截去。忽略它則由最近的日期截去 
          下面是該函數的使用情況: 
          select   trunc(sysdate,'mm')   from   dual=2009-1-1 
           
          2.TRUNC(for number) 
          TRUNC函數的功能是將數字進行截斷,對所截取的結果并不四舍五入。   
          其具體的語法格式如下 
          TRUNC(number[,decimals]) 
          number 待做截取處理的數值 
          decimals 指明需保留小數點后面的位數??蛇x項,忽略它則截去所有的小數部分 
          下面是該函數的使用情況: 
          TRUNC(89.985,2)=89.98 
          TRUNC(89.985)=89 
          TRUNC(89.985,-1)=80 
            注意:第二個參數可以為負數,表示為小數點左邊指定位數后面的部分截去,即均以0記。 


          轉載于 http://virgoooos.iteye.com/blog/342421 


          posted on 2012-05-18 12:24 魯勝迪 閱讀(1314) 評論(0)  編輯  收藏 所屬分類: 一點點

          <2012年5月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          常用鏈接

          留言簿(4)

          隨筆分類

          隨筆檔案

          文章分類

          新聞分類

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 沈丘县| 行唐县| 武义县| 嘉峪关市| 肥乡县| 海原县| 梅州市| 亳州市| 东乡族自治县| 水城县| 满城县| 凤台县| 荔浦县| 淅川县| 兴义市| 姚安县| 定边县| 菏泽市| 微山县| 通榆县| 林西县| 普格县| 犍为县| 菏泽市| 唐海县| 商水县| 泗洪县| 堆龙德庆县| 汤阴县| 勃利县| 新平| 上饶县| 高碑店市| 琼结县| 宿迁市| 上犹县| 涪陵区| 双流县| 应城市| 仁怀市| 大渡口区|