반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 리눅스세팅
- Daemon()
- 상관서브쿼리
- first-child
- 리눅스셋팅
- 메모리스트림
- ID중복
- ThreadGroup()
- sleep()메소드
- interrupted()
- include액션태그
- String char[] 형변환
- 스레드그룸
- Linux세팅
- Linux셋팅
- 아이디중복
- char[] String 형변환
- include지시자
- 상관 서브 쿼리
- 동기화
- StringWriter
- ObjectInputStream
- first-of-child
- MemoryStream
- interrupt()
- isinterrupted()
- include 지시자
- StringReader
- 표현 언어
- InputDialog
Archives
- Today
- Total
다연이네
[days17] 오라클 잡과 스케줄러 (Job, Scheduler) 본문
반응형
create table tbl_job_test
(
seq number
,insert_date date
);
create or replace procedure up_jobtest
is
vseq number;
begin
select nvl( max(seq), 0) +1 into vseq
from tbl_job_test;
insert into tbl_job_test values (vseq, sysdate);
commit;
exception
when others then
rollback;
dbms_output.put_line('에러 발생, 롤백 처리됨');
end;
select * from tbl_job_test;
계속 만들어진다.
1) 잡 등록 - dbms_job.summit
declare
v_job_no number;
begin
dbms_job.submit(
job => v_job_no
,what => 'UP_JOBTEST;'
,next_date => sysdate
,interval => 'sysdate +1/60/24'); --1분간격으로 UP_JOBTEST를 자동으로
commit;
dbms_output.put_line('> v_job_no :'||v_job_no);
end;
2) job 확인
select *
from user_jobs;
3) 잡 중지 또는 재실행 - dbms_job.broken
begin
dbms_job.broken(1, true); -- true:중지 / false:재시작
end;
4) 잡의 속성 변경 예) 1분간격 -> 3분간격 - dbms_job.change()
begin
dbms_job.change(
job=>1
,what => 'UP_JOBTEST;'
,next_date => sysdate
,interval => 'sysdate +3/60/24' --3분 간격으로
end;
5) 잡 실행 / 삭제
begin
--dbms_job.run(1); --실행
dbms_job.remove(4); --삭제
end;
dbms_job 패키지를 사용할 때의 단점과 한계
1. 세밀한 실행 주기 설정 어려움
sysdate +1 하루 한번
sysdate +1/24 한시간마다
sysdate +1/60/24 일분마다
예)매주 수요일 오전 6시~오후 6시 (어려움)
2. sql과 pl/sql 형태만 실행 가능
-- 위의 문제 해결 -> dbms_scheduler 패키지 사용
반응형
'Oracle' 카테고리의 다른 글
[days17] 동적 SQL (0) | 2020.11.23 |
---|---|
[days17] 트랜잭션(Transaction), SavePoint (0) | 2020.11.23 |
[days17] PL/SQL의 패키지(Package) (0) | 2020.11.23 |
[days17] 트리거(Trigger) 예제 (0) | 2020.11.23 |
[days17] 트리거(Trigger)의 :NEW, :OLD **추가 필요 (0) | 2020.11.23 |
Comments