缩减数据文件大小

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];

猜你喜欢

转载自www.cnblogs.com/mytips/p/9064728.html