2012-07-27 5 views
1

내일 4시 15 분에 시작하여 매 2 시간마다 예약 된 작업을 시작하고 싶습니다. 매일 2 시간에 한 번씩 작업을 시작해야합니다. 예 : 04:15, 06:15, 08:15 ....예약 된 작업이 시작되지 않음

이 절차는 원격 컴퓨터에 파일을 만드는 방법입니다. 내가 그 절차를 테스트 할 때, 그것은 잘 작동하고, 원격지에 파일을 생성한다. 그러나 dbms_jobs 패키지에서 작업으로 실패합니다. 내가 뭘 잘못하고 있는지 모르겠다. 다음 절차의 코드입니다 :

CREATE OR REPLACE PROCEDURE ARC_HRVR.VR_AD_INTEGRATION_EXPORT AS 
    v_file UTL_FILE.file_type; 
BEGIN 
    v_file := UTL_FILE.fopen('DIR_VR_AD_INTEGRATION', 'HRMtoAD1_'||to_char(sysdate,'YYYYMMDD')||'_'||to_char(sysdate,'HH24MISS'), 'w', 32767); 
    FOR x IN (
    SELECT * FROM (SELECT 
        decode(pid, NULL, RPAD(' ',7,' '), RPAD(user_id, 7, ' '))|| '' || 
        decode(o365, NULL, RPAD(' ',80,' '), RPAD(o365, 80, ' ')) 
        str FROM table WHERE integrated = 'N') str WHERE rownum <= 1000 ORDER BY rownum) 
    ´LOOP 
    BEGIN 
     UTL_FILE.put_line(v_file, x.str); 
    END; 
END LOOP; 
UTL_FILE.fflush(v_file); 
UTL_FILE.fclose(v_file); 
END VR_AD_INTEGRATION_EXPORT; 

는 그리고 여기 실행 작업에 대한 코드입니다 :지도 및 미세 조정의 비트가 사전에 감사합니다 :-) 내 코드를 수정합니다

DECLARE 
    l_id binary_integer; 
    begin 
    dbms_job.submit(job => l_id, what => 'ARC_HRVR.vr_ad_integration_export();', interval => 'TRUNC(SYSDATE)+1+4.25/24',); 

    dbms_output.put_line(l_id);  
end; 

+1

를 통해 이동하시기 바랍니다 수있다'. 그게 틀림없이 틀렸어. 복사 - 붙여 넣기 오류입니까? –

+0

예, 복사 붙여 넣기 오류입니다 ... 이제는 고객 회사의 DBA와 상담 한 후 잘 작동합니다. – Jaanna

+0

관련이 없지만 가치가있는 부분에 대해 : 둘러싼 루프 내에 추가로'BEGIN ... END'가 실제로 필요하지는 않습니다. utl_file.put_line 프로 시저. – Wolf

답변

2

프로 시저 소유자 (ARC_HRVR) 또는 코드를 실행할 권한이있는 사용자로 작업을 수행하고 있습니까?

실행 블록에서 '무엇'을 둘러 보았습니까?

작업이 시작 되었습니까? dba_jobs 뷰에서 next_date가 업데이트되는 것을 볼 수 있습니까?

+0

예, 꽤 괜찮습니다. 방금 ​​다시 확인했습니다. 외관상으로는, 어떤 교부금 문제가 있고 DBA는 그것을 고쳤다. .Job는 지금 완전하게 작동하고있다 : -) – Jaanna

0

이 예

BEGIN 
    DBMS_SCHEDULER.create_job (
    job_name  => 'test_full_job_definition', 
    job_type  => 'PLSQL_BLOCK', 
    job_action  => 'BEGIN my_job_procedure; END;', 
    start_date  => SYSTIMESTAMP, 
    repeat_interval => 'freq=hourly; byminute=0; bysecond=0;', 
    end_date  => NULL, 
    enabled   => TRUE, 
    comments  => 'Job defined entirely by the CREATE JOB procedure.'); 
END; 
/

을 참조하여 자세한 내용을 위해`dbms_job.submit` 호출 ')로 끝나는이 Scheduler

관련 문제