这个肯定是有问题的
查询正在运行的job
select * from dba_jobs_running 
看job调用的语句,分析语句是不是有问题

解决方案 »

  1.   

    几种可能性
    1、语句运行速度太慢,没执行完
    2、出现数据库死锁,导致job一直处于等待状态
    3、job的过程中存在死循环,或是递归调用找不到出口
      

  2.   

    select * from dba_jobs_running 显示是在运行的,调用的过程单独执行的时候也是比较慢的
      

  3.   

    之前过程成功运行过一次,那次因为检索数据量比较小十个小时出来的,现在数据量增加为10倍,是不是因为还没有执行完啊
    如果成功过,那就应该是慢的问题了,真该好好优化下了
    也就是说不是job的问题了,已经是调用的过程本身就很慢
      

  4.   

    如果执行较长,如果能分段执行的话,最好能分段给一个表中插入执行到的时间等信息,每次job执行时,同过这个表中的信息,你就知道执行到哪一步了