oracle定时脚本job 总是失败,存储过程手动没有问题,存储过程统计两张表格,job失败其中第一章表能统计

第二张没数据,请问是怎么回事?脚本该怎么写?怎么查看脚本出错信息?
存储过程 TEST没问题 都能统计到数据

第1个回答  2011-10-26
一张表能统计,说明过程应该存在问题;
你用PL/SQL工具中的测试窗口调试过程,打个断点看看在哪里出错了?如果不能根据出错行sql分析原因,那你就再exception块中将错误信息输出或插入到表中,错误信息主要涉及到SQLCODE,SQLERRM两个值追问

存储过程没有问题,TEST一下两个表都有数据的

追答

你测试时候有没有传什么Job没有的参数?
如果没有,那你手动运行下Job,看有没有错误?
你就按我说的,在exception中将错误信息记录(插入到日志表中)下来,然后看下到底是什么异常?
从你给的图中看不出什么有价值的东西,你如果手动运行Job没有运行的话,那么定时调度的时候一般也不会出错。在没有错误信息的情况下别人很难帮到你!
如果方便的话加我扣扣250267873

oracle定时脚本job 总是失败,存储过程手动没有问题,存储过程统计两张表...
一张表能统计,说明过程应该存在问题;你用PL\/SQL工具中的测试窗口调试过程,打个断点看看在哪里出错了?如果不能根据出错行sql分析原因,那你就再exception块中将错误信息输出或插入到表中,错误信息主要涉及到SQLCODE,SQLERRM两个值

oracle存储过程和job调用问题
通常像这种自动任务的脚本都需要记录日志,记录每次运行的状态情况,方便问题跟踪,有没有问题是过程脚本问题还是自动任务问题,查看日志一下子就可以定位。

为什么oracle的job有时候会自己broken
一般是你的存储过程、函数等有问题,如没有考虑到异常并处理异常,导致程序运行中断造成的。(重启数据库有时也会有这样的问题,所以重启后,要检查一遍是否有未编译通过的地方、检查一下job状态,也可以写一个job来定时检查其他job工作状态)

Oracle数据库job,调用存储过程,PLSQL工具执行后,没有报错,但是也没有任...
SQL> create table test_job (t1 date);表已创建。SQL> create or replace procedure test_jobproce as 2 3 begin 4 5 insert into test_job values(sysdate);6 7 end test_jobproce;8 \/ 过程已创建。SQL> declare test_job_really number;2 begin 3 dbms_job.submit(test_j...

oracle job不自动执行
期间尝试改过很多运行时间的表达式,但每次到月底都是第一次手动编译运行没问题(排除存储过程语句写的是否问题),其次再等他自动运行 就不行了。网上看过很多解决方案,很多说是权限问题。。。 差点把我带跑偏,如果是权限问题 不可能其他job都能执行成功,于是问题还是出在表达式这。在一个偶然的机遇...

oracle job 执行带参数的存储过程;每天定时将A表新产生的数据定期更新...
execute P_JBXX_NSZHDJXXB_NEW(TO_CHAR(SYSDATE,'yyyy-mm-dd hh24:mi:ss'))

想请教一下如何用oracle 中JOB实现定时存储过程。
1.创建一张表 create table scheduler_test(id number,instime date);2.创建一个存储过程,实现往表中插入资料。create or replace procedure p_insSysdate as id number;begin select count(*) into id from scheduler_test;insert into scheduler_test values(id,sysdate);commit;end;\/ 3.创建一...

oracle数据库创建的job不自动执行
如果是用plsqldeveloper连接的数据库可以看看job是否已启动,job所执行的语句单独拿出来执行看看是否能够正确执行

在oracle中,如何让每天定时执行指定过程
创建存储过程:首先需要创建一个需要定时执行的存储过程。创建作业:使用DBMS_SCHEDULER创建一个作业,指定需要执行的存储过程和执行时间。例如,可以创建一个每天固定时间执行的作业。BEGINDBMS_SCHEDULER.CREATE_JOB ( job_name => 'MY_JOB', job_type => 'STORED_PROCEDURE', job...

oracle基础-定时器job
在Oracle基础中,定时器job是一个用于自动化执行存储过程的重要功能。创建job后,系统会在预先设定的时间执行任务。创建job时,可输入特定的时间参数来定义执行周期。例如,每天午夜12点执行job时,可以使用'SYSDATE + 1';而每天早上8点30分,则需计算为'SYSDATE + 1 + (8*60+30)\/(24*60)'。其...

相似回答
大家正在搜