一个dmbs_job定时作业的例子
create table a(test date);
create or replace procedure b as
begin
insert into a values(sysdate);
end;
--每分钟执行一次
variable job1 number;
begin
dbms_job.submit(:job1,'b;',sysdate,'trunc(sysdate,''mi'')+1/1440');
end;
commit;
/
--马上强制执行一次
begin
dbms_job.run(:job1);
end;
commit;
/
--删除作业
begin
dbms_job.remove(23);
end;
commit;
/
--查看作业情况
select * from dba_jobs
select * from dba_jobs_running
select * from user_jobs
--每星期执行一次col_cust_id的统计分析
variable job1 number;
begin
dbms_job.submit(:job1,'dbms_stats.gather_table_stats (ownname=>''citictest'', tabname=>''col_cust_id'',estimate_percent=>50,cascade=>true);',sysdate,'trunc(sysdate,''dd'')+7');
end;
/
--查看最近分析日期
select dba_tables.last_analyzed,dba_tables.* from dba_tables where dba_tables.table_name='COL_CUST_ID'
--转自