加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

关于ORACLE数据库中JOB不能自动执行解决方法

(2008-05-14 09:10:51)
标签:

oracle

数据库

job

自动执行

解决方法

it

 

解决方法1

系统中有一个关于允许运行JOB数的参数job_queue_processes

除了直接察看ORACLE系统环境的ini*.ora文件之外,可以通过SQL/PLUS直接察看:

show parameter job_queue_processes;

会自动报出系统的此参数值。当job_queue_processes=0时,job 再正确也不可能自动执行。所以我们应该将此参数设置为大于0,其中数据库ORACLE 8i的参数范围:0<job_queue_processes<36。 具体命令:

alter system set job_queue_processes=10;

通过察看是否为0后,可以初步修改系统参数,此是JOB不能自动执行的情况之一。

 

解决方法2

select   *   from   user_jobs   
查看你的job的状态!

 

解决方法3

权限问题:  
   
  JOB由后台系统进程   Jnnn   来执行,此进程会单独创建一个会话来执行任务。  
  任务执行过程中,所有的环境变量均与提交给任务时的一致,而且仅使用属主的【缺省权限】。  
  通过角色获取的权限此时将不可用!!!  
  必须对属主【显式】授予任务涉及的所有对象的相关权限!!!

 

解决方法4

我们可以从以下几个方面查找原因:
  1.检查JOB_QUEUE_PROCESSES参数;
  2.检查DBA_JOBS,确认JOB的状态不是broken;
  3.检查DBA_JOBS_RUNNING,看refreshjob是否正在运行;
  4.检查dblink和NET是否正常。

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有