oracle定期运行job
数据库:oracle 11g,操作都在pl/sql客户端完成
第一步、创建一个”E_P_FFM_STATE(fltdt in varchar2)“存储过程
第二步、打开Command Window,创建job,
var job_num number;
begin
dbms_job.submit(:job_num,'E_P_FFM_STATE(null);',SYSDATE,'sysdate+5/24/60'); --5分钟执行一次
end;

执行成功,job id是25
第三步、运行job
begin
dbms_job.run(:job_num);
end;

在pl/sql左边,打开DBMS_Jobs,看到”25“的job

本来就这几步,简单得很,但我也查了许久,中间总有东西不对,按照上述步骤应该会成功
后记:
1. 网上说要设置job_queue_processes,决定能运行的job数目,但我运行

后来查到说是要用 SYSDBA 管理员账号登录。如果可以使用dba登录,使用
alter system set job_queue_processes=10 scope=both;
可以修改这个参数
2.dbms_job使用参数说明
- submit,创建
dbms_job.submit(:jobno,--job号
'your_procedure;',--要执行的过程/sql
trunc(sysdate)+1/24,--下次执行时间
'trunc(sysdate)+1/24+1'--每次间隔时间
);
修改
dbms_job.what(jobno,what); --修改要执行的过程/sql语句
dbms_job.next_date(job,next_date);--修改下次执行时间
dbms_job.interval(job,interval);--修改间隔时间
- 启动
dbms_job.run(jobno);--启动job
- 停止
dbms.broken(jobno,--job号
broken,--true/false
nextdate --执行时刻
);--停止job

执行完以后记得commit事务
- 删除
dbms_job.remove(jobno);--删除job

也要commit事务,成功后pl/sql左边DBMS_Jobs就看不到”25“的job
3. 常用执行示例
| INTERVAL参数值 | 描述 |
| TRUNC(SYSDATE+1) | 每天午夜12点 |
| TRUNC(SYSDATE+1)+(8*60+30)/(24*60) | 每天早上8点30分 |
| TRUNC(next_day(sysdate,1))+2/24 | 每周一凌晨2点执行 |
| TRUNC(LAST_DAY(SYSDATE))+1+1/24 | 每月1日凌晨1点执行 |
| TRUNC(LAST_DAY(SYSDATE)+1) | 每个月第一天的午夜12点 |
| TRUNC(ADD_MONTHS(SYSDATE,3),'q')+1/24 | 每季度的第一天凌晨1点执行 |
| TRUNC(ADD_MONTHS(SYSDATE+2/24,3),'q')-1/24 | 每季度的最后一天的晚上11点执行 |
| ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24 | 每年7月1日和1月1日凌晨1点 |
| ADD_MONTHS(trunc(sysdate,'yyyy'),12)+1/24 | 每年1月1日凌晨1点执行 |
4. 相关数据表
select * from user_jobs
select * from all_jobs
select * from dba_jobs
oracle定期运行job的更多相关文章
- 为 WSUS 服务器定期运行清理向导
在 WSUS 的管理界面的 Options 里面,可以找到 Server Cleanup Wizard 然后运行.后来想了一下,为什么不把它弄成定期运行呢! 找了一下,从 Windows Server ...
- Oracle DBA的神器: PRM恢复工具,可脱离Oracle软件运行,直接读取Oracle数据文件中的数据
Oracle DBA的神器: PRM恢复工具,可脱离Oracle软件运行,直接读取Oracle数据文件中的数据 PRM 全称为ParnassusData Recovery Manager ,由 诗檀软 ...
- oracle Plsql 运行update或者delete时卡死问题解决的方法
oracle Plsql 运行update或者delete时 遇到过Plsql卡死问题或者导致代码运行sql的时候就卡死. 在开发中遇到此问题的时候,本来把sql复制出来,在plsql中运行,Sql本 ...
- oracle建立job定期运行存储过程
1 首先查看 SQL> show parameter job NAME TYPE VALUE------------------------------------ ----------- -- ...
- 如何诊断oracle数据库运行缓慢或hang住的问题
为了诊断oracle运行缓慢的问题首先要决定收集哪些论断信息,可以采取下面的诊断方法:1.数据库运行缓慢这个问题是常见还是在特定时间出现如果数据库运行缓慢是一个常见的问题那么可以在问题出现的时候收集这 ...
- 查询oracle sql运行计划,一个非常重要的观点--dba_hist_sql_plan
该文章的作者给予了极大的帮助长老枯荣,为了表达我的谢意. 这适用于oracle db版本号oracle 10g或者更高的版本号. 之所以说这种看法是非常重要的,因为观点是有之一awrsqrpt报告没有 ...
- centos6安装oracle时运行./runInstaller无法弹出图形界面
首先确保安装oracle的机器上安装了图形化界面. 1.利用xmanager登录到安装oracle的服务器上(直接用root用户登录) 2.运行 export DISPLAY=你的本机地址:0.0 3 ...
- 使用hint优化Oracle的运行计划 以及 SQL Tune Advisor的使用
背景: 某表忽然出现查询很缓慢的情况.cost 100+ 秒以上:严重影响生产. 原SQL: explain plan for select * from ( select ID id,RET_NO ...
- MVC项目使用Oracle数据库运行提示:找不到请求的 .Net Framework Data Provider。可能没有安装
MVC项目使用Entity Framework针对Oracle数据库进行开发时,由于Oracle官方网站一般建议开发者在64位操作系统中使用32位ODP.Net进行开发.在进行程序编码的时候不会有问题 ...
随机推荐
- 如何使用git创建远程仓库(供局域网多人使用)
用git init(默认创建的是私人的仓库)创建的仓库,推送是不会成功的. 因此在git server端,我们要用 git --bare init --shared=group 来创建一个bare库, ...
- openstack 网络
物理节点hosts解析配置
- Xamarin.Android真机调试时闪退解决办法
项目->属性->Android Options,Packaging页签 去掉 Use Shared Runtime可解决
- UVALive 7274 Canvas Painting (优先队列)
Canvas Painting 题目链接: http://acm.hust.edu.cn/vjudge/contest/127406#problem/C Description http://7xjo ...
- hive 子查询特别分析
Hive只支持在FROM子句中使用子查询,子查询必须有名字,并且列必须唯一:SELECT ... FROM(subquery) name ... 确认下是否一定要求列必须唯一? 建表语句 ...
- 学习微软中间语言(MSIL)的绝佳工具 Dotnet IL Editor 推荐
Dotnet IL Editor是一款.NET平台反编译工具,可以反编译.NET程序集文件为IL代码,并且可以执行,调试反编译后生成的IL代码.它的设计出发点比较直观,新建一个项目,添加程序集文件,设 ...
- 红帽 Enterprise Linux OpenStack Platform 4.0全面上市
十一月,红帽公司推出Red Hat Enterprise Linux OpenStack Platform 4.0测试版,这款企业级解决方案集Red Hat Enterprise Linux的稳定性与 ...
- 怎么修改路由器地址的默认IP
参考文章:http://jingyan.baidu.com/article/4b52d7026e14effc5c774b30.html 一.怎么修改路由器地址的默认IP 目前绝大多数品牌有线或无线路 ...
- contiki Makefile.include 四个关注点<contiki学习之二>
Contiki Makefile.include 笔记 约定: makefile 包括Makefile.Makefile.xxx,并不单指Makefile 不对makefile的语法进行分析,仅仅关 ...
- string <-> wstring
// std::string -> std::wstringstd::string s("string");std::wstring ws;ws.assign(s.begin ...