创建

  1. -- 创建定时任务
  2. DECLARE
  3. jobno NUMBER;
  4. BEGIN
  5. dbms_job.submit (   
  6. jobno, -- 定时器ID,系统自动获得
  7. 'PRC_INSERT;', -- what执行的过程名,多个存储过程以";"分隔,末尾要带";"
  8. SYSDATE, -- next_date,定时器开始执行的时间,这样写表示立即执行
  9. 'sysdate + 15/1440' -- interval,设置定时器执行的频率,这样写每隔15分钟执行一次
  10. );
  11. COMMIT;
  12. END;

查看

  1. -- 查询定时任务(包括定时任务号)
  2. select dj.job, dj.what, dj.last_date, dj.next_date
  3. from dba_jobs dj
  4. where upper(dj.what) like '%P_SYN_PRODUCT%'
  5. order by dj.NEXT_DATE asc;
  6. -- 查看正在执行的调度任务
  7. select * from dba_jobs_running;
  8. -- 有权限访问的定时任务
  9. select job, what, last_date, next_date
  10. from all_jobs
  11. order by last_date desc;
  12. -- 整个数据库所有定时任务
  13. select job, what, last_date, next_date
  14. from dba_jobs
  15. order by last_date desc;
  16. -- 查询执行任务的job 的临界值是多少
  17. select value from v$parameter where name like '%job_queue_processes%';
  18. -- 修改job的临界值
  19. alter system set job_queue_processes =100;

删除

  1. -- 1、删除定时任务的存储过程
  2. BEGIN
  3. -- 210jobid,此id不是随便填写的,而是执行select * from user_jobs;
  4. -- 查询到定时任务名称对应的id
  5. dbms_job.remove(210);
  6. commit;
  7. END;
  8. -- 2、也可以使用以下删除方式
  9. -- 删除一个定时器
  10. call dbms_job.remove(83);

修改

  1. -- 3、停止一个定时器
  2. call DBMS_JOB.BROKEN(83, SYS.DIUTIL.INT_TO_BOOL(1));
  3. -- 停止job:
  4. call DBMS_JOB.broken(job, broken, nextdate); –- brokenboolean
  5. -- 启动一个定时器
  6. call DBMS_JOB.run(83);
  7. -- 修改字段 what
  8. call dbms_job.what(job, what);
  9. -- 修改字段 next_date
  10. call dbms_job.next_date(job, next_date);
  11. -- 修改字段 interval
  12. call dbms_job.interval(job, interval);

