ORACLE/11G2014. 6. 14. 20:52
반응형

소개


오라클 11g 데이터베이스에는 사전에 정의된 세 가지 자동화된 유지 관리 작업이 있다 :

자동 최적기 통계 수집(Automatic Optimizer Statistics Collection)

통계가 없거나 오래된 통계를 가지고 있는 데이터베이스 안의 모든 스키마 객체에 대해 최적기 통계를 수집한다.이 작업에 의해 생성되어지는 통계는 SQL 실행 시 성능을 향상시키기 위하여 SQL 쿼리 최적기에 의해서 사용되어 진다.

자동 세그먼트 권고자 (Automatic Segment Advisor)

회수 가능한 공간을 가지는 세그먼트를 구별하고, 해당 세그먼트를 어떻게 조각모음 할 건지에 대한 권장 사항을 만든다. 최신의 권장 사항을 확보하거나 자동 세그먼트 권고자가 회수 가능한 공간을 검토 하지 않은 세그먼트의 권장 사항을 확보하기 위하여 수동으로 세그먼트 권고자를 실행할 수 있다.

자동 SQL 튜닝 권고자(Automatic SQL Tuning Advisor)

높은 부하를 가지는 SQL 문장의 성능을 검사하고, 그 문장을 어떻게 튜닝 할 것인지에 대한 권장 사항을 만든다. SQL 프로파일 권장 사항을 자동으로 구현하기 위하여 이 권고자를 구성할 수 있다.
Note 466920.1 - 11g New Feature: Health Monitor


Note 755838.1 - New 11g Default Jobs

구현


Oracle10g에서 이 작업들은 별도의 작업으로 생성 되었으며 DBA_SCHEDULER_JOBS.JOB_NAME에서 볼 수 있었다.

오라클 11g에서 변경되었다. 관련된 뷰는 DBA_AUTOTASK_WINDOW_CLIENTS이다.
이제 이 작업들은 시스템에서 실제로 실행 되고 난 후 생성된 이름을 DBA_SCHEDULER_JOBS에서 볼 수 있다.

SQL> desc DBA_AUTOTASK_WINDOW_CLIENTS
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 WINDOW_NAME                               NOT NULL VARCHAR2(30)
 WINDOW_NEXT_TIME                                   TIMESTAMP(6) WITH TIME ZONE
 WINDOW_ACTIVE                                      VARCHAR2(5)
 AUTOTASK_STATUS                                    VARCHAR2(8)
 OPTIMIZER_STATS                                    VARCHAR2(8)
 SEGMENT_ADVISOR                                    VARCHAR2(8)
 SQL_TUNE_ADVISOR                                   VARCHAR2(8)
 HEALTH_MONITOR                                     VARCHAR2(8)

 select * from DBA_AUTOTASK_WINDOW_CLIENTS;

WINDOW_NAME
------------------------------
WINDOW_NEXT_TIME
---------------------------------------------------------------------------
WINDO AUTOTASK OPTIMIZE SEGMENT_ SQL_TUNE HEALTH_M
----- -------- -------- -------- -------- --------
MONDAY_WINDOW
08-DEC-08 10.00.00.000000 PM EUROPE/VIENNA
FALSE ENABLED ENABLED ENABLED ENABLED DISABLED

...

SUNDAY_WINDOW
07-DEC-08 06.00.00.000000 AM EUROPE/VIENNA
FALSE ENABLED ENABLED ENABLED ENABLED DISABLED
7 rows selected.


모든 윈도들의 모든 자동화된 유지 관리 작업을 설정하거나 해제하려면 인수 없이 설정 또는 해제 프로시저를 호출한다.

SQL> execute DBMS_AUTO_TASK_ADMIN.DISABLE;


특정한 유지 관리 작업을 해제하기 위하여 다음과 같이 해제 프로시저를 사용한다 :

SQL> BEGIN
       dbms_auto_task_admin.disable(
       client_name => 'sql tuning advisor',
       operation => NULL,
       window_name => NULL);
     END;  
    /


