본문 바로가기

IT관련

오라클 DB Autotask 와 Maintenance Window

Oracle 11g 부터 Autotask 또는 Automated Maintence Task 라는 것이 생겼습니다.

자동으로 DB에서 수행되는 태스크 라는 의미입니다.

 

아래와같이 DBA_AUTOTASK_CLIENT 딕셔너리를 조회해보면 Autotask 3개를 확인할 수 있습니다.

 

 

가장 먼저, 통계정보를 수집하는 태스크가 있고, 나머지는 Space Adivisor 와 Tuning Advisor 입니다.

오라클에서 통계정보는 옵티마이저가 정확한 실행계획을 만들기 위한 아주 중요한 정보인데, 사용자들이 간혹 통계정보 만드는 작업을 깜빡 하는 경우가 많죠~  이걸 자동으로 수행해주는 것입니다.

 

 

실행되는 주기는 DBA_AUTOTASK_WINDOW_CLIENTS 딕셔너리에서 조회할 수 있습니다.

 

 

월요일 ~ 일요일까지 등록되어 있네요.

월~금 요일까지는 매일 오후 10시에 작업이 시작되고,

토,일 요일은 아침 6시에 작업이 시작되도록 세팅되어 있습니다.

 

 

DBA_SCHEDULER_WINDOWS 를 조회하면 Duration(작업지속시간) 시간을 확인할 수 있습니다.

 

 

이 Duration 내에 작업이 끝나지 않으면 Autotask 작업이 Cancel 되고, Alertlog 에 ORA-01013 에러를 만들어냅니다.

 

참고) 오라클 에러 정보 (ORA-01013) - Default Maintenance Job duration이 초과된 경우

 

 

사용자가 Autotask 를 끄거나 다시 켤 수 있습니다. 아래와 같이 합니다.

 


SQL> EXEC DBMS_AUTO_TASK_ADMIN.disable;
            -- 전체 끌때
SQL> EXEC DBMS_AUTO_TASK_ADMIN.disable(client_name=>'sql tuning advisor', operation=>NULL, window_name=>NULL);
            -- Tuning Advisor 만 끌때
SQL> EXEC DBMS_AUTO_TASK_ADMIN.disable(client_name=>'auto space advisor', operation=>NULL, window_name=>NULL);
            -- Space Advisor 만 끌때
SQL> EXEC DBMS_AUTO_TASK_ADMIN.disable(client_name=>'auto optimizer stats collection', operation=>NULL, window_name=>NULL);
            -- 통계정보생성 Task 만 끌때

SQL> EXEC DBMS_AUTO_TASK_ADMIN.enable;
            -- 전체 켤때
SQL> EXEC DBMS_AUTO_TASK_ADMIN.enable(client_name=>'sql tuning advisor', operation=>NULL, window_name=>NULL);
            -- Tuning Advisor 만 켤때
SQL> EXEC DBMS_AUTO_TASK_ADMIN.enable(client_name=>'auto space advisor', operation=>NULL, window_name=>NULL);
            -- Space Advisor 만 켤때
SQL> EXEC DBMS_AUTO_TASK_ADMIN.enable(client_name=>'auto optimizer stats collection', operation=>NULL, window_name=>NULL);
            -- 통계정보생성 Task 만 켤때
SQL> EXEC DBMS_AUTO_TASK_ADMIN.enable(client_name=>'auto optimizer stats collection', operation=>NULL, window_name=>'SUNDAY_WINDOW');
            -- 통계정보생성 Task를 일요일만 켤때

 

위 작업을 EM GUI 화면에서도 할 수 있습니다.

참조 ==>     >>오라클 DB Autotask 와 Maintenance Window - EM 화면에서<<