<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: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: 一区二区三区免费电影| 亚洲精品V天堂中文字幕| 香蕉免费看一区二区三区| 亚洲综合色在线观看亚洲| 亚洲heyzo专区无码综合| 日韩伦理片电影在线免费观看| 日韩亚洲国产高清免费视频| 久久天天躁狠狠躁夜夜免费观看| 亚洲伊人久久大香线焦| 大地资源免费更新在线播放| 亚洲乱亚洲乱妇无码| 国产一区二区三区在线免费观看| 特级毛片aaaa级毛片免费| 亚洲精品乱码久久久久久蜜桃| 美女羞羞喷液视频免费| 亚洲爽爽一区二区三区| 老司机精品免费视频| 久久久久亚洲精品成人网小说| 99久久精品免费视频| 亚洲制服丝袜一区二区三区| 在线免费视频一区二区| 精品国产亚洲一区二区三区在线观看| xvideos亚洲永久网址| 青青操在线免费观看| 亚洲白色白色在线播放| 四虎免费在线观看| 人人公开免费超级碰碰碰视频| 久久久久久a亚洲欧洲aⅴ| 综合在线免费视频| 黄色一级免费网站| 亚洲国产精品久久久久婷婷软件 | 三年片免费高清版 | 亚洲综合色一区二区三区| 国产一级淫片a免费播放口之| yellow视频免费在线观看| 亚洲AV日韩AV鸥美在线观看| 久久久久国色AV免费观看性色| 色哟哟国产精品免费观看| 亚洲视频在线观看视频| 国产精品免费播放| 久久国产精品一区免费下载|