DBA_SCHEDULER 에 관하여 여쭈어보고 싶은게 있습니다.
우선은 제가 인지한대로 적어볼까 합니다. 중간에 제가 잘못 알고 있는 부분이 있다면 그 내용도 같이 알려주시면 감사드리겠습니다.
그럼 본론으로 들어가겠습니다.
DBMS_SCHEDULER.CREATE_JOB ( JOB_NAME => 'JOB_PR_TEST_BATCH' , PROGRAM_NAME => 'PGM_PR_PR_TEST_BATCH' , START_DATE => '' || V_START_DATE || '' , ENABLED => TRUE , COMMENTS => '스케줄 등록 TEST' );
위의 쿼리처럼 스케줄을 등록을 하게 되면
dba_scheduler_jobs 테이블에 데이터가 생성되더라구요.
그리고 아래의 쿼리를 사용하여 IN_PARAMETER를 등록할 수 가 있더군요.
DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE( JOB_NAME => 'JOB_PR_TEST_BATCH' , ARGUMENT_POSITION => 3 , ARGUMENT_VALUE => '' || P_ST_DATE || '' );
이렇게 하면 dba_scheduler_job_args에 제가 설정한 파라미터값들이 들어가구요.
그렇다면,
질문 1. dba_scheduler_programs와 dba_scheduler_jobs의 차이점은 무엇인가요?
질문2. dba_scheduler_programs에는 어떻게 등록을 하는건가요?
질문3. set_job_argument_value() 를 통해서 등록한 파라미터로 dba_scheduler_jobs에 제가 create한 job을 수행시키고 싶은데 방법이 어찌되나요?
두서없이 적어서 이해가 되실지 모르겠습니다.
dba_scheduler를 이용해서 하려고 시스템테이블과 데이터를 찾아가보았는데, 등록부터 수행까지의 흐름을 알고 싶어서 글을 적게 되었습니다.
보시고 도움을 주시길 부탁드리겠습니다.