-- DB 변경 이력 조회하기
SELECT
LAST_DDL_TIME -- 마지막 수정시간
, OBJECT_NAME -- 해당 명칭
FROM USER_OBJECTS
WHERE OBJECT_TYPE IN ('PROCEDURE', 'FUNCTION')
-- 오라클 잡(job) 이력 조회
SELECT
job -- job 번호
, WHAT -- 명칭
, LAST_DATE -- 마지막 실행
, INTERVAL -- 주기
FROM USER_jobs;
-- job 활성화/비활성화 처리
-- 566은 job 번호
BEGIN
-- DBMS_JOB.BROKEN(566, false); -- 비활성화
DBMS_JOB.BROKEN(566, true); -- 활성화
COMMIT;
END;
-- job 강제수행
BEGIN
DBMS_JOB.RUN(10); --job번호
COMMIT;
END;
-- job 내용 변경
BEGIN
DBMS_JOB.CHANGE(10, --JOB번호
what => 'HRCS.PR_UPDATE_DATE',
next_date => TO_DATE('2023/03/03 01:30:00','YYYY/MM/DD HH24:MI:SS'),
interval => 'TRUNC(SYSDATE+1)+7/24');
END;
-- job 제거
BEGIN
DBMS_JOB.REMOVE(10); --job 번호
COMMIT;
END;
-- job 생성
DECLARE
jobno NUMBER;
BEGIN
DBMS_JOB.SUBMIT
( JOB => jobno -- jon sequence, 임의의 숫자가 생성할 때마다 순차적으로 배정됨
, WHAT => 'MAN.PR_UPDATE_DATE;' -- 실행할 프로시저 지정 ';' 특수문자 주의!!
, NEXT_DATE => SYSDATE + 1/24/60 -- 1분후
, INTERVAL => 'SYSDATE + 1/24/60/6' -- 10초 간격
, NO_PARSE => TRUE -- 프로시저를 job이 처음 실행될 때 파싱
);
END;