oracle resize报错,dba_segments与dba_data_files中相差很大

1.当dba_segments读取到某个空间占用900M时,但是dba_data_files读取到某个空间 占300G
2.此时可以move table,rebulid解决
3.如果还是不一致时,可能由于lob字段没有move成功
此时的解决方法:
select * from dba_extents where tablespace_name='xxxxx'
order by block_id desc;

此时你会发现SYS_LOB007132232323$$ 排在第一行
此时的block_id为所有数据中最大的值。原因很明显,就是因为它
所以move不成功。导致空间始终没有收缩。resize自然无效


select * from dba_lobs where segment_name='SYS_LOB007132232323$$';


alter table xxx.table_namexxx move tablespace 表空间 lob(lob字段名) store as
(tablespace 表空间);

此时可以resize

alter database datafile xxx resize 2G;

 

 

 不要意思,没有截图

你可能感兴趣的:(oracle resize报错,dba_segments与dba_data_files中相差很大)