작업 스케쥴러를 걸고 싶은데 잘 안되네요. 0 1 3,995

by 오디션 [SQL Query] [2014.07.03 18:34:51]


작업 스케쥴러를 걸고 싶은데 잘 안되네요.

우선 테이블을 하나 만들고 프로시저를 돌리면 현재시간이 인서트되도록 테스트를 해보고 있습니다.

프로시저만 돌릴땐 문제가 없습니다. EXEC PROC_INSERT_TEST

이걸 아래와 같은 쿼리로 잡을 만들었습니다.

next date는 현재시간의 2~3분정도로 주었습니다.

그리고 인터벌을 1분으로 주었구요.

DECLARE                                              
  X NUMBER;                                          
BEGIN                                                                                                 
  DBMS_JOB.SUBMIT                                                                 
     (                                                    
        Job       => X                                  
       ,What      => 'PROC_INSERT_TEST;'            
       ,Next_Date => to_date('03-07-2014 18:17:31','dd/mm/yyyy hh24:mi:ss')
       ,Interval  => 'SYSDATE+1/1440'    
       ,No_Parse  => FALSE
     );                                                                                                  
END;                                                                                                 

 

exec dbms_job.run(잡넘버)를 돌리면 다음과 같은 에러가 떨어집니다.

ORA-12011: 1 작업 실행 실패
ORA-06512: "SYS.DBMS_IJOB",  637행
ORA-06512: "SYS.DBMS_JOB",  284행
ORA-06512:  2행
----------------------------------------------------
EXEC DBMS_JOB.RUN(31)

 

 

SQL게이트 쓰고 있어서 해당 잡에서 우클릭하고 실행해도 같은 메시지구요.

잡을 몇개 만들어 테스트해봤는데 16번정도 시도하다가 broken=Y로 바뀝니다.

즉 잡이 안도는건 아니고 돌아갑니다.

 

그럼 이게 어디에 문제가 있을까요?

프로시저 실행부분일까요?

CREATE OR REPLACE PROCEDURE PROC_INSERT_TEST
IS
BEGIN
    INSERT INTO t1 VALUES(sysdate);
  COMMIT;
END;

 

by 비주류 [2014.07.04 11:31:18]

권한 문제는 없는지요? (grant insert on  ...)

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입