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 閱讀(227)
評論(0) 編輯 收藏 所屬分類:
oracle-基礎