ITPub博客

首页 > 数据库 > Oracle > 利用dbms_stats.gather_database_stats包快速确定统计信息为空或陈旧的对象

利用dbms_stats.gather_database_stats包快速确定统计信息为空或陈旧的对象

原创 Oracle 作者:jason_yehua 时间:2022-11-30 14:09:43 0 删除 编辑

set line 150
set serveroutput on
declare
  obj_empty dbms_stats.ObjectTab;
  obj_stale dbms_stats.ObjectTab;
begin
  dbms_stats.gather_database_stats(options => 'LIST EMPTY',objlist => obj_empty);
  for i in 1..obj_empty.count
    loop
      dbms_output.put_line('Empty statistics---> Owner:  '||obj_empty(i).ownname||'   Object name:  '||obj_empty(i).objName||'- -Object type:  '||obj_empty(i).objType);
      end loop;  
  dbms_stats.gather_database_stats(options => 'LIST STALE',objlist => obj_stale);
  for j in 1..obj_stale.count
    loop
      dbms_output.put_line('Empty statistics---> Owner:  '||obj_stale(j).ownname||'   Object name:  '||obj_stale(j).objName||'- -Object type:  '||obj_stale(j).objType);
      end loop;
end;
/
输出结果如下:
Empty statistics---> Owner:  JASON   Object name:  TAB_NAME- -Object type:  TABLE
Empty statistics---> Owner:  JASON   Object name:  TAB_TEST- -Object type:  TABLE
Empty statistics---> Owner:  JASON   Object name:  TEST- -Object type:  TABLE
Empty statistics---> Owner:  LIUJL   Object name:  G_TEST- -Object type:  TABLE
Empty statistics---> Owner:  LIUJL   Object name:  LJL- -Object type:  TABLE
Empty statistics---> Owner:  LJL   Object name:  G_TEST- -Object type:  TABLE
Empty statistics---> Owner:  LJL   Object name:  LJL- -Object type:  TABLE
Empty statistics---> Owner:  SCOTT   Object name:  AA- -Object type:  TABLE
Empty statistics---> Owner:  SCOTT   Object name:  MAGAZINE_ARTICLES- -Object type:  TABLE
Empty statistics---> Owner:  SYS   Object name:  AQ$_KUPC$DATAPUMP_QUETAB_1_D- -Object type:  TABLE
最后我们可以用DBMS_STATS.GATHER包来收集相应的统计信息

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31547506/viewspace-2925933/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 程序不足SQL来凑
请登录后发表评论 登录
全部评论

注册时间:2019-05-22

  • 博文量
    122
  • 访问量
    99619