특정한 유지 관리 작업을 다시 설정하기 위하여 다음과 같이 설정 프로시저를 사용한다 :

SQL> BEGIN
       dbms_auto_task_admin.enable(
       client_name => 'sql tuning advisor',
       operation => NULL,
       window_name => NULL);
     END;
     /



client_name 인수에 사용할 작업 이름은 DBA_AUTOTASK_CLIENT 데이터베이스 딕셔너리 뷰 안에 나열되어 있다.

예제:
auto optimizer stats collection
auto space advisor
sql tuning advisor



또 다른 차이점은 사전에 정의된 스케줄러 윈도다 :

  •   Oracle10g : WEEKNIGHT_WINDOW and WEEKEND_WINDOW
  •   Oracle11g : MONDAY_WINDOW .... SUNDAY_WINDOW. 

WEEKNIGHT_WINDOW와 WEEKEND_WINDOW는 이전 버전과의 호환성을 위해 아직 존재한다.

윈도가 열릴 때 지속 시간은 11g에서 변경되었다. 월요일 - 금요일은 오후 10시에서 오전 2시까지이며 토요일 - 일요일은 오전 6시에서 오전 2시까지다.

DBMS_SCHEDULER.SET_ATTRIBUTE 프로시저를 사용하여 데이터베이스 환경에 적절한 시간으로 사전에 정의된 유지 관리 윈도를 조절할 수 있다.
예제 : 다음 스크립트는 WEEKNIGHT_WINDOW를 자정부터 모든 평일 오전 8시로 변경하도록 한다. (윈도 기간은 8시간으로 변경되지 않는다) :
EXECUTE DBMS_SCHEDULER.SET_ATTRIBUTE(
'WEEKNIGHT_WINDOW', 
'repeat_interval',
'freq=daily;byday=MON, TUE, WED, THU, FRI;byhour=0;byminute=0;bysecond=0');

각각의 평일 윈도는 DEFAULT_MAINTENANCE_PLAN이라는 사전에 정의된 리소스 계획을 가지고 있으며 관련 윈도가 열릴 때 활성화 될 것이다. 이것은 10g와 11g 간의 또 다른 차이점이다.


SQL> select window_name, resource_plan from dba_scheduler_windows;

WINDOW_NAME                    RESOURCE_PLAN
------------------------------ ------------------------------
MONDAY_WINDOW                  DEFAULT_MAINTENANCE_PLAN
TUESDAY_WINDOW                 DEFAULT_MAINTENANCE_PLAN
WEDNESDAY_WINDOW               DEFAULT_MAINTENANCE_PLAN
THURSDAY_WINDOW                DEFAULT_MAINTENANCE_PLAN
FRIDAY_WINDOW                  DEFAULT_MAINTENANCE_PLAN
SATURDAY_WINDOW                DEFAULT_MAINTENANCE_PLAN
SUNDAY_WINDOW                  DEFAULT_MAINTENANCE_PLAN
WEEKNIGHT_WINDOW
WEEKEND_WINDOW

9 rows selected.


SQL> select * from dba_rsrc_plans where plan='DEFAULT_MAINTENANCE_PLAN'
PLAN_ID PLAN NUM_PLAN_DIRECTIVES
---------- ------------------------------ -------------------
CPU_METHOD MGMT_METHOD
------------------------------ ------------------------------
ACTIVE_SESS_POOL_MTH PARALLEL_DEGREE_LIMIT_MTH
------------------------------ ------------------------------
QUEUEING_MTH SUB
------------------------------ ---
COMMENTS
--------------------------------------------------------------------------------
STATUS MAN
------------------------------ ---
11187 DEFAULT_MAINTENANCE_PLAN 4
EMPHASIS EMPHASIS
ACTIVE_SESS_POOL_ABSOLUTE PARALLEL_DEGREE_LIMIT_ABSOLUTE
FIFO_TIMEOUT NO
Default plan for maintenance windows that prioritizes SYS_GROUP operations and a
llocates the remaining 5% to diagnostic operations and 25% to automated maintena
nce operations.
YES


