暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

从12.2开始如何关闭 Optimizer Statistics Advisor 功能

原创 让世界为你转身 2024-11-17
255

1.问题描述

从12.2开始,存在很多与 Optimizer Statistics Advisor 这个功能有关的问题。

  1. Optimizer Statistics Advisor 的 AUTO_STATS_ADVISOR_TASK占用了大量的SYSAUX空间。目前还没有专门的方法来禁
    用这个任务。
  2. 无法确认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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论