DBMS_JOB包

一个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'

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页