Oacle 작업 관련

ORACLE job 사용법 을 소개 해 드 리 겠 습 니 다.
이 job 가 실행 하 는 기능:특정한 표 에 정기 적 으로 기록 을 삽입 합 니 다(예 를 들 어 1 분 에 하 나 를 삽입 합 니 다)
step 1:먼저 표 a 를 만 듭 니 다.
create table a(a date); 

step 2:proc test 를 만 듭 니 다.이 test 는 시스템 의 현재 시간 값 을 꺼 내 a 표 에 삽입 하 는 것 입 니 다.
SQL> create or replace procedure test as 
begin 
insert into a values(sysdate); 
end; 
/ 

step 3:job 를 만 듭 니 다.이 job 는 매 분 에 한 번 씩 실행 하 는 것 으로 설정 되 어 있 습 니 다.즉,매 분 마다 위의 test,이 proc 를 호출 합 니 다.
SQL> variable job1 number; 
SQL> 
SQL> begin 
dbms_job.submit(:job1,'test;',sysdate,'sysdate+1/1440');  --  1440  ,      test     
end; 
/ 

step 4:위 에 만 든 job 를 실행 합 니 다.
SQL> begin 
dbms_job.run(:job1); 
end; 
/ 

[주]:몇 분 후 select tochar(a,'yyyy/mm/dd hh24:mi:ss')from a; a 표를 살 펴 보 니 몇 가지 조건 기록 이 더 있 는 것 을 발견 했다.이것 은 job 가 정상적으로 일 하고 있다 는 것 을 설명 한다.
이 job 를 삭제 하려 면:
SQL> begin 
dbms_job.remove(:job1); 
end; 
/

job 시작 시간 에 대하 여
1:     
Interval => TRUNC(sysdate,'mi') + 1/ (24*60)
 
Interval => sysdate+1/1440
2:      
  :     1   
Interval => TRUNC(sysdate) + 1 +1/ (24)
3:      
  :     1   
Interval => TRUNC(next_day(sysdate,'   '))+1/24
4:      
  :  1   1   
Interval =>TRUNC(LAST_DAY(SYSDATE))+1+1/24
5:       
           1   
Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24
6:       
  :  7 1  1 1   1 
Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24
7:      
  :  1 1   1   
Interval =>ADD_MONTHS(trunc(sysdate,'yyyy'),12)+1/24

좋은 웹페이지 즐겨찾기