在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

oracle如何查询表碎片

124次阅读
没有评论

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

这篇文章给大家分享的是有关 oracle 如何查询表碎片的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。

SELECT OWNER,

       TABLE_NAME,

       SEGMENT_TYPE,

       segment_space_management MANAGEMENT,

       TABLE_MB USED_MB,

       ROUND(WASTE_PER * TABLE_MB / 100, 2) FRAG_MB,

       WASTE_PER fragment_per,

       LAST_ANALYZED

  FROM (SELECT OWNER,

               SEGMENT_NAME TABLE_NAME,

               LAST_ANALYZED,

               SEGMENT_TYPE,

               GREATEST(ROUND(100 * (NVL(HWM – AVG_USED_BLOCKS, 0) / GREATEST(NVL(HWM, 1), 1)), 2), 0) WASTE_PER,

               ROUND(BYTES / POWER(1024, 2), 2) TABLE_MB,

               NUM_ROWS,

               BLOCKS,

               EMPTY_BLOCKS,

               HWM HIGHWATER_MARK,

               AVG_USED_BLOCKS,

               CHAIN_PER,

               EXTENTS,

               MAX_EXTENTS,

               ALLO_EXTENT_PER,

               DECODE(GREATEST(MAX_FREE_SPACE – NEXT_EXTENT, 0), 0, N , Y ) CAN_EXTEND_SPACE,

               NEXT_EXTENT,

               MAX_FREE_SPACE,

               O_TABLESPACE_NAME TABLESPACE_NAME,

               block_size,

               segment_space_management

          FROM (SELECT A.OWNER OWNER,

                       A.SEGMENT_NAME,

                       A.SEGMENT_TYPE,

                       A.BYTES,

                       B.NUM_ROWS,

                       A.BLOCKS BLOCKS,

                       B.EMPTY_BLOCKS EMPTY_BLOCKS,

                       A.BLOCKS – B.EMPTY_BLOCKS – 1 HWM,

                       DECODE(ROUND((B.AVG_ROW_LEN * NUM_ROWS * (1 + (PCT_FREE / 100))) / dt.block_size, 0), 0, 1,

                              ROUND((B.AVG_ROW_LEN * NUM_ROWS * (1 + (PCT_FREE / 100))) / dt.block_size, 0)) + 2 AVG_USED_BLOCKS,

                              ROUND(100 * (NVL(B.CHAIN_CNT, 0) / GREATEST(NVL(B.NUM_ROWS, 1), 1)),

                             2) CHAIN_PER,

                       ROUND(100 * (A.EXTENTS / A.MAX_EXTENTS), 2) ALLO_EXTENT_PER,

                       A.EXTENTS EXTENTS,

                       A.MAX_EXTENTS MAX_EXTENTS,

                       B.NEXT_EXTENT NEXT_EXTENT,

                       B.TABLESPACE_NAME O_TABLESPACE_NAME,

                       B.LAST_ANALYZED,

                       dt.block_size,

                       DT.segment_space_management

                  FROM SYS.DBA_SEGMENTS A,

                       SYS.DBA_TABLES   B,

                       dba_tablespaces  dt

                 WHERE A.OWNER = B.OWNER

                   and SEGMENT_NAME = TABLE_NAME

                   and SEGMENT_TYPE = TABLE

                 —  and dt.segment_space_management = AUTO

                 —  and B.table_name= LS_REPORT_VALUE_COLLECT

                   and dt.tablespace_name = a.tablespace_name

                   –and b.last_analyzed to_date(20070601 , yyyymmdd)

                union all

                SELECT A.OWNER OWNER,

                       SEGMENT_NAME || . || B.PARTITION_NAME,

                       SEGMENT_TYPE,

                       BYTES,

                       B.NUM_ROWS,

                       A.BLOCKS BLOCKS,

                       B.EMPTY_BLOCKS EMPTY_BLOCKS,

                       A.BLOCKS – B.EMPTY_BLOCKS – 1 HWM,

                       DECODE(ROUND((B.AVG_ROW_LEN * B.NUM_ROWS * (1 + (B.PCT_FREE / 100))) / dt.block_size, 0), 0, 1,

                              ROUND((B.AVG_ROW_LEN * B.NUM_ROWS * (1 + (B.PCT_FREE / 100))) / dt.block_size, 0)) + 2 AVG_USED_BLOCKS,

                              ROUND(100 * (NVL(B.CHAIN_CNT, 0) / GREATEST(NVL(B.NUM_ROWS, 1), 1)), 2) CHAIN_PER,

                       ROUND(100 * (A.EXTENTS / A.MAX_EXTENTS), 2) ALLO_EXTENT_PER,

                       A.EXTENTS EXTENTS,

                       A.MAX_EXTENTS MAX_EXTENTS,

                       B.NEXT_EXTENT,

                       B.TABLESPACE_NAME O_TABLESPACE_NAME,

                       d.last_analyzed,

                       dt.block_size,

                       DT.segment_space_management

                  FROM SYS.DBA_SEGMENTS       A,

                       SYS.DBA_TAB_PARTITIONS B,

                       SYS.DBA_TABLES         D,

                       dba_tablespaces        dt

                 WHERE A.OWNER = B.TABLE_OWNER

                   and SEGMENT_NAME = B.TABLE_NAME

                   and SEGMENT_TYPE = TABLE PARTITION

                  — and dt.segment_space_management = AUTO

                  — and B.table_name= LS_REPORT_VALUE_COLLECT

                   and dt.tablespace_name = a.tablespace_name

                   AND D.OWNER = B.TABLE_OWNER

                   AND D.TABLE_NAME = B.TABLE_NAME

                   AND A.PARTITION_NAME = B.PARTITION_NAME,

                   –AND D.last_analyzed to_date(20070601 , yyyymmdd)),

               (SELECT TABLESPACE_NAME F_TABLESPACE_NAME,

                       MAX(BYTES) MAX_FREE_SPACE

                  FROM SYS.DBA_FREE_SPACE

                 GROUP BY TABLESPACE_NAME)

         WHERE F_TABLESPACE_NAME = O_TABLESPACE_NAME

           AND GREATEST(ROUND(100 * (NVL(HWM – AVG_USED_BLOCKS, 0) /GREATEST(NVL(HWM, 1), 1)),2), 0) 25

           AND OWNER not in (SYS , SYSMAN)

           AND BLOCKS POWER(1024, 2) / block_size)

 where ROUND(WASTE_PER * TABLE_MB / 100, 2) 100

 ORDER BY 7 DESC;

