运维联盟俱乐部

 找回密码
 立即注册
查看: 304|回复: 1

[日常管理] more than 10% has been modified tables

[复制链接]
  • TA的每日心情
    开心
    2023-8-9 11:05
  • 发表于 2023-12-12 10:11:54 | 显示全部楼层 |阅读模式
    检查表是否超过10%的数据变化

    对象级:
    1. set serveroutput on

    2. declare
    3. mystaleobjs dbms_stats.objecttab;
    4. begin
    5. -- check whether there is any stale objects
    6. dbms_stats.gather_schema_stats(ownname=>'SCOTT', options=>'LIST STALE',objlist=>
    7. mystaleobjs);
    8. for i in 1 .. mystaleobjs.count loop
    9. dbms_output.put_line(mystaleobjs(i).objname);
    10. end loop;
    11. end;
    12. /
    复制代码
    全库级:
    1. set serveroutput on

    2. DECLARE
    3. ObjList dbms_stats.ObjectTab;
    4. BEGIN
    5. dbms_stats.gather_database_stats(objlist=>ObjList, options=>'LIST STALE');
    6. FOR i in ObjList.FIRST..ObjList.LAST
    7. LOOP
    8. dbms_output.put_line(ObjList(i).ownname || '.' || ObjList(i).ObjName || ' ' || ObjList(i).ObjType || ' ' || ObjList(i).partname);
    9. END LOOP;
    10. END;
    11. /
    复制代码
    select:
    1. SELECT TABLES.OWNER,
    2.         TABLES.TABLE_NAME,
    3.         ROUND((DELETES + UPDATES + INSERTS) / NUM_ROWS * 100) PERCENTAGE
    4. FROM DBA_TABLES TABLES,
    5.         DBA_TAB_MODIFICATIONS MODIFICATIONS
    6. WHERE TABLES.OWNER = MODIFICATIONS.TABLE_OWNER
    7.         AND TABLES.TABLE_NAME = MODIFICATIONS.TABLE_NAME
    8.         AND NUM_ROWS > 0
    9.         AND ROUND((DELETES + UPDATES + INSERTS) / NUM_ROWS * 100) >= 10
    10. ORDER BY 3 DESC /
    复制代码




    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-8-9 11:05
  •  楼主| 发表于 2023-12-12 10:42:41 | 显示全部楼层
    统计信息收集历史:
    1. SQL> select table_name,STATS_UPDATE_TIME from dba_TAB_STATS_HISTORY where owner='ZHYU' order by 1,2;

    2. TABLE_NAME                       STATS_UPDATE_TIME
    3. ------------------------------ ---------------------------------------------------------------------------
    4. OBJ                               12-DEC-23 10.07.40.997832 AM +08:00
    5. OBJ                               12-DEC-23 10.40.39.937381 AM +08:00
    6. T                               07-DEC-23 10.00.08.153359 PM +08:00
    7. T                               08-DEC-23 10.00.14.859725 PM +08:00
    8. T                               09-DEC-23 06.00.09.920366 AM +08:00
    9. T                               12-DEC-23 10.07.41.117909 AM +08:00
    10. T1                               08-DEC-23 10.00.09.852079 PM +08:00
    11. T1                               09-DEC-23 06.00.09.945804 AM +08:00
    12. T1                               12-DEC-23 10.07.41.137112 AM +08:00
    复制代码
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    运维联盟俱乐部 ( 冀ICP备19036648号 )

    GMT+8, 2024-5-2 09:17 , Processed in 0.051110 second(s), 21 queries , Gzip On.

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表