这样的job如何建立! 是不是可以这样,建立个每天凌晨运行的job。。如果是一号,则进行上个月的数据分析工作。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DBMS_JOB.SUBMIT(:jobno, //job号 ’your_procedure;’,//要执行的过程 to_date(200-02-01 00:00:00, ‘yyyy:mm:dd hh24:mi:ss’),//下次执行时间 add_month(to_date(200-02-01 00:00:00, ‘yyyy:mm:dd hh24:mi:ss’), 1) //每次间隔时间 ); 也可以写好存储过程,然后用批处理命令,调用存储过程.将批处理放在windows的任务栏. begin sys.dbms_job.submit(job => :job, what => 'p_crm_getdata1(to_char(sysdate,''yyyymm''));', next_date => to_date('01-01-4000', 'dd-mm-yyyy'), interval => 'to_date(to_char(sysdate+1,''yyyymmdd'')||''23:00:00'',''yyyymmdd hh24:mi:ss'')'); sys.dbms_job.broken(job => :job, broken => true, next_date => to_date('01-01-4000', 'dd-mm-yyyy')); commit;end;/ 上面的最后一个参数应该是varchar2型的, 自行改过。思路是每月执行一次。详细资料如下:利用Oracle的Job Queue实现定时操作 1、确保Oracle的工作模式允许启动队列管理器(SNP进程) SVRMGRL> Alter System Enable Restricted Session; 或 SQL> Alter System Disenable Restricted Session; 2、确保Oracle已配置任务队列管理器的启动参数 initSID.ora中: job_queue_process=n(0);(0-36)个进程 job_queue_interval=N(60);(1-3600)秒唤醒 3、将任务加入数据库的任务队列中 DBMS_JOB.Submit ( job out binary_integer, (任务号) what in varchar2, (执行任务的名称及入参) next_date in date, (任务执行的时间) interval in varchar2, (任务执行的间隔。null:执行一次;sysdate+m:周期性,每隔m天执行) no_parse in boolean ) 同时 grant execute on dbms_job to ...; 4、将要执行的任务,为存储过程等PL/SQL程序段 SQL> variable n number; SQL> begin 2 dbms_job.submit(n, 'my_job', sysdate, 'sysdate + 1/360'); 3 commit; 4 end 5 / SQL> print :n; 5、查看Job Table :user_jobs、dba_jobs Column:job (任务号) next_date (下次执行日期) next_sec (下次执行时间) failures (失败次数,失败16次则自动终止) broken (终止标志,Y/N) 从外部导入的dmp,该如何为其建立表空间? 关于to_date和to_char oracle数据库数据的查找和修改 oracle 字符串替换 问题 PLSQL Developer的用户名和密码! 高分求助:oracle视频讲座,英文中文的都行 oracle数据库恢复 急!急!急!关于微软提供的ORACLE的驱动问题。解决后立即给分。 dbms_sql执行游标和直接写个游标执行有什么不同,详细见下。 Oracle sql语句 exits优化 请大神帮忙看看 Oracle11.2偶发性连接超时 求教一SQL oracle当中的数据插入替换
’your_procedure;’,//要执行的过程
to_date(200-02-01 00:00:00, ‘yyyy:mm:dd hh24:mi:ss’),//下次执行时间
add_month(to_date(200-02-01 00:00:00, ‘yyyy:mm:dd hh24:mi:ss’), 1) //每次间隔时间
);
然后用批处理命令,调用存储过程.
将批处理放在windows的任务栏.
sys.dbms_job.submit(job => :job,
what => 'p_crm_getdata1(to_char(sysdate,''yyyymm''));',
next_date => to_date('01-01-4000', 'dd-mm-yyyy'),
interval => 'to_date(to_char(sysdate+1,''yyyymmdd'')||''23:00:00'',''yyyymmdd hh24:mi:ss'')');
sys.dbms_job.broken(job => :job,
broken => true,
next_date => to_date('01-01-4000', 'dd-mm-yyyy'));
commit;
end;
/
思路是每月执行一次。
详细资料如下:利用Oracle的Job Queue实现定时操作
1、确保Oracle的工作模式允许启动队列管理器(SNP进程)
SVRMGRL> Alter System Enable Restricted Session;
或 SQL> Alter System Disenable Restricted Session; 2、确保Oracle已配置任务队列管理器的启动参数
initSID.ora中:
job_queue_process=n(0);(0-36)个进程
job_queue_interval=N(60);(1-3600)秒唤醒 3、将任务加入数据库的任务队列中
DBMS_JOB.Submit (
job out binary_integer, (任务号)
what in varchar2, (执行任务的名称及入参)
next_date in date, (任务执行的时间)
interval in varchar2, (任务执行的间隔。null:执行一次;sysdate+m:周期性,每隔m天执行)
no_parse in boolean
)
同时
grant execute on dbms_job to ...; 4、将要执行的任务,为存储过程等PL/SQL程序段
SQL> variable n number;
SQL> begin
2 dbms_job.submit(n, 'my_job', sysdate, 'sysdate + 1/360');
3 commit;
4 end
5 /
SQL> print :n; 5、查看Job
Table :user_jobs、dba_jobs
Column:job (任务号)
next_date (下次执行日期)
next_sec (下次执行时间)
failures (失败次数,失败16次则自动终止)
broken (终止标志,Y/N)