1. 查询数据文件实际占用空间大小
SELECT FILE_NAME,
E.FILE_ID,
SUM(E.BYTES)/1024/1024 SIZE_MB
FROM DBA_EXTENTS E,
DBA_DATA_FILES F
WHERE E.FILE_ID = F.FILE_ID
GROUP BY FILE_NAME,
E.FILE_ID;
2. 查看数据块分步情况
SELECT SEGMENT_NAME, BLOCK_ID FROM DBA_EXTENTS WHERE TABLESPACE_NAME = 'IFSAPP_DATA' ORDER BY BLOCK_ID DESC;
3. 将数据块位置分配高的表,移动至其他表空间
ALTER TABLE FND_SESSION_TAB MOVE TABLESPACE IFSAPP_INDEX;
4. 缩减数据文件大小
ALTER DATABASE DATAFILE 5 RESIZE 4000M;
5. 将表移回原来表空间
ALTER TABLE FND_SESSION_TAB MOVE TABLESPACE IFSAPP_DATA;
注:移动表空间命令
1) 移动表
alter table [table_name] move tablespace [new tablespace];
2) 移动LOB字段
alter table [table_name] move lob ([lobsegment_name]) store as (tablespace [new tablespace]);
3) 移动(重建)索引
alter index [index_name] rebuild tablespace [new tablespace];