oracle表碎片以及整理是怎样的

28次阅读
没有评论

共计 967 个字符,预计需要花费 3 分钟才能阅读完成。

oracle 表碎片以及整理是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面丸趣 TV 小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

  确定碎片程度
  SELECT table_name,
         ROUND ((blocks * 8), 2) 高水位空间 k ,
         ROUND ((num_rows * avg_row_len / 1024), 2) 真实使用空间 k ,
         ROUND ((blocks * 10 / 100) * 8, 2) 预留空间(pctfree) k ,
         ROUND (
            (  blocks * 8
             – (num_rows * avg_row_len / 1024)
             – blocks * 8 * 10 / 100),
            2)
            浪费空间 k
    FROM user_tables
   WHERE temporary = N
ORDER BY 5 DESC;

  查看表上次收集统计信息时间
 
 select table_name,last_analyzed from dba_tables where owner = SCHEMA_NAME
 
收集整个 Schema 中对象的统计信息

SQL exec dbms_stats.gather_schema_stats(ownname= SCHEMA_NAME

— 整理表,不影响 DML 操作

SQL alter table TABLE_NAME enable ROW MOVEMENT;– 启动行移动功能

SQL alter table TABLE_NAME shrink space compact;  – 只整理碎片 不回收空间

— 重置高水位,此时不能有 DML 操作

SQL alter table TABLE_NAME shrink space; – 整理碎片并回收空间,并调整水位线。业务少时执行

SQL alter table TABLE_NAME disable ROW MOVEMENT;– 关闭行移动

shrink 的优势:

    不需要重建索引。
    可以在线操作。
   
如果系统业务比较繁忙,
可以先执行 shrink space compact 重组数据, 然后在业务不忙的时候再执行 shrink space 降低 HWM 释放空闲数据块。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注丸趣 TV 行业资讯频道,感谢您对丸趣 TV 的支持。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-17发表,共计967字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)