常见 interval 设置


  1. 每天午夜12 TRUNC(SYSDATE + 1)
  2. 每天早上830 TRUNC(SYSDATE + 1) + 8*60+30)/(24*60)
  3. 每星期二中午12 NEXT_DAY(TRUNC(SYSDATE ), '星期二' ) + 12/24
  4. 每个月第一天的午夜12 TRUNC(LAST_DAY(SYSDATE ) + 1)
  5. 每个季度最后一天的晚上11 TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), 'Q' ) -1/24
  6. 每星期六和日早上610 TRUNC(LEAST(NEXT_DAY(SYSDATE, '星期六'), NEXT_DAY(SYSDATE, "星期日"))) + 6×60+10)/(24×60
  7. 每秒钟执行次 sysdate + 1/(24 * 60 * 60)
  8. 如果改成sysdate + 10/(24 * 60 * 60)就是10秒钟执行次
  9. 每分钟执行 TRUNC(sysdate,'mi') + 1/ (24*60)
  10. 如果改成TRUNC(sysdate,'mi') + 10/ (24*60) 就是每10分钟执行次
  11. 每天定时执行
  12. 例如:每天的凌晨1点执行
  13. TRUNC(sysdate) + 1 +1/ (24)
  14. 每周定时执行
  15. 例如:每周一凌晨1点执行
  16. TRUNC(next_day(sysdate,'星期一'))+1/24
  17. 每月定时执行
  18. 例如:每月1日凌晨1点执行
  19. TRUNC(LAST_DAY(SYSDATE))+1+1/24
  20. 每季度定时执行
  21. 例如每季度的第一天凌晨1点执行
  22. TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24
  23. 每半年定时执行
  24. 例如:每年71日和11日凌晨1
  25. ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24
  26. 每年定时执行
  27. 例如:每年11日凌晨1点执行
  28. ADD_MONTHS(trunc(sysdate,'yyyy'),12)+1/24

PLSQL操作

参考:

https://blog.csdn.net/www1056481167/article/details/84637674

https://www.cnblogs.com/leihongnu/p/15378805.html

https://www.cnblogs.com/yx007/p/6519544.html

Oracle 定时任务增删改查的更多相关文章

  1. mvc模式jsp+servel+dbutils oracle基本增删改查demo

    mvc模式jsp+servel+dbutils oracle基本增删改查demo 下载地址

  2. mvc模式jsp+servel+jdbc oracle基本增删改查demo

    mvc模式jsp+servel+jdbc oracle基本增删改查demo 下载地址

  3. web项目总结——通过jsp+servlet实现对oracle的增删改查功能

    1.DAO模式 分包:依次建立 entity:实体包,放的是跟oracle数据库中表结构相对应的对象的属性,也就是这个对象有什么 dao:增删改查接口,实现增删改查的具体方法 service:同dao ...

  4. ASP.NET C# 连接 Oracle数据库增删改查,事务

    一.知识介绍 ①ASP.NET 使用的是MVC模式,开发工具Visual studio ,语言C# ②Oracle是比较重型的数据库,这里主要介绍连接数据库,对数据进行具体的使用 ③Visual St ...

  5. JDBC概述及JDBC完成对Oracle的增删改查

    什么是JDBC JDBC(Java Data Base Connectivity,Java数据库连接),是一种用于执行SQL语句的Java API,为多种关系数据库提供统一访问.它由一组用Java语言 ...

  6. oracle总结--增删改查

    oracle的执行计划SQL> EXPLAIN PLAN FOR SELECT * FROM emp;已解释.SQL> SELECT plan_table_output FROM TABL ...

  7. Mybatis连接Oracle实现增删改查实践

    1. 首先要在项目中增加Mybatis和Oracle的Jar文件 这里我使用的版本为ojdbc7 Mybatis版本为:3.2.4 2. 在Oracle中创建User表 create table T_ ...

  8. C# 连接 Oracle数据库增删改查,事务

    一. 前情提要 一般.NET环境连接Oracle数据库,是通过 TNS/SQL.NET 配置文件,而 TNS 必须要 Oracle 客户端(如果连接的是服务器的数据库,本地还要装一个 client , ...

  9. 【转】mybatis连接Oracle做增删改查

    原文地址:http://blog.csdn.net/liumengcheng/article/details/34422475 入门请看http://blog.csdn.NET/liumengchen ...

随机推荐

  1. luoguP5319 [BJOI2019]奥术神杖(分数规划,AC自动机DP)

    luoguP5319 [BJOI2019]奥术神杖(分数规划,AC自动机DP) Luogu 题解时间 难点在于式子转化,设有c个满足的子串,即求最大的 $ ans = \sqrt[c]{\prod_{ ...

  2. 记录NLTK安装使用全过程--python

    前言 之前做实验用到了情感分析,就下载了一下,这篇博客记录使用过程. 下载安装到实战详细步骤 NLTK下载安装 先使用pip install nltk 安装包 然后运行下面两行代码会弹出如图得GUI界 ...

  3. Intellij IDEA实现SpringBoot项目多端口启动的两种方法

    有时候使用springboot项目时遇到这样一种情况,用一个项目需要复制很多遍进行测试,除了端口号不同以外,没有任何不同.遇到这种情况怎么办呢?这时候可以使用Intellij IDEA解决 前言 有时 ...

  4. 随意写文件命令?怎么向屏幕输出带空格的字符串,比如”hello world”?

    写文件命令:vi 向屏幕输出带空格的字符串:echo hello world

  5. JSP有哪些动作?分别是什么?

    外JSP共有以下7种基本动作 jsp:include:在页面被请求的时候引入一个文件. jsp:useBean:寻找或者实例化一个JavaBean. jsp:setProperty:设置JavaBea ...

  6. Oracle数据库 如何根据某个字段名的值去查询存在的表列表

    declare v_sql varchar2(1000); data_count number; begin -- OWNER是模式名 tablespace_name是表空间 for cur_tabl ...

  7. Springmvc入门基础(三) ---与mybatis框架整合

    1.创建数据库springmvc及表items,且插入一些数据 DROP TABLE IF EXISTS `items`; CREATE TABLE `items` ( `id` int(11) NO ...

  8. List和 Map区别?

    一个是存储单列数据的集合,另一个是存储键和值这样的双列数据的集合,List中存储的数据是有顺序,并且允许重复:Map中存储的数据是没有顺序的,其键是不能重复的,它的值是可以有重复的.

  9. Java语言的特点有哪些?

    1.简单 Java最初是为对家用电器进行集成控制而设计的一种语言,因此它必须简单明了.Java语言的简单性主要体现在以下三个方面: 1) Java的风格类似于C++,因而C++程序员是非常熟悉的.从某 ...

  10. memcached 能接受的 key 的最大长度是多少?

    key 的最大长度是 250 个字符.需要注意的是,250 是 memcached 服务器端内 部的限制,如果您使用的客户端支持"key 的前缀"或类似特性,那么 key(前缀 + ...