ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 잡 스케줄러
    Platform/DB 2015. 11. 16. 13:06

    현재 Oracle에 설정된 유저 프로세스 개수(processes) 확인

    SQL> show parameter processes


    ALTER SYSTEM SET JOB_QUEUE_PROCESSES = 10 ; --변경

    oracle parameter 의 JOB_QUEUE_PROCESSES가 0보다 커야 JOB 스케줄링이 동작한다



    DBMS_JOB 패키지

    JOB QUEUE

    JOB QUEUE PROCESS

    JOB_QUEUE_PROCESSES 파라미터


    c.f. 유닉스의 cron tab



    JOB의 확인은

    SELECT * FROM user_jobs;



    VARIABLE jobno NUMBER 

    BEGIN

       DBMS_JOB.SUBMIT(:jobno, 

          'DBMS_DDL.ANALYZE_OBJECT(''TABLE'',

          ''HR'', ''EMPLOYEES'', 

          ''ESTIMATE'', NULL, 50);', 

          SYSDATE, 'SYSDATE + 1');

       COMMIT;

    END;

    /

    PRINT jobno


    DECLARE

      X NUMBER;

    BEGIN

      SYS.DBMS_JOB.SUBMIT

        ( job       => X 

         ,what      => '실행할 object'

         ,next_date => to_date('17-11-2007 09:00:00','dd/mm/yyyy hh24:mi:ss')

         ,interval  => 'TRUNC(SYSDATE) + 1 + 9/24'

         ,no_parse  => TRUE

        );

      SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x)); -- 이부분은 job큐의 번호가 됩니다.

    END;



    참조 사이트:

    https://docs.oracle.com/cd/A97630_01/server.920/a96521/jobq.htm

    http://www.gurubee.net/article/57263


Designed by Tistory.