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

2024年 4月 26日 40.4k 0

搞了辣么多年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'

总结:

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

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论