Oracle JOB 用法小结 http://www.bitscn.com/pdb/oracle/200604/19366.html 一、设置初始化参数 job_queue_processes sql> alter system set job_queue_processes=n;(n>0) job_queue_processes最大值为1000
查看job queue 后台进程 sql>select name,description from v$bgprocess;
具体讲解: 1.确保Oracle的工作模式允许启动任务队列管理器 Oracle定时执行“Job Queue”的后台程序是SNP进程,而要启动SNP进程,首先要确保整个系统的模式是可以启动SNP进程的,这需要以 DBA的身份去执行如下命令: svrmgrl>; alter system enable restricted session; 或sql>; alter system disenable restricted session; 利用如上命令更改系统的会话方式为disenable restricted,为SNP的启动创造条件。
2.确保Oracle的系统已经配置了任务队列管理器的启动参数 SNP的启动参数位于Oracle的初始化文件中,该文件放在$ORACLE_HOME/dbs路径下,如果Oracle的SID是myora8的话,则初始化文件就是 initmyora8.ora,在文件中对SNP启动参数的描述部分如下: job_queue_process=n job_queue_interval=N 第一行定义SNP进程的启动个数为n。系统缺省值为0,正常定义范围为0~36,根据任务的多少,可以配置不同的数值。 第二行定义系统每隔N秒唤醒该进程一次。系统缺省值为60秒,正常范围为1~3600秒。事实上,该进程执行完当前任务后,就进入睡眠状 态,睡眠一段时间后,由系统的总控负责将其唤醒。 如果该文件中没有上面两行,请按照如上配置添加。配置完成后,需要重新启动数据库,使其生效。注意:如果任务要求执行的间隔很短的 话,N的配置也要相应地小一点。 3.将任务加入到数据库的任务队列中 用Oracle的dbms_job包中的存储过程,将任务加入到任务队列中: dbms_job.submit( job out binary_integer, what in archar2, next_date in date, interval in varchar2, no_parse in boolean)