Oracle job

oracle job简介
 主要的使用情景
 定时在后台执行相关操作:如每天晚上0点将一张表的数据保存到另一张表中,2:定时备份数据库等
 


1、创建一张表g_test
 create table G_TEST
 (
 ID     NUMBER(12),
 C_DATE DATE
 )
 2、创建一个sequence
 create sequence G_SEQ
 minvalue 1
 maxvalue 999999999999999999999999999
 start with 141
 increment by 1
 cache 20;
 
3、创建一个存储过程
create or replace procedure prc_g_test is
 begin
 insert into g_test values(g_seq.nextval,sysdate);
 end prc_g_test;
 
4、创建job

declare 
 job number;    
 begin
 sys.dbms_job.submit(job,'prc_g_test;',sysdate,'sysdate+1/1440');
 end;
----------------------------------------------------------------------------------
 
5、查看创建的job
查看相关job信息
1、相关视图
dba_jobs
 all_jobs
 user_jobs
 dba_jobs_running 包含正在运行job相关信息。
 如:
select * from dba_jobs

--------------------------------------

 

 

 

 


--创建job,创建完成开始运行
declare 
 job number; 
BEGIN
  --每隔1秒钟执行一次
 sys.dbms_job.submit(job,'checkdata();',sysdate,'sysdate+5/(24*60*60)');
end;

--停止job
begin
  dbms_job.broken(60,TRUE);
--  dbms_job.kill(60);--:job可以用dba_jobs.job的值代替如:1198
  end;


--开启job
begin
  dbms_job.run(60);--:job可以用dba_jobs.job的值代替如:1198
  end;

--删除JOB
  begin
   dbms_job.remove(:job);--:job可以用dba_jobs.job的值代替如:1198
   end;
 

 

你可能感兴趣的:(oracle,数据库)