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

脚本分享 - Oracle批量收集统计信息

原创 colin 2024-04-26
729

搞了辣么多年DBA,总有点小东西可以分享下,技术又不好,就分享点脚本吧


该脚本比较简单,没有太多的附加参数,原因是受到了 "【Oracle 公益课堂 】Oracle 统计信息管理" 的影响。使用默认值它可以受益最大化(在较短的时间内收集较为全的信息)。

使用注意事项,尽量不要在业务高峰期操作,避免造成资源争用。


批量收集统计信息脚本:实现方法就是把表所属用户和表明查出来然后循环收集统计信息

begin
for tjxx in (select owner, table_name from dba_tables where table_name in ('TBA','TBB','TBC','TBD','TBE') and owner='USER') loop
 begin
 dbms_stats.gather_table_stats(ownname => tjxx.owner,
             tabname => tjxx.table_name ,
             degree => 8,
             cascade => true);
end;
end loop;
end;
/

注意点:degree(并行度),根据服务器的CPU线程数和CPU的繁忙度自行更改,可以选择更多的并行来提高执行速度。


查看分析进度:就是查看需要收集表的最后分析时间

select owner, table_name,LAST_ANALYZED from dba_tables where table_name in ('TBA','TBB','TBC','TBD','TBE') and owner='USER'


总结:

我学的一般,希望各界大佬前来指点

最后修改时间:2024-04-28 15:47:09
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论