728x90
✔ 조회
select * from dba_jobs;
select * from user_jobs;
✔ 생성
DECLARE
jobno number;
BEGIN
DBMS_JOB.SUBMIT(jobno,
'begin pl_sql; end;',
sysdate,
'trunc(sysdate)+1+2/24'
);
END;
[예시]
'begin pl_seql; end;' 내용을 다음과 같이 사용.
'DELETE FROM 테이블 WHERE 날짜 < ADD_MONTHS(SYSDATE, -6);',
6개월전 데이터를 삭제 하기위한 내용
✔ 상태(Broken)
BEGIN
/* broken된 JOB을 정상 상태로 변경하고, 한 시간 뒤 실행하도록 수정한다. */
DBMS_JOB.BROKEN(100, false, sysdate + 1/24);
END;
BEGIN
/* JOB을 broken 상태로 변경시키고 ,다음 실행시간 Parameter는 무시된다.. */
DBMS_JOB.BROKEN(100, true, sysdate + 1/24);
END;
✔ 삭제
EXECUTE DBMS_JOB.REMOVE(잡넘버);
✔ 실행
EXECUTE DBMS_JOB.RUN(잡넘버);
✔ 수정
BEGIN
/* job번호가 100인 job을 psm_proc 프러시저 호출로 대체한다. */
DBMS_JOB.WHAT(100, 'psm_proc(''abc'', 10);');
END;
BEGIN
/* 10분 후에 실행하도록 변경한다. */
DBMS_JOB.NEXT_DATE(100, sysdate + 10/24/60);
END;
BEGIN
/* 하루에 한 번씩 실행한다. */
DBMS_JOB.INTERVAL(100, 'sysdate + 1');
END;
/*job 내용 전부 바꾸고 싶을 때*/
DBMS_JOB.CHANGE
(
job IN BINARY_INTEGER,
what IN VARCHAR2,
next_date IN DATE,
interval IN VARCHAR2,
instance IN BINARY_INTEGER DEFAULT NULL,
force IN BOOLEAN DEFAULT FALSE
);
✔ 날짜(Interval) 예시
sysdate + 1/24 | 1시간 간격 |
sysdate + 1 | 1일 간격 |
sysdate + 7 | 7주일에 한번 |
truncate(sysdate) +1+1/24 | 매일 1시 |
last_day(trunc(sysdate)+1)+23/24 | 말일 +1일은 다음달 1일 |
trunc(sysdate, ''D'') + 7 | 매주 일요일 00시에 작업 |
728x90
'데이터베이스(DB) > Tibero' 카테고리의 다른 글
Tibero 실행중인 세션 확인 (1) | 2025.01.13 |
---|---|
[Tibero] 테이블 스페이스 조회 (0) | 2024.10.14 |
Tibero 오류 (jeus could not open jdbc connection for transaction) (0) | 2023.04.03 |
Tibero Tablespace 관리. (0) | 2023.03.31 |
TIBERO오류 TBR-8033: Specified schema object was not found. (0) | 2023.03.31 |