참고 : https://docs.oracle.com/database/121/ARPLS/d_job.htm#ARPLS66560
1. 신규등록
DBMS_JOB.SUBMIT(
job OUT BINARY_INTEGER,
what IN VARCHAR2,
next_date IN DATE DEFAULT SYSDATE,
interval IN VARCHAR2 DEFAULT 'NULL',
no_parse IN BOOLEAN DEFAULT FALSE,
instance IN BINARY_INTEGER DEFAULT ANY_INSTANCE,
force IN BOOLEAN DEFAULT FALSE
);
ex)
DECLARE
job NUMBER;
BEGIN
DBMS_JOB.SUBMIT(job --자동생성
, 'DBMS_OUTPUT.PUT_LINE(''OK''); ' --ok 메세지출력
, SYSDATE --현재시간
, 'SYSDATE + 1' -- 실행주기
);
END;
참고 : 실행주기
'sysdate + 7' : 일주일에 1회 실행
'sysdate + 1' : 하루에 1회 실행
'next_day(sysdate, ''TUESDAY'')' : 매주 화요일에 실행
'null' : 1회 실행
'sysdate + 1/24' : 1시간에 1회 실행
'sysdate + 1/24/60' : 1분에 1회 실행
'trunc(sysdate+1) + 2/24' : 다음날 2시에 1회 실행
2. 조회
SELECT * FROM USER_JOBS;
SELECT * FROM DBA_JOBS;
3. 삭제
BEGIN
DBMS_JOB.REMOVE(JOB_NO);
COMMIT;
END;
/
4. 실행주기변경
EXECUTE DBMS_JOB.INTERVAL(JOB_NO --job 번호
, 'sysdate + 1' --실행주기
);
5. 실행
EXECUTE DBMS_JOB.RUN(
JOB_NO --job 번호
);
COMMIT;
'DB > oracle' 카테고리의 다른 글
CentOS6.5 / Oracle11g / The listener supports no services (0) | 2020.04.24 |
---|---|
oracle / random YYYYMMDD (0) | 2020.04.22 |
oracle / dbms_scheduler (0) | 2020.04.17 |
oracle / expdp / impdp (0) | 2020.04.17 |
oracle / 암호화 대상칼럼조회 (0) | 2020.04.17 |