网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>数据库技术>>Oracle技术>>Oracle开发>查看文档  
  解决JOB的Interval输入参数过长的问题     
  文章作者:未知  文章来源:未知  
  查看:132次  录入:管理员--2007-06-03  
 

本文根据一段错误代码从而来分析如何解决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视图中。

 
 
上一篇: RMAN备份恢复——配置介质管理器    下一篇: 教你如何使用Logmnr方法分析数据库日志
  相关文档
oracle数据库专享工具介绍:sql*loader (1) 09-09
判断字段中是否含有中文字符的实例脚本 01-31
不要忽视Oracle 10g STATSPACK新功 05-27
巧用dbms_rowid包获得rowid的详细信息 05-16
入门级的oracle数据库备份与数据库还原 09-24
个人经验:怎样杀死"oracle"的死锁进程 02-01
用存储过程实现删除数据表的部分记录 03-14
轻松掌握Oracle数据库的存取控制 09-29
使用多线索服务器的Oracle的运行 09-29
Oracle数据库安全性管理基本措施简介 04-11
Oracle数据库中基本动态Web开发和应用 04-11
解析:oracle中 限制返回 结果集的大小 11-20
oralce定时执行存储过程任务的设置步骤 03-03
如何将oracle数据库的普通表转换成分区表 (1) 05-05
怎样选择适合的Oracle优化器 09-29
与基于锁的方案相比稍显复杂的非阻塞算法 02-22
数据库迁移的几种常用方式及优缺点比较 05-14
巧用外部表访问警告日志文件或跟踪文件 05-15
如何恢复只有完好数据文件的Oracle数据 05-27
详细讲解oracle在solaris下的性能与调整 (1) 04-28
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息