本篇内容介绍了“怎么禁用Oracle中的自动SPM EVOLVE TASK”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
为了禁用自动SPM EVOLVE TASK需要执行以下操作
1. 查看自动SPM Evolve Task是否启用
SQL> COL CLIENT_NAME FORMAT a20
SQL>
SQL> SELECT CLIENT_NAME, STATUS
2 FROM DBA_AUTOTASK_CLIENT
3 WHERE CLIENT_NAME = 'sql tuning advisor';
CLIENT_NAME STATUS
-------------------- --------
sql tuning advisor ENABLED
2.禁用自动SPM Evolve Task
SQL> BEGIN
2 DBMS_AUTO_TASK_ADMIN.DISABLE (
3 client_name => 'sql tuning advisor'
4 , operation => NULL
5 , window_name => NULL
6 );
7 END;
8 /
PL/SQL procedure successfully completed.
SQL> SELECT CLIENT_NAME, STATUS
2 FROM DBA_AUTOTASK_CLIENT
3 WHERE CLIENT_NAME = 'sql tuning advisor';
CLIENT_NAME STATUS
-------------------- --------
sql tuning advisor DISABLED
3. 查看SPM Evolve Task的参数设置
SQL> SELECT parameter_name, parameter_value
2 FROM dba_advisor_parameters
3 WHERE task_name = 'SYS_AUTO_SPM_EVOLVE_TASK'
4 AND parameter_value != 'UNUSED'
5 ORDER BY parameter_name;
PARAMETER_NAME PARAMETER_VALUE
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
ACCEPT_PLANS true
ALTERNATE_PLAN_BASELINE EXISTING
ALTERNATE_PLAN_LIMIT 0
ALTERNATE_PLAN_SOURCE CURSOR_CACHE+AUTOMATIC_WORKLOAD_REPOSITORY
DAYS_TO_EXPIRE UNLIMITED
DEFAULT_EXECUTION_TYPE SPM EVOLVE
EXECUTION_DAYS_TO_EXPIRE 30
JOURNALING INFORMATION
MODE COMPREHENSIVE
TARGET_OBJECTS 1
TIME_LIMIT 3600
_SPM_VERIFY TRUE
12 rows selected
4. 关闭Automatic Evolving of Baselines
SQL> BEGIN
2 DBMS_SPM.set_evolve_task_parameter(
3 task_name => 'SYS_AUTO_SPM_EVOLVE_TASK',
4 parameter => 'ACCEPT_PLANS',
5 value => 'FALSE');
6 END;
7 /
PL/SQL procedure successfully completed.
SQL> SELECT parameter_name, parameter_value
2 FROM dba_advisor_parameters
3 WHERE task_name = 'SYS_AUTO_SPM_EVOLVE_TASK'
4 AND parameter_value != 'UNUSED'
5 ORDER BY parameter_name;
PARAMETER_NAME PARAMETER_VALUE
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
ACCEPT_PLANS FALSE
ALTERNATE_PLAN_BASELINE EXISTING
ALTERNATE_PLAN_LIMIT 0
ALTERNATE_PLAN_SOURCE CURSOR_CACHE+AUTOMATIC_WORKLOAD_REPOSITORY
DAYS_TO_EXPIRE UNLIMITED
DEFAULT_EXECUTION_TYPE SPM EVOLVE
EXECUTION_DAYS_TO_EXPIRE 30
JOURNALING INFORMATION
MODE COMPREHENSIVE
TARGET_OBJECTS 1
TIME_LIMIT 3600
_SPM_VERIFY TRUE
12 rows selected
5. 启用Automatic Evolving of Baselines
SQL> BEGIN
2 DBMS_SPM.set_evolve_task_parameter(
3 task_name => 'SYS_AUTO_SPM_EVOLVE_TASK',
4 parameter => 'ACCEPT_PLANS',
5 value => 'TRUE');
6 END;
7 /
PL/SQL procedure successfully completed.
SQL> SELECT parameter_name, parameter_value
2 FROM dba_advisor_parameters
3 WHERE task_name = 'SYS_AUTO_SPM_EVOLVE_TASK'
4 AND parameter_value != 'UNUSED'
5 ORDER BY parameter_name;
PARAMETER_NAME PARAMETER_VALUE
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
ACCEPT_PLANS true
ALTERNATE_PLAN_BASELINE EXISTING
ALTERNATE_PLAN_LIMIT 0
ALTERNATE_PLAN_SOURCE CURSOR_CACHE+AUTOMATIC_WORKLOAD_REPOSITORY
DAYS_TO_EXPIRE UNLIMITED
DEFAULT_EXECUTION_TYPE SPM EVOLVE
EXECUTION_DAYS_TO_EXPIRE 30
JOURNALING INFORMATION
MODE COMPREHENSIVE
TARGET_OBJECTS 1
TIME_LIMIT 3600
_SPM_VERIFY TRUE
12 rows selected
“怎么禁用Oracle中的自动SPM EVOLVE TASK”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注天达云网站,小编将为大家输出更多高质量的实用文章!