zoukankan      html  css  js  c++  java
  • 定时执行存储过程

    基础

    • Oracle定时器

    Oracle定时器:定时执行某个存储过程。

    通过pl/SQL的图形化界面可以看到。定时器包括:调度和存储过程连接口

     

     

    • 存储过程连接口

    存储过程连接口,主要告诉定时器要执行哪一个存储过程。存储过程连接口就是存储过程执行的入口。从图形化界面可以看出“Action”就是要执行的存储过程。而“Arguments”就是调用该存储过程所需要的参数类型及存储过程所调用的必须参数。

     

    • 存储过程

    存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。

    • 调度

    调度最主要的功能就是告诉定时器神什么时候执行定时任务,执行的任务的频率是多久。

     

    案件脚本的创建

    /* 创建可执行程序 */
    begin
        DBMS_SCHEDULER.CREATE_PROGRAM(
            program_name        =>'peace_sj_his.PROG_DATASYNC',
            program_action      =>'peace_sj_his.P_DATASYNC',
            program_type        =>'STORED_PROCEDURE',
            number_of_arguments =>3,
            comments            =>'数据同步程序',
            enabled             => false
        );
    end;
    /

    /* 设置可执行程序的输入参数 */
    begin
        DBMS_SCHEDULER.define_program_argument(
            program_name      =>'peace_sj_his.PROG_DATASYNC',
            argument_position =>1,
            argument_type     =>'VARCHAR2',
            default_value     =>''
        );
        DBMS_SCHEDULER.define_program_argument(
            program_name      =>'peace_sj_his.PROG_DATASYNC',
            argument_position =>2,
            argument_type     =>'VARCHAR2',
            default_value     =>''
        );
        DBMS_SCHEDULER.define_program_argument(
            program_name      =>'peace_sj_his.PROG_DATASYNC',
            argument_position =>3,
            argument_type     =>'VARCHAR2',
            default_value     =>''
        );
    END;
    /

    /* 创建调度表 */
    begin
        DBMS_SCHEDULER.create_schedule(
            schedule_name   =>'peace_sj_his.SCH_DATASYNC',
            repeat_interval =>'FREQ=MINUTELY;INTERVAL=2',
            start_date      => sysdate,
            comments        =>'数据同步调度'
        );
    end;
    /

    /* 创建作业 */
    begin
        DBMS_SCHEDULER.create_job(
            job_name      =>'peace_sj_his.JOB_PPTN',    
            program_name  =>'peace_sj_his.PROG_DATASYNC',
            schedule_name =>'peace_sj_his.SCH_DATASYNC',
            job_class     =>'DEFAULT_JOB_CLASS',           
            comments      =>'雨量数据同步作业',
            auto_drop     => false,
            enabled       => false
        );
    end;
    /

    /* 启动可执行程序 */
    exec DBMS_SCHEDULER.enable('PROG_DATASYNC');

    /* 启动作业 */
    exec DBMS_SCHEDULER.enable('JOB_PPTN');

    /* 设置不同的作业参数 */
    begin
        DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE(
            job_name          =>'peace_sj_his.JOB_PPTN',
            argument_position =>1,
            argument_value    =>'ST_PPTN_R'
        );
        DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE(
            job_name          =>'peace_sj_his.JOB_PPTN',
            argument_position =>2,
            argument_value    =>'TM'
        );
        DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE(
            job_name          =>'peace_sj_his.JOB_PPTN',
            argument_position =>3,
            argument_value    =>'STCD'
        );
    end;
    /
    ----Job管理-----------------------------------------------------------------------

    /* 禁用Job */
    exec dbms_scheduler.disable('JOBTEST');
    /* 执行Job */
    exec dbms_scheduler.run_job('JOBTEST');
    /* 停止Job */exec dbms_scheduler.stop_job('JOBTEST');/* 删除Job */exec dbms_scheduler.drop_job('JOBTEST');

  • 相关阅读:
    第四章 变量的三大特征,垃圾回收机制,可变类型和不可变类型的简单表述
    第三章 有关变量的理解
    第二章 编程语言的分类及优缺点的分析
    IIS拓展访问的文件格式
    JS之HTTP请求
    HTTP请求
    HtmlAgilityPack解析html
    支付宝支付功能开发
    Web.config配置ActiveReports
    数据库连接字符串
  • 原文地址:https://www.cnblogs.com/djrLog/p/4566152.html
Copyright © 2011-2022 走看看