网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>数据库技术>>Oracle技术>>Oracle开发>查看文档  
  解析:job的interval输入参数过长的问题     
  文章作者:未知  文章来源:赛迪网技术社区  
  查看:81次  录入:管理员--2007-11-15  
 

本文中,我们根据一段错误代码从而来分析如何解决job的interval输入参数过长的问题。

给出的运行job的pl/sql代码为:

declare
job binary_integer := :job;
next_date date := :mydate;
broken boolean := false;
begin
what
:mydate := next_date;
if broken then :b := 1; else :b :=0; end if;
end;

并说明了如何使用next_date作为存储过程的输出参数,来指定下次job的下次运行时间。

第一次看到这里的时候,一方面是感叹这种内部的东西,一般人是无法得到的,只有tom这种内部人士才能得到;另一方面是佩服tom的功力,说实话,即使是把代码给我,我也想不出这么巧妙的方法。

这次重读这部分内容,有了一点新的想法,对于broken变量,是否也可以做点什么?

采用和上面类似的方法,可以控制job的行为,使job成功运行一次后,就自动停止不在执行。由于普通的一次性job,在运行后就从job视图中消失了,如果希望留下运行信息,则必须使用日志表,十分的麻烦。而采用下面的方法处理一次性job,可以方便将job的运行信息保留下来:

sql> conn /@yangtk as sysdba

已连接。

sql> grant execute on dbms_lock to yangtk;

授权成功。

sql> conn yangtk/yangtk@yangtk

已连接。

sql> create or replace procedure p_test (p_broken out boolean) as
2 begin
3 p_broken := true;
4 dbms_lock.sleep(5);
5 end;
6 /

过程已创建。

sql> declare
2 v_job number;
3 begin
4 dbms_job.submit(v_job, 'p_test(broken);', sysdate, 'sysdate + 1/1440');
5 commit;
6 end;
7 /

pl/sql 过程已成功完成。

sql> col what format a30
sql> select job, what, total_time, 
broken, failures from user_jobs;

job what total_time b failures
---------- ------------------------------ 
6 p_test(broken); 3 n

sql> select job, what, total_time, broken,
 failures from user_jobs;

job what total_time b failures
---------- ------------------------------ 
6 p_test(broken); 5 y 0

采用这种方法,运行一次后,job不再运行,但是job信息并没有丢失,仍然保留在user_jobs视图中。

 
 
上一篇: 解析:基于oracle高性能动态sql程序开发    下一篇: 解析:物化视图刷新中出现的“约束冲突”
  相关文档
处处设防 数据库安全性策略详细介绍 04-11
Oracle案例详细分析:Job任务停止执行 04-23
改变优化参数来适应库缓冲区中sql的变化 03-14
解析:怎样查出前台正在发出的sql语句 08-05
怎样理解分布处理和分布式数据库 09-29
理解和使用Oracle 8i分析工具-LogMiner 01-15
监控Oracle数据库的常用shell脚本 01-15
讲解oracle failsafe与rac的联系与区别 06-11
statspack监控管理:定期清除1个月的数据 02-28
教你轻松掌握数据库链路的建立和使用 (1) 05-06
轻松掌握删除oracle 10g垃圾表的好方法 11-21
如何在oracle数据库中使用java存储过程 08-12
oracle 9i在aix上的性能调整──内存篇 06-13
教你Oracle的数据缓冲区是如何工作 04-11
利用Oracle的管理服务器将数据导入导出 06-10
如何获得XML格式的Oracle 10g审计跟踪 04-11
快速掌握一个获取单据编号存储过程示例 04-09
解析:基于oracle高性能动态sql程序开发 11-15
oralce定时执行存储过程任务的设置步骤 03-03
轻松掌握oracle密码文件的使用与维护 11-15
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息