Oracle定时计划快速使用
Oracle定时计划快速使用
前言:
SQL Server中有相关的定时计划,可以直接打开sql server 的任务管理器进行配置,可以方便、快速实现定时执行相应任务。相应的Oracle也有对应的定时计划,只不过没有一个很好的图形界面供用户去操作。本文主要是为了方便用户在Oracle中快速创建定时计划,定期执行相应的sql或者存储过程。
1. 创建定时计划
说明:以下所有的示例代码,都需要用户先连上sql/plus之后,在sql/plus中执行。
1.1 创建存储过程
存储过程不是必须的,只不过是把相关的一系列的sql语句整合在一块,方便执行。
示例:
create or replace procedure update_black_gray_list as
begin
UPDATE SMS_BLACKLIST //要执行的sql语句
SET FLAG='0',"ENABLE"='2',
FDATE=TO_DATE(TO_DATE(TO_CHAR(SYSDATE, 'yyyy-mm-dd'), 'yyyy-mm-dd')),
TDATE=TO_DATE(TO_DATE(TO_CHAR(SYSDATE+7, 'yyyy-mm-dd'), 'yyyy-mm-dd'))
WHERE FLAG='0' AND "ENABLE"='0' AND
TDATE<TO_DATE(TO_DATE(TO_CHAR(SYSDATE, 'yyyy-mm-dd'), 'yyyy-mm-dd'));
end;
/
1.2 创建定时计划
示例:
variable update_list_job number;
begin
dbms_job.submit(:update_list_job,'update_black_gray_list;',TRUNC(SYSDATE),'TRUNC(SYSDATE+1)');
end;
/
变量update_list_job是为了存储创建生成的计划的唯一标识号,方便删除,查看该定时计划的相关信息
1.2.1 dbms_job.submit() 说明
PROCEDURE submit (
job OUT binary_ineger,
what IN varchar2,
next_date IN date,
interval IN varchar2,
no_parse IN booean:=FALSE)
这个过程有五个参数:job、what、next_date、interval与no_parse。
l job参数是由Submit()过程返回的binary_ineger。这个值用来唯一标识job。
l what参数是将被执行的PL/SQL代码块(一般多是存储过程)。
l next_date参数指识何时将运行这个工作。
l interval参数何时这个工作将被重执行。
interval是指上一次执行结束到下一次开始执行的时间间隔, 当interval设置为null时,该job执行结束后,就被从队列中删除。假如我们需要该job周期性地执行,则要用‘sysdate+m’表示。
示例:
每天运行一次 'SYSDATE + 1'
每小时运行一次 'SYSDATE + 1/24'
每分钟运行一次 'SYSDATE + 1/(60*24)'
每秒运行一次 'SYSDATE + 1/(60*24*60)'
每隔一星期运行一次 'SYSDATE + 7'
每天午夜12点 'TRUNC(SYSDATE + 1)'
每天早上1点30分 'TRUNC(SYSDATE + 1) + (1*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)'
不再运行该任务并删除它 NULL
l no_parse参数指示此工作在提交时或执行时是否应进行语法分析(默认为false)——TRUE指示此PL/SQL代码在它第一次执行时应进行语法分析,而FALSE指示本PL/SQL代码应立即进行语法分析。
1.3
执行定时计划
示例:
begin
dbms_job.run(:update_list_job);
end;
/
1.4
删除定时计划
示例:
begin
dbms_job.remove(:update_list_job);
end;
/
2.
查看所有定时计划
select * from user_jobs;
3.
删除定时计划
3.1 删除所有定时计划
begin
for v in(select job from user_jobs) loop
dbms_job.remove(v.job);
end loop;
commit;
end;
3.2 删除指定内容的定时计划
begin
for v in(select job from user_jobs where what
in( 'the_what_name;' ) )
loop
dbms_job.remove(v.job);
end
loop;
commit;
end;
/
3.3 删除指定用户的定时计划
begin
for v in(select job from user_jobs where
log_user='USERXXXX') loop
dbms_job.remove(v.job);
end loop;
commit;
end;
/
Oracle定时计划快速使用的更多相关文章
- (转)Oracle定时执行计划任务
Oracle定时执行计划任务 在日常工作中,往往有些事情是需要经常重复地做的,例如每天更新业务报表.每天从数据库中提取符合条件的数据.每天将客户关系管理系统中的数据分配给员工做数据库营销……因此我们就 ...
- 【Oracle】Windows定时计划每天备份数据库
脚本 OracleBakEveryDay.bat @echo off echo ================================================ echo Window ...
- 看懂Oracle执行计划
最近一直在跟Oracle打交道,从最初的一脸懵逼到现在的略有所知,也来总结一下自己最近所学,不定时更新ing- 一:什么是Oracle执行计划? 执行计划是一条查询语句在Oracle中的执行过程或访问 ...
- 看懂Oracle执行计划、表连接方式
看懂Oracle执行计划 原文:https://www.cnblogs.com/Dreamer-1/p/6076440.html 最近一直在跟Oracle打交道,从最初的一脸懵逼到现在的略有所知,也 ...
- 02 看懂Oracle执行计划
看懂Oracle执行计划 最近一直在跟Oracle打交道,从最初的一脸懵逼到现在的略有所知,也来总结一下自己最近所学,不定时更新ing… 一:什么是Oracle执行计划? 执行计划是一条查询语句在 ...
- Oracle调优之看懂Oracle执行计划
@ 目录 1.文章写作前言简介 2.什么是执行计划? 3.怎么查看执行计划? 4.查看真实执行计划 5.看懂Oracle执行计划 5.1 查看explain 5.2 explain执行顺序 5.3 访 ...
- (Oracle)看懂Oracle执行计划(转载)
最近一直在跟Oracle打交道,从最初的一脸懵逼到现在的略有所知,也来总结一下自己最近所学,不定时更新ing- 一:什么是Oracle执行计划? 执行计划是一条查询语句在Oracle中的执行过程或访问 ...
- Oracle执行计划详解
Oracle执行计划详解 --- 作者:TTT BLOG 本文地址:http://blog.chinaunix.net/u3/107265/showart_2192657.html --- 简介: ...
- 【转】Oracle执行计划解释
Oracle执行计划解释 一.相关的概念 Rowid的概念:rowid是一个伪列,既然是伪列,那么这个列就不是用户定义,而是系统自己给加上的. 对每个表都有一个rowid的伪列,但是表中并不物 ...
随机推荐
- 379. Design Phone Directory
379. Design Phone Directory Design a Phone Directory which supports the following operations: get: P ...
- Elasticsearch学习之入门
1.什么是Elasticsearch Elasticsearch是一个基于Apche Lucene的开源实时分布式搜索和分析引擎. 2.安装 安装Elasticsearch的唯一要求是安装官方新版的j ...
- LeetCode 20 -- Valid Parentheses
Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the inpu ...
- [解决方案] pythonchallenge level 2
http://www.pythonchallenge.com/pc/def/ocr.html 根据页面提示查看网页源代码,在最后:<!--find rare characters in the ...
- ASP.NET Repeater 控件分页
protected void Page_Load(object sender, EventArgs e) { HttpContext context = HttpContext.Current; co ...
- LingQ 的Distinct使用方法
需要将对象继承 IEqualityComparer<对象类名> 接口 然后实现下面两个方法 public bool Equals(对象 x, 对象y) { return x.ID == y ...
- OD调试17
程序先出现一个nag 然后出现主窗口 然后出现第二个nag窗口 我们查个壳 没有壳 那就载入OD看看,继续用调用堆栈的方法 发现一直执行用的都是这一个call,最后执行到程序结束.之 ...
- 使用递归方法遍历TreeView的节点如配置则勾选
自己在网上找了一段时间都没有找到取自数据库的值与TreeView中的节点值进行对比如匹配则勾选中CheckBox的资料,后面自己写了一个递归方法实现,现在记录起来以备需要时使用.在没写这递归方法前如果 ...
- Dr.com──加密方式(网页端)
Dr.com是城市热点公司开发的宽带计费系统,可以控制网络进行管理,认证,计费,限速……许多的高校与企业都有使用. 从接触到drcom就很感兴趣(原因想必大家都懂...) drcom登陆(认证)方式又 ...
- Hadoop YARN 100-1知识点
0 YARN中实体 资源管理者(resource manager, RM) 长时间运行的守护进程,负责管理集群上资源的使用 节点管理者(node manager, NM) 长时间运行的守护进程,在集群 ...