본문 바로가기

oracle

[ORACLE] DBMS_JOB

728x90

Oracle Job - DBMS_JOB Package
DBMS_JOB 패키지를 이용한 Oracle Job 관리하는 방법

PACKAGE 기능
DBMS_JOB.SUBMIT job 등록 DECLARE
    job_no number;
BEGIN
    DBMS_JOB.SUBMIT(job_no,'dbms_output.put_line(''GOOD!'');', SYSDATE, 
                    'SYSDATE + 1');
END;
/
DBMS_JOB.REMOVE job 제거 BEGIN
    DBMS_JOB.REMOVE(99);
END; 
/
DBMS_JOB.CHANGE job 변경 BEGIN
    DBMS_JOB.CHANGE(99, null, null, 'sysdate + 1'); 
END; 
/
DBMS_JOB.INTERVAL job 실행 간격 지정 BEGIN
    /* 하루에 한 번씩  06시에 실행한다. */
    DBMS_JOB.INTERVAL(99, 'sysdate + 1+6/24'); 
END; 
/
DBMS_JOB.NEXT.DATE. job 다음 수행시간 변경 BEGIN
    /* 10분 후에 실행하도록 변경한다. */
    DBMS_JOB.NEXT_DATE(99, sysdate + 10/24/60); 
END; 
/
DBMS_JOB.RUN job을 수동으로 실행 BEGIN
    DBMS_JOB.RUN(99); 
END; 
/
DBMS_JOB.BROKEN job을 비활성화(TRUE) or 활성화(FALSE) BEGIN
    /* broken된 JOB(JOB 번호 99)을 정상 상태로 변경, 한 시간 뒤 실행하도록 수정 */
    DBMS_JOB.BROKEN(99, false, sysdate + 1/24); 
END; 
/

 

728x90

'oracle' 카테고리의 다른 글

[ORACLE] EXPDP TIME CHECK  (0) 2023.01.16
[ORACLE] INDEX REBUILD  (0) 2023.01.13
[ORACLE] 패스워드 BACKUP and recovery  (0) 2023.01.11
[ORACLE] UNDO 사용량 조회  (0) 2023.01.10
[ORACLE] data duplicate 찾기  (0) 2023.01.06