programing

dbms_scheduler.run_job('jobName)이(가) 실행되지 않음

elecom 2023. 7. 27. 21:38
반응형

dbms_scheduler.run_job('jobName)이(가) 실행되지 않음

예약된 작업을 수동으로 실행하려고 합니다. 작업은 다음과 같습니다.

  DBMS_SCHEDULER.CREATE_JOB (
   job_name           =>  'UPDATE_PLAYER_STATES',
   job_type           =>  'STORED_PROCEDURE',
   job_action         =>  'PLAYER_STATE_UPDATER',
   repeat_interval    =>  'FREQ=DAILY;BYHOUR=0', /* every day at Midnight */
   job_class          =>  'DEFAULT_JOB_CLASS',
   enabled            =>  true,
   auto_drop          =>  false);

이제 다음을 사용하여 절차를 실행합니다.execute PLAYER_STATE_UPDATER원하는 결과를 볼 수 있지만 다음과 같이 작업이 실행되지 않습니다.

select log_date, job_name, status, run_duration
from dba_scheduler_job_run_details where job_name='UPDATE_PLAYER_STATES' or status='FAILED';


    LOG_DATE                    JOB_NAME        STATUS   RUN_DURATION 
------------- -----------------------------------------------------------------
23-AUG-11 00.20.24.288887000 +01:00 UPDATE_PLAYER_STATES    FAILED    0 0:0:0.0    
22-AUG-11 10.27.24.537659000 +01:00 UPDATE_PLAYER_STATES    FAILED    0 0:0:0.0    
22-AUG-11 10.28.50.447042000 +01:00 UPDATE_PLAYER_STATES    FAILED    0 0:0:0.0    
22-AUG-11 10.30.30.018891000 +01:00 UPDATE_PLAYER_STATES    FAILED    0 0:0:0.0    
25-AUG-11 10.59.02.332579000 +01:00 UPDATE_PLAYER_STATES    FAILED    0 0:0:0.0    
25-AUG-11 10.59.15.980730000 +01:00 UPDATE_PLAYER_STATES    FAILED    0 0:0:0.0    
25-AUG-11 10.59.27.823131000 +01:00 UPDATE_PLAYER_STATES    FAILED    0 0:0:0.0    
25-AUG-11 11.01.04.798364000 +01:00 UPDATE_PLAYER_STATES    FAILED    0 0:0:0.0    
24-AUG-11 00.20.24.419251000 +01:00 UPDATE_PLAYER_STATES    FAILED    0 0:0:0.0    
25-AUG-11 00.20.24.299180000 +01:00 UPDATE_PLAYER_STATES    FAILED    0 0:0:0.0    
25-AUG-11 09.35.24.798535000 +01:00 UPDATE_PLAYER_STATES    FAILED    0 0:0:0.0    

작업을 수동으로 실행하는 것도 실패합니다.dbms_scheduler.run_job('UPDATE_PLAYER_STATES');잘못하여

Error starting at line 1 in command:
dbms_scheduler.run_job('UPDATE_PLAYER_STATES')
Error report:
Unknown Command

내가 뭘 놓치고 있는 거지?

작업을 수동으로 실행하려고 하면 SQL Developer에서 올바른 구문을 사용하지 않는 것처럼 보입니다.사용해야 합니다.execute dbms_scheduler.run_job('UPDATE_PLAYER_STATES')물론 그것이 왜 그 일이 실패하고 있는지 설명하지는 않습니다.

작업 구성에 문제가 있어 시작조차 할 수 없는 것 같습니다. 하지만 작업 구성이 무엇인지 알 수 없습니다.다음에 스키마 이름을 포함할 수 있습니다.job_action잘못된 스키마를 보고 있지 않은지 확인합니다.

다음의 다른 열에 관심 있는 것이 있습니까?dba_scheduler_job_run_details특히error#또는additional_info?

다음과 같이 수동으로 작업을 실행하고 있습니다.

dbms_scheduler.run_job('UPDATE_PLAYER_STATES')

Oracle은 이것이 명령이라고 생각하지만 그렇지 않기 때문에 "Unknown command"라는 오류 메시지가 표시됩니다.

올바른 실행 방법은 다음과 같습니다.

BEGIN
   dbms_scheduler.run_job('UPDATE_PLAYER_STATES');
END;

이를 실행한 후 스키마에 충분한 권한이 없으면 "개체가 존재하지 않거나 권한이 없습니다."와 같은 내용이 문제의 근본 원인일 수 있습니다.

잘 부탁드립니다 :)

언급URL : https://stackoverflow.com/questions/7188626/dbms-scheduler-run-jobjobname-fails-to-run

반응형