<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Energy of Love  
    日歷
    <2009年7月>
    2829301234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678
    統計
    • 隨筆 - 70
    • 文章 - 0
    • 評論 - 80
    • 引用 - 0

    導航

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

     

    SVRMGR> select * from dba_jobs;

    初始化相關參數job_queue_processes
    alter system set job_queue_processes=39 scope=spfile;//最大值不能超過1000  ;job_queue_interval = 10  //調度作業刷新頻率秒為單位
    DBA_JOBS describes all jobs in the database.
    USER_JOBS describes all jobs owned by the current user

    1  select job,what,to_char(last_date,'yyyy-mm-dd HH24:mi:ss'),to_char(next_date,'yyyy-mm-dd HH24:m),interval from dba_jobs where job in (325,295)
    2 select job,what,last_date,next_date,interval from  dba_jobs where job in (1,3);


    查詢job的情況。
    show paramter background_dump_dest.
    看alter.log 和trace

    SVRMGR> select * from dba_jobs;

    初始化相關參數job_queue_processes
    alter system set job_queue_processes=39 scope=spfile;//最大值不能超過1000

    job_queue_interval = 10  //調度作業刷新頻率秒為單位


    DBA_JOBS describes all jobs in the database.
    USER_JOBS describes all jobs owned by the current user

    1  select job,what,to_char(last_date,'yyyy-mm-dd HH24:mi:ss'),to_char(next_date,'yyyy-mm-dd HH24:m),interval from dba_jobs where job in (325,295)
    2 select job,what,last_date,next_date,interval from  dba_jobs where job in (1,3);


    查詢job的情況。
    show paramter background_dump_dest.
    看alter.log 和trace

    請問我如何停止一個JOB
    SQL> exec dbms_job.broken(1,true)

    PL/SQL 過程已成功完成。
    SQL>commit  //必須提交否則無效

    啟動作業
    SQL> exec dbms_job.broken(1,false)

    PL/SQL 過程已成功完成。

    停其他用戶的job
    SQL>exec sys.dbms_ijob.broken(98,true);
    SQL>commit;


    ============================

    exec dbms_job.broken(:job) 停止
    exec dbms_job.broken(186,true) //標記位broken
    exec dbms_job.broken(186,false)//標記為非broken
    exec dbms_job.broken(186,false,next_day(sysdate,'monday')) //標記為非broken,指定執行時間
    exec dbms_job.remove(:job);刪除
    exec dbms_job.remove(186);
    commit;

    把一個broken job重新運行


    三、查看相關job信息
    1、相關視圖
    dba_jobs
    all_jobs
    user_jobs
    dba_jobs_running 包含正在運行job相關信息


    創建JOB
    variable jobno number;
    begin
      dbms_job.submit(:jobno, 'statspack.snap;', trunc(sysdate+1/24,'HH'), 'trunc(SYSDATE+1/24,''HH'')', TRUE, :instno);
      commit;
    end;
    print jobno

    例如,我們已經建立了一個存儲過程,其名稱為my_job,在sql/plus中以scott用戶身份登錄,執行如下命令:
    sql> variable n number;
    sql> begin
    dbms_job.submit(:n‘my_job;’,sysdate,
    ‘sysdate+1/360’);
    commit;
    end;
    Sql> print :n;

    系統提示執行成功。
    Sql> print :n;
    系統打印此任務的編號,例如結果為300。

    簡單例子
    一個簡單例子:

    創建測試表
    SQL> create table TEST(a date);

    表已創建。

    創建一個自定義過程
    SQL> create or replace procedure MYPROC as
      2  begin
      3  insert into TEST values(sysdate);
      4  end;
      5  /

    過程已創建。

    創建JOB
    SQL> variable job1 number;
    SQL>
    SQL> begin
      2  dbms_job.submit(:job1,'MYPROC;',sysdate,'sysdate+1/1440');  --每天1440分鐘,即一分鐘運行test過程一次
      3  end;
      4  /

    PL/SQL 過程已成功完成。

    運行JOB
    SQL> begin
      2  dbms_job.run(:job1);
      3  end;
      4  /

    PL/SQL 過程已成功完成。

    SQL> select to_char(a,'yyyy/mm/dd hh24:mi:ss') 時間 from TEST;

    時間
    -------------------
    2001/01/07 23:51:21
    2001/01/07 23:52:22
    2001/01/07 23:53:24

    刪除JOB
    SQL> begin
      2  dbms_job.remove(:job1);
      3  end;
      4  /

    PL/SQL 過程已成功完成。

    =======================================


    a、利用dbms_job.run()立即執行該job
       sql>begin
       sql>dbms_job.run(:jobno) 該jobno為submit過程提交時返回的job number
       sql>end;
       sql>/
    b、利用dbms_job.broken()重新將broken標記為false
       sql>begin
       sql>dbms_job.broken (:job,false,next_date)
       sql>end;
       sql>/

    ========================================
    SQL> create table a(a date);
    Table created

    創建一個過程
    SQL> create or replace procedure test as
      2  begin
      3  insert into a values(sysdate);
      4  end;
      5  /
    Procedure created

    提交作業
    SQL> declare
      2  job1 number;   //定義一個數字型變量
      3  begin
      4  dbms_job.submit(:job1,'test;',sysdate,'sysdate+1/1440');  //按分鐘算一天1440分鐘
      5  end;
      6  /
    PL/SQL procedure successfully completed
    job1
    ---------
    4
    SQL> commit;
    Commit complete

    運行作業
    SQL> begin
      2  dbms_job.run(4);
      3  end;
      4  /
    PL/SQL procedure successfully completed

    刪除作業
    SQL> begin
      2  dbms_job.remove(4);
      3  end;
      4  /
    PL/SQL procedure successfully completed
    SQL> commit;
    Commit complete


    job change//修改作業
    execute dbms_job.change(186,null,null,'sysdate+3');
    execute dbms_job.change(186,'scott.test(update)');

    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)'

    Oracle9i 中job_queue_interval已經廢棄(obsoleted),job_queue_processes=10默認,實際上,job_queue_interval的值為5,假如實在要修改interval的值,可以使用_job_queue_interval的隱藏參數。

    posted on 2009-07-11 12:45 不高興 閱讀(237) 評論(0)  編輯  收藏 所屬分類: Oracle
     
    Copyright © 不高興 Powered by: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: www.亚洲色图| 成人毛片18女人毛片免费视频未 | 在线精品一卡乱码免费| 亚洲精品免费视频| 小日子的在线观看免费| 亚洲精品一卡2卡3卡三卡四卡| 少妇太爽了在线观看免费视频| 久久狠狠高潮亚洲精品| 永久在线免费观看| 亚洲a级在线观看| 最近2019中文字幕mv免费看 | 免费人人潮人人爽一区二区| 九月婷婷亚洲综合在线| 人妻无码中文字幕免费视频蜜桃| 在线观看亚洲成人| 午夜免费福利小电影| 亚洲国产午夜电影在线入口| 啦啦啦中文在线观看电视剧免费版 | 国产精品久久久久久久久久免费| 亚洲午夜福利在线视频| 国产免费小视频在线观看| 国产精品无码免费专区午夜| 亚洲视频在线免费观看| 无码免费午夜福利片在线 | 亚洲精品无播放器在线播放| 四虎永久免费地址在线网站| 中文字幕av免费专区| 亚洲天堂久久精品| 两个人的视频高清在线观看免费| 青青视频免费在线| 久久久无码精品亚洲日韩蜜桃| 91在线视频免费91| 一级毛片**免费看试看20分钟| 亚洲一本综合久久| 日韩一品在线播放视频一品免费| 中文字幕成人免费高清在线| 亚洲色图综合网站| 亚洲午夜激情视频| 亚洲成人免费电影| 农村寡妇一级毛片免费看视频 | 亚洲国产精华液网站w|