zoukankan      html  css  js  c++  java
  • oracle job不自动执行,手动可以执行

    解决方法:

    用sysdba登录,执行show parameter job_queue_process看看结果是不是0

    如果是这个原因,可以修改此参数

    ALTER SYSTEM SET job_queue_processes = 100;

    小结

    1)job_queue_processes参数决定了job作业能够使用的总进程数。

    2)当该参数为0值,任何job都不会被执行,建议合理设置该值且至少大于1。

    3)对于job运行时间也应该尽量合理的设置间隔以及启动时间。

    4)如果同一时间内运行的Job数很多,过小的参数值导致job不得不进行等待。而过大的参数值则消耗更多的系统资源。

    5)job_queue_processes取值范围为0到1000,总共可创建多少个job进程由job_queue_processes参数来决定。

    6)当job_queue_processes大于1时,且并行执行job时,至少一个为协调进程。其总数不会超出job_queue_processes的值。

    7)job_queue_processes参数的值为且DBMS_JOB与DBMS_SCHEDULER共享。

    8)job_queue_processes参数,当设定该值为0的时候则任意方式创建的job都不会运行。

    9)非零值的job_queue_processes,其job子进程数依赖于可用资源,资源配置方式以及当前运行的job数来自行调整。

    10)此外对于Scheduler jobs方式还受限制于scheduler属性MAX_JOB_SLAVE_PROCESSES的设置。

    11)可以通过DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE来设置max_job_slave_processes

  • 相关阅读:
    java 装饰者模式与继承的区别
    Java学习笔记-多线程-创建线程的方式
    java IO流复制图片
    如何解决代码重复问题
    jdbc的基本应用
    java多线程
    java中的集合和数组
    Collections的应用
    Map集合的应用及其遍历方式
    qweb
  • 原文地址:https://www.cnblogs.com/DreamFather/p/11326245.html
Copyright © 2011-2022 走看看