oracle的job失败原因探究

createorreplaceprocedurerebuild_indexisbeginexecuteimmediate'ALTERINDEXTABLE_INDEXREB... create or replace procedure rebuild_index is
begin
execute immediate 'ALTER INDEX TABLE_INDEX REBUILD';
commit;
end;
/

declare
job_rebuild number;
begin
sys.dbms_job.submit(job => job_rebuild,
what => 'rebuild_index;',
next_date => TRUNC(LAST_DAY(SYSDATE))+1+1/24,
interval => 'TRUNC(LAST_DAY(SYSDATE))+1+1/24');
commit;
end;
/

上面这个存储过程用来重建TABLE_INDEX索引,job是让每个月的1日执行这个存储过程,为什么在plsql中建立之后,手动执行这个job可以,但若让job自动运行,则到了1日却无法执行。

这里数据库使用的是中文字符集,但这里存储过程与job没有涉及到这方面的影响好像,还请指教如何知道job失败的原因?谢谢!
展开
 我来答
blaast
推荐于2016-03-31 · 超过19用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:35.4万
展开全部
估计是job创建的有问题,你先把job的执行时间设置到一个确定的时间,然后看看执行不执行。如果执行,那说明你的每个月1号这个逻辑有问题
定竹ch
2010-06-24 · 超过13用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:43.7万
展开全部
既然已经成功创建JOB,没有运行日志里也有错误吧,看看alert
如果什么错误都没有,
检查job_queue_process值不为0
检查JOB是否在运行
select * from dba_jobs_running
检查SNP进程
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式