oracle 收集统计信息(除去备份表)

        生产环境上的数据库经常要手工更新统计信息,表非常多,要除去备份表(备份表通常会加上bak或是日期)。

        EAM : 数据库用户名

        degree: 并行度,加快收集时间,我的数据库是12核,所以设置24

        cascade :连同索引一起更新

select 'execute dbms_stats.gather_table_stats(''EAM'',''' || s.table_name ||''',degree => 24,cascade => true);'
  from user_tables s
 where not regexp_like(s.TABLE_NAME, '[0-9]{4,8}')
   and s.table_name not like '%BAK%';

你可能感兴趣的:(oracle 收集统计信息(除去备份表))