1. 조회
SELECT * FROM user_scheduler_jobs;
SELECT * FROM dba_scheduler_jobs;
SELECT NEXT_RUN_DATE,REPEAT_INTERVAL, a.* FROM user_scheduler_jobs a; ---신규 생성후 NextRunData , RepeatInterval 확인
2. 권한부여
grant create any job to 유저명 ;
2. 신규등록
begin
dbms_scheduler.create_job( -- 신규 JOB을 생성
job_name => 'insert_job_test1' , -- dbms_scheduler 내에서 사용될 job 이름지정
job_type => 'plsql_block' , -- 5번줄에 적은 프로그램의 타입을 적음
job_action => 'begin SYS.SP_SEND_MAIL(msg_to =>''kjh@ejudata.co.kr'', msg_text=> CM_GETHTML ); end;' , -- 실제 실행될 프로그램을 적는 부분
start_date => to_date('201801010100','YYYYMMDDHH24MI') , -- 해당 job 이 처음 시작될 시간을 지정 현재시간 : systimestamp
repeat_interval => 'freq=secondly; interval=30' ); -- 반복할 주기를 지정
end;
/
참고 : 실행주기
'freq=hourly ; interval=1' -- 1시간
'freq=minutely ; interval=30' -- 30분
'freq=secondly ; interval=5' -- 5초
'freq=weekly ; interval=2' -- 2주
3. 활성화
exec dbms_scheduler.enable('insert_job_test1') ; ---신규등록후 활성화는 꼭 해줘야함..
4. 실행
exec dbms_scheduler.run_job('insert_job_test1') ;
5. 중지
exec dbms_scheduler.disable ('insert_job_test1') ;
6. 삭제
EXECUTE dbms_scheduler.drop_job('insert_job_test1') ;
7. 주기 수정
exec DBMS_SCHEDULER.SET_ATTRIBUTE ( name => 'insert_job_test1' , attribute => 'repeat_interval', value => 'freq=hourly; interval=4');
'DB > oracle' 카테고리의 다른 글
CentOS6.5 / Oracle11g / The listener supports no services (0) | 2020.04.24 |
---|---|
oracle / random YYYYMMDD (0) | 2020.04.22 |
oracle / job / batch (0) | 2020.04.17 |
oracle / expdp / impdp (0) | 2020.04.17 |
oracle / 암호화 대상칼럼조회 (0) | 2020.04.17 |