1.查看表的使用情况的一些指标
SELECT TABLE_NAME,--表名
BLOCKS,--总的块数
EMPTY_BLOCKS,--空块数
PCT_FREE,--不解释
NUM_ROWS,--表的行数
AVG_USED_BLOCKS,--平均使用的块数
CHAIN_PER,--行迁移OR行链接数
GREATEST(ROUND(100 * (NVL(HWM - AVG_USED_BLOCKS, 0) /
GREATEST(NVL(HWM, 1), 1)),
2),
0) WASTE_PER --浪费的百分比
FROM (SELECT B.TABLE_NAME,
A.BLOCKS,
B.EMPTY_BLOCKS,
B.PCT_FREE,
B.NUM_ROWS,
(A.BLOCKS - B.EMPTY_BLOCKS - 1) HWM,
ROUND((B.AVG_ROW_LEN * NUM_ROWS * (1 + (PCT_FREE / 100))) / 8192,
0) AS AVG_USED_BLOCKS,
ROUND(100 *
(NVL(B.CHAIN_CNT, 0) / GREATEST(NVL(B.NUM_ROWS, 1), 1)),
2) CHAIN_PER
FROM DBA_SEGMENTS A, DBA_TABLES B
WHERE A.OWNER = B.OWNER
AND A.SEGMENT_NAME = B.TABLE_NAME
--AND A.SEGMENT_TYPE = 'TABLE'
AND A.TABLESPACE_NAME = B.TABLESPACE_NAME
AND B.TABLESPACE_NAME = '表空间名字')
2.其中的8192可以查DBA_TABLESPACES (TS$)获取
SELECT T.TABLESPACE_NAME,T.BLOCK_SIZE FROM DBA_TABLESPACES T
posted on 2010-06-04 15:01
xrzp 阅读(223)
评论(0) 编辑 收藏 所属分类:
oracle-基础