Oracle如何对表空间进行碎片整理

时间:2019-05-20 13:45:42

标签: oracle oracle11g

我正在尝试对表空间进行碎片整理以缩小它。

我需要SQL查询才能找到表空间中的最后一个元素。

我正在使用以下查询,但不确定是否正确:

select * from (
    select * from dba_extents where tablespace_name = 'TS_DATA' order by BLOCK_ID desc) 
where rownum<22;

然后我想用alter index XXX_PK rebuild;alter table XXX move;之类的命令对其进行碎片整理

我的问题是:我是否必须按BLOCK_ID或EXTENT_ID或同时按两者或其他进行排序?

我想我一定做错了,因为收缩命令不起作用:ALTER DATABASE DATAFILE 'C:\ORACLEXE\APP\ORACLE\ORADATA\XE\TS_DATA.DBF' RESIZE 8777M;。由于ORA-03297: file contains used data beyond requested RESIZE value,它无法工作。

0 个答案:

没有答案