• oracle job


    oracle job简介
    主要的使用情景
    定时在后台执行相关操作:如每天晚上0点将一张表的数据保存到另一张表中,2:定时备份数据库等

    熟化说万事开头难,这里我只简单记述一个创建一个简单的job
    步骤如下:
    1、创建一张表g_test
    create table G_TEST
    (
      ID     NUMBER(12),
      C_DATE DATE
    )
    2、创建一个sequence
    create sequence G_SEQ
    minvalue 1
    maxvalue 999999999999999999999999999
    start with 141
    increment by 1
    cache 20;

    3、创建一个存储过程
    create or replace procedure prc_g_test is
    begin
      insert into g_test values(g_seq.nextval,sysdate);
    end prc_g_test;

    4、创建job,
    使用Submit()过程,工作被正常地计划好。
    这个过程有五个参数:job、what、next_date、interval与no_parse。

    PROCEDURE Submit ( job       OUT binary_ineger,
                       What      IN  varchar2,
                       next_date IN  date,
                       interval  IN  varchar2,
                       no_parse  IN  booean:=FALSE)

    job参数是由Submit()过程返回的binary_ineger。这个值用来唯一标识一个工作。
    what参数是将被执行的PL/SQL代码块。
    next_date参数指识何时将运行这个工作。
    interval参数何时这个工作将被重执行。
    no_parse参数指示此工作在提交时或执行时是否应进行语法分析——TRUE
    指示此PL/SQL代码在它第一次执行时应进行语法分析,
    而FALSE指示本PL/SQL代码应立即进行语法分析。

    在command window窗口中执行下面脚本
    variable job1 number;
    begin
            sys.dbms_job.submit(job => :job,
                                what => 'prc_g_test;',
                                 next_date => to_date('22-10-2008 10:06:41', 'dd-mm-yyyy hh24:mi:ss'),
                                 interval => 'sysdate+1/1440');--每天1440分钟,即一分钟运行test过程一次
           commit;
          end;
      /
    5、查看创建的job
    查看相关job信息
    1、相关视图
    dba_jobs
    all_jobs
    user_jobs
    dba_jobs_running 包含正在运行job相关信息。
    如:
    select * from dba_jobs

    6、运行JOB
    说明:Run()过程用来立即执行一个指定的工作。这个过程只接收一个参数:
    SQL> begin
      2  dbms_job.run(:job);
      3  end;
      4  /


    7、删除JOB
    SQL> begin
      2  dbms_job.remove(:job);--:job可以用dba_jobs.job的值代替如:1198
      3  end;
      4  /


    说明:在sqlplus命令行直接定义变量要variable!!!!

  • 相关阅读:
    Mybatis传入list的注意点
    synchronized锁
    手撸红黑树
    Vue cdn加速配置
    多线程之BlockingQueue中 take、offer、put、add的一些比较
    线程池
    ThreadLocal
    jdk LocalDateTime mybatis 空指针解决办法
    不同对象中 类型与属性名的属性 进行数据转换
    HashMap 的put方法
  • 原文地址:https://www.cnblogs.com/yxnchinahlj/p/2648761.html
Copyright © 2020-2023  润新知