1.问题描述
从12.2开始,存在很多与 Optimizer Statistics Advisor 这个功能有关的问题。
- Optimizer Statistics Advisor 的 AUTO_STATS_ADVISOR_TASK占用了大量的SYSAUX空间。目前还没有专门的方法来禁
用这个任务。 - 无法确认AUTO_STATS_ADVISOR_TASK是启用还是禁用的。
2.解决方案
开发提出了一个 enhancement request 以提供控制Optimizer Statistics Advisor的功能,并在21C中得到了实施。这个enhancement增加了一个新的属性 “AUTO_STATS_ADVISOR_TASK” 来控制Optimizer Statistics Advisor的运行。
Unpublished Bug 26749785 - PERF_DIAG: NEED TO HAVE MORE CONTROL IN DICTIONARY FOR AUTO_STATS_ADVISOR_TASK
可以为12.2 / 18c / 19c等版本申请 patch 以获得该功能。
该功能新增了 “AUTO_STATS_ADVISOR_TASK” 的属性设置,可以手动启用/禁用AUTO_STATS_ADVISOR_TASK。
'TRUE'(default) : statistics advisor 将在自动统计信息收集后运行。
'FALSE' : auto stats advisor task 将被禁用。
用户可以使用DBMS_STATS.set_global_prefs将该属性设置为TRUE/FALSE,并使用DBMS_STATS.get_prefs API检查当前该
属性设置的值。
检查当前的属性:
SQL> select dbms_stats.get_prefs('AUTO_STATS_ADVISOR_TASK') from dual;
DBMS_STATS.GET_PREFS('AUTO_STATS_ADVISOR_TASK')
--------------------------------------------------------------------------------
TRUE
要禁用统计顾问:
SQL> exec dbms_stats.set_global_prefs('AUTO_STATS_ADVISOR_TASK','FALSE');
PL/SQL procedure successfully completed.
SQL> select dbms_stats.get_prefs('AUTO_STATS_ADVISOR_TASK') from dual;
DBMS_STATS.GET_PREFS('AUTO_STATS_ADVISOR_TASK')
--------------------------------------------------------------------------------
FALSE
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




