zoukankan      html  css  js  c++  java
  • Oracle 定时运行存储调度 schedule job,传递参数 (转载)

    1. 首先创建好相应的procedure。此处略过。假设procedure的名字是 P1,P1跑的时候需要传递参数。参数为当前日期的前一天。
    2.oracle 10g开始推出的 schedule更强大,更精确。以往的job还可继续使用。先来看个例子:
    begin 
    dbms_scheduler.create_job( 
    job_name => 'TEST', 
    job_type => 'STORED_PROCEDURE', 
    job_action => 'P1', 
    number_of_arguments => 1,  
    repeat_interval =>'FREQ=DAILY; BYHOUR=1',  
    enabled => FALSE 
    );  
    end; 

    begin 
    DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE (            
    job_name => 'TEST',                      
    argument_position => 1,                                                    
    argument_value => to_char(sysdate-1,'yyyymmdd')
    );    
    end;
    /
    到此就创建好一个schedule.  具体可以在dba_scheduler_jobs 里查看。
    number_of_arguments 为传递参数的数量
    repeat_interval =>'FREQ=DAILY; BYHOUR=1',      这个就是每天跑,且在每天的1点开始跑。
    具体interval 还有很多设置方法。每周,每月,每年,每周几。。这些不多说。
    Interval => TRUNC(sysdate) + 1 +1/ (24)  这也是每天的1点执行
    然后就把enabled这个开关打开。开始生效schedule
    EXEC DBMS_SCHEDULER.ENABLE('TEST'); 
    EXEC DBMS_SCHEDULER.RUN_JOB('TEST'); 
    exec dbms_scheduler.drop_job('TEST'); 删除job
    修改相关参数命令:
    EXEC dbms_scheduler.set_attribute('TEST1','REPEAT_INTERVAL','FREQ=DAILY;BYHOUR=2');
    最后可以在 视图中查看status,next_run_date 等相关参数
    第二,于此同时,渐渐的发问,如果这个scheduler不是你创建的。你怎么抽取出其相关的创建DDL 语句呢?
    查了很多资料也没有特别满意的。(如果有大师看到我这文章,可以告诉我好的方法。)
    1.对于job 可以用:
    QL> select job from dba_jobs;
           JOB
    ----------
             1
                    
    set serveroutput on ;
    declare
            job_body varchar2(32767);
        begin
            dbms_job.user_export(1,job_body);
            dbms_output.put_line(job_body);
        end;
        /                
           
           
    dbms_job.isubmit(job=>1,what=>'begin insert into ttime values(systimestamp); end;',next_date=>to_date('2012-12-03:08:03:52','YYYY-MM-DD:HH24:MI:SS'),interval=>'sysdate+1/86400',no_parse=>TRUE); 

    2.对于schedule,现在只找到一种方法,就是用expdp & impdp,然后impdp 写上 show=y,sqlfile=xxx.sql
    最后再cat这个sql文件。有人说到dbms_sched_job_export.create_exp导出,但是没测试过。

    原文链接:https://blog.csdn.net/hkyw000/article/details/50055069
  • 相关阅读:
    Dockerfile 构建前端node应用并用shell脚本实现jenkins自动构建
    Nginx自定义404页面
    shell脚本逐个杀死k8s中某个应用的pod
    阿里云容器镜像加速器配置
    jenkins shell脚本自动化构建阿里云k8s上应用
    在容器服务kubernetes上配置https
    docker build 指定dockerfile
    centos 7 系统启动不了 出现报错dependency failed for /mnt , dependency failed for local file systems
    向Kubernetes集群删除Node
    SharePoint 2013 关于自定义显示列表表单的bug
  • 原文地址:https://www.cnblogs.com/xibuhaohao/p/12395230.html
Copyright © 2011-2022 走看看