您可以使用以下DBMS_STATS.ALTER_STATS_HISTORY_RETENTION步骤配置保留期。默认值为31天。
先决条件
要运行此过程,您必须既具有SYSDBA特权,又具有ANALYZE ANY DICTIONARY和ANALYZE ANY系统特权。
假设条件
本教程假定以下内容:
- 优化程序统计信息的当前保留期为31天。
- 您每年都会运行查询作为年度报告的一部分。要保留统计信息历史记录超过365天,以便您可以使用去年的计划(以防现在出现次优计划),请将保留期限设置为366天。
- 您要创建一个
set_opt_stats_retention可用于更改优化器统计信息保留期的PL / SQL过程。
要更改优化器统计信息的保留期限,请执行以下操作:
- 启动SQL * Plus,并以必需的特权连接到数据库。
- 创建一个更改保留期限的过程。
例如,创建以下过程:
CREATE OR REPLACE PROCEDURE set_opt_stats_retention ( p_stats_retn IN NUMBER ) IS v_stats_retn NUMBER; BEGIN v_stats_retn := DBMS_STATS.GET_STATS_HISTORY_RETENTION; DBMS_OUTPUT.PUT_LINE('Old retention setting is ' ||v_stats_retn|| '.'); DBMS_STATS.ALTER_STATS_HISTORY_RETENTION(p_stats_retn); v_stats_retn := DBMS_STATS.GET_STATS_HISTORY_RETENTION; DBMS_OUTPUT.PUT_LINE('New retention setting is ' ||v_stats_retn|| '.'); END; / - 将保留期更改为366天。
例如,执行在上一步中创建的过程(包括示例输出):
SQL> EXECUTE set_opt_stats_retention(366) The old retention setting is 31. The new retention setting is 366. PL/SQL procedure successfully completed.
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




