正德厚生,臻于至善

在线重建索引,按大小降序排列

--重建普通索引,排除分区索引
set lines 200 pages 50000
SELECT *
FROM (
SELECT 'ALTER INDEX ' || owner || '.' || index_name || ' REBUILD ONLINE NOLOGGING;' AS rebuild_command
FROM (
    SELECT 
        i.owner,
        i.index_name,
        s.bytes / 1024 / 1024 AS index_size_mb  -- 转换为MB
    FROM 
        dba_indexes i
    JOIN 
        dba_segments s ON i.owner = s.owner AND i.index_name = s.segment_name
    WHERE 
        i.index_type NOT LIKE '%LOB%'  -- 排除LOB索引
        AND i.owner NOT IN ('SYS', 'SYSTEM', 'SYSMAN', 'DBSNMP')  -- 排除系统用户
        AND i.partitioned = 'NO'  -- 排除分区索引,只保留普通索引
    ORDER BY 
        s.bytes DESC  -- 按大小降序排列
)
ORDER BY 
    index_size_mb DESC
)
WHERE ROWNUM <= 50;

--重建分区索引
set lines 200 pages 50000
SELECT *
FROM (
  SELECT 'ALTER INDEX ' || p.index_owner || '.' || p.index_name || 
         ' REBUILD PARTITION ' || p.partition_name || ' ONLINE NOLOGGING;' AS rebuild_command
  FROM 
      dba_ind_partitions p
  JOIN 
      dba_segments s ON p.index_owner = s.owner
                     AND p.index_name = s.segment_name
                     AND p.partition_name = s.partition_name
  JOIN
      dba_indexes i ON p.index_owner = i.owner
                    AND p.index_name = i.index_name
  WHERE 
      i.index_type NOT LIKE '%LOB%'
      AND p.index_owner NOT IN ('SYS','SYSTEM','SYSMAN','DBSNMP')
      AND i.partitioned = 'YES'
  ORDER BY 
      s.bytes DESC
)
WHERE ROWNUM <= 50;
赞(0) 打赏
未经允许不得转载:徐万新之路 » 在线重建索引,按大小降序排列

支持快讯、专题、百度收录推送、人机验证、多级分类筛选器,适用于垂直站点、科技博客、个人站,扁平化设计、简洁白色、超多功能配置、会员中心、直达链接、文章图片弹窗、自动缩略图等...

联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册