OS환경 : Oracle Linux 7.2 (64bit)
DB 환경 : Oracle Database 18.3.0.0
방법 : automatic evolution task 파라미터 설정
SYS_AUTO_SPM_EVOLVE_TASK의 기존 파라미터 값 확인
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | SQL> COL PARAMETER_NAME FOR a25 COL VALUE FOR a42 SELECT PARAMETER_NAME, PARAMETER_VALUE AS "VALUE" FROM DBA_ADVISOR_PARAMETERS WHERE ( (TASK_NAME = 'SYS_AUTO_SPM_EVOLVE_TASK') AND ( (PARAMETER_NAME = 'ACCEPT_PLANS') OR (PARAMETER_NAME LIKE '%ALT%') OR (PARAMETER_NAME = 'TIME_LIMIT') ) ); PARAMETER_NAME VALUE ------------------------- ------------------------------------------ ALTERNATE_PLAN_LIMIT 10 ALTERNATE_PLAN_SOURCE CURSOR_CACHE+AUTOMATIC_WORKLOAD_REPOSITORY ALTERNATE_PLAN_BASELINE EXISTING ACCEPT_PLANS TRUE TIME_LIMIT 3600 5 rows selected. |
아래와 같은 방식으로 파라미터 설정
1 2 3 4 5 6 7 8 9 | SQL> BEGIN DBMS_SPM.SET_EVOLVE_TASK_PARAMETER( task_name => 'SYS_AUTO_SPM_EVOLVE_TASK' , parameter => parameter_name , value => value ); END; / |
예를 들어서 아래 PL/SQL 구문은 "SYS_AUTO_SPM_EVOLVE_TASK" 태스크가 자동으로 계획을 수락하도록 구성하고,
shared SQL area 및 AWR 저장소에서 최대 500개의 plan을 검색하며, 20분 타임아웃을 설정함
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | SQL> BEGIN DBMS_SPM.SET_EVOLVE_TASK_PARAMETER( task_name => 'SYS_AUTO_SPM_EVOLVE_TASK' , parameter => 'TIME_LIMIT' , value => '1200' ); DBMS_SPM.SET_EVOLVE_TASK_PARAMETER( task_name => 'SYS_AUTO_SPM_EVOLVE_TASK' , parameter => 'ACCEPT_PLANS' , value => 'true' ); DBMS_SPM.SET_EVOLVE_TASK_PARAMETER( task_name => 'SYS_AUTO_SPM_EVOLVE_TASK' , parameter => 'ALTERNATE_PLAN_LIMIT' , value => '500' ); END; / |
변경된 SYS_AUTO_SPM_EVOLVE_TASK의 파라미터 값 확인
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | SQL> SELECT PARAMETER_NAME, PARAMETER_VALUE AS "VALUE" FROM DBA_ADVISOR_PARAMETERS WHERE ( (TASK_NAME = 'SYS_AUTO_SPM_EVOLVE_TASK') AND ( (PARAMETER_NAME = 'ACCEPT_PLANS') OR (PARAMETER_NAME LIKE '%ALT%') OR (PARAMETER_NAME = 'TIME_LIMIT') ) ); PARAMETER_NAME VALUE ------------------------- ------------------------------------------ ALTERNATE_PLAN_LIMIT 500 ALTERNATE_PLAN_SOURCE CURSOR_CACHE+AUTOMATIC_WORKLOAD_REPOSITORY ALTERNATE_PLAN_BASELINE EXISTING ACCEPT_PLANS true TIME_LIMIT 1200 5 rows selected. |
참조 :
'ORACLE > Performance Tuning ' 카테고리의 다른 글
SPM(SQL Plan Management) SQLSET 이용한 Export / Import 테스트 (실행계획 변경) (0) | 2019.09.19 |
---|---|
개발자를위한 실시간 SQL 모니터링 DBMS_SQL_MONITOR 이용 (0) | 2019.02.18 |
순간적인(1~2분 사이) 과다 실행된 SQL 찾기 (0) | 2019.02.12 |
SQL 튜닝시 필요한 스크립트 (0) | 2019.01.28 |
오라클 sql 무료 테스트 환경 livesql.oracle.com (0) | 2019.01.09 |