SQL> select * from DBA_RSRC_PLAN_DIRECTIVES where plan='DEFAULT_MAINTENANCE_PLAN';

PLAN GROUP_OR_SUBPLAN TYPE
------------------------------ ------------------------------ --------------
CPU_P1 CPU_P2 CPU_P3 CPU_P4 CPU_P5 CPU_P6 CPU_P7
---------- ---------- ---------- ---------- ---------- ---------- ----------
CPU_P8 MGMT_P1 MGMT_P2 MGMT_P3 MGMT_P4 MGMT_P5 MGMT_P6
---------- ---------- ---------- ---------- ---------- ---------- ----------
MGMT_P7 MGMT_P8 ACTIVE_SESS_POOL_P1 QUEUEING_P1 PARALLEL_DEGREE_LIMIT_P1
---------- ---------- ------------------- ----------- ------------------------
SWITCH_GROUP SWITC SWITCH_TIME SWITCH_IO_MEGABYTES
------------------------------ ----- ----------- -------------------
SWITCH_IO_REQS SWITC MAX_EST_EXEC_TIME UNDO_POOL MAX_IDLE_TIME
-------------- ----- ----------------- ---------- -------------
MAX_IDLE_BLOCKER_TIME SWITCH_TIME_IN_CALL
--------------------- -------------------
COMMENTS
--------------------------------------------------------------------------------
STATUS MAN
------------------------------ ---
DEFAULT_MAINTENANCE_PLAN SYS_GROUP CONSUMER_GROUP
100 0 0 0 0 0 0
0 100 0 0 0 0 0
0 0
FALSE
FALSE

Directive for system operations
NO

DEFAULT_MAINTENANCE_PLAN OTHER_GROUPS CONSUMER_GROUP
0 70 0 0 0 0 0
0 0 70 0 0 0 0
0 0
FALSE
FALSE

Directive for all other operations
NO

DEFAULT_MAINTENANCE_PLAN ORA$AUTOTASK_SUB_PLAN PLAN
0 25 0 0 0 0 0
0 0 25 0 0 0 0
0 0
FALSE
FALSE

Directive for automated maintenance tasks
NO

DEFAULT_MAINTENANCE_PLAN ORA$DIAGNOSTICS CONSUMER_GROUP
0 5 0 0 0 0 0
0 0 5 0 0 0 0
0 0
FALSE
FALSE

Directive for automated diagnostic tasks
NO

10g와 11g의 변경사항 요약 : 

제목10g11g
작업DBA_SCHEDULER_JOBS에서 별도의 작업AUTOTASKS는 접두사 'ORA$AT'라는 이름을 가지며 실행되었을 때 작업처럼 볼 수 있다.
유지 관리 윈도2개의 윈도, 평일 밤과 주말매일 자신의 윈도를 가진다.
자원 관리자(Resource manager)기본으로 설정되지 않음모든 평일 윈도를 위한 사전 정의된 자원 계획
   


관련된 뷰:


DBA_AUTOTASK_CLIENT
DBA_AUTOTASK_CLIENT_HISTORY
DBA_AUTOTASK_CLIENT_JOB
DBA_AUTOTASK_JOB_HISTORY
DBA_AUTOTASK_OPERATION
DBA_AUTOTASK_SCHEDULE
DBA_AUTOTASK_TASK
DBA_AUTOTASK_WINDOW_CLIENTS
DBA_AUTOTASK_WINDOW_HISTORY

참고

NOTE:466920.1 - 11g New Feature: Health monitor
NOTE:755838.1 - New 11g Default Jobs

NOTE:858852.1 - DBA_AUTOTASK_TASK and DBA_AUTOTASK_CLIENT Shows Different Status For Auto Optimizer Stats Collection


반응형
Posted by [PineTree]