USED_MB:表示对象已使用大小

FRAG_MB:表示碎片所占大小

FRAGMENT_PER:表示碎片率百分比

感谢各位的阅读!关于“oracle 如何查询表碎片”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-24发表,共计4078字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 久艹在线 | 免费在线视频你懂的 | 青青青青青青在线精品视频 | 亚洲熟妇无码av | 在线高清免费爱做网 | 黄色软件在线观看 | a级国产片在线观看 | 国产美女一级做a视频免费 国产美女一级做视频爱 | 91精品成人免费国产片 | 脱岳裙子从后面挺进去视频 | 国产成人精品综合久久久 | 高清不卡免费一区二区三区 | 国产成人精品午夜福利 | 免费观看欧美精品成人毛片能看的 | 巨熟乳波霸若妻在线播放 | 成人午夜网站 | 中文字幕无码不卡免费视频 | 国产综合亚洲精品一区 | 日韩欧美中文字幕在线播放 | 公粗挺进了我的密道在线播放贝壳 | 欧美日韩在线视频观看 | 色五月丁香五月综合五月4438 | 人人妻人人澡人人爽 | 成人一区专区在线观看 | 蜜臀av免费一区二区三区 | 高清一区二区 | a级高清观看视频在线看 | 国产成人羞羞电影网站在线观看 | 久久综合久久香蕉网欧美 | 97人人射| 国产视频一二三区 | 国产精品亚洲日日摸夜夜添 | 米奇777超碰欧美日韩亚洲 | 99视频免费播放 | 久久人人爽爽爽人久久久 | 性夜久久一区国产9人妻 | 国产乱人伦偷精品视频下 | 色噜噜在线 | 色情无码www视频无码区澳门 | 精品一区二区三区在线成人 | 福利片影院 |