ORACLE 定時作業DBMS JOB的編寫

2021-09-12 04:36:00 字數 1445 閱讀 1957

1、-- create table

create table test

(test date

)tablespace users

pctfree 10

initrans 1

maxtrans 255

storage

(initial 64k

minextents 1

maxextents unlimited

);2、-- create procedure

create or replace procedure pro_test

ascarinfo_id number;

begin

insert into test values(sysdate);

commit;

end pro_test;

3、-- create 作業 每隔1分鐘 執行一次

variable jobno number;

begin

dbms_job.submit(:jobno,'pro_test;',sysdate,'sysdate+1/24/12');

commit;

end;

/-- create 作業 每隔10秒執行一次

variable jobno number;

begin

dbms_job.submit(:jobno,'pro_test;',sysdate,'sysdate+1/24/60/10');

commit;

end;

/4、刪除job

exec dbms_job.remove(21);

5、檢視所有job;

select * from dba_jobs;

6、檢視正在執行的job;

select * from dba_jobs_running;

7、根據sid查出對應的session;

select sid,serial# from v$session where sid='&sid';

8、kill對應的session;

alter system kill session '&sid,&serial';

9、將job置為broken;

exec dbms_job.broken('&job',true);

10、sysdba使用者許可權刪除job;

delete from dba_jobs where job='&job';

interval設定:

每隔一天 'sysdate + 1'

每隔7天 'sysdate + 7'

每隔乙個小時 'sysdate + 1/24'

10分鐘 'sysdate + 10/1440'

30秒 'sysdate + 30/86400'

每月2號凌晨1點執行 trunc(last_day(sysdate))+2+1/24

Oracle定時任務之Job和Dbms job

感謝老哥,解決了我的疑惑 oralce中的任務有2種 job和dbms job,兩者的區別有 1 jobs是oracle資料庫的物件,dbms jobs只是jobs物件的乙個例項,就像對於tables,emp和dept都是表的例項。2 建立方式也有差異,job是通過呼叫dbms scheduler....

oracle 定時 作業 例子

sql variablejobno number sql begin sql dbms job.submit jobno,pro name sysdate,sysdate 1 dbms job.submit job1,myproc sysdate,sysdate 1 1440 每天1440分鐘,即一...

oracle建立定時作業(job)

oracle的job和windows的定時指令碼差不多,oracle的,具體如下 建立job語句 begin sys.dbms job.submit job job,what to17 check next date to date 14 11 2014 06 00 00 dd mm yyyy hh...