表空间碎片处理问题 -大师过来看看
表空间碎片处理问题
表空间碎片问题有点困惑,请各位给我解惑一下!
例如:
TABLESPACE_NAME FSFI
TEST 100
TEST01 30
TEST02 2.999999
请问以上的表空间中是不是TEST01和TEST02两个表空间需要进行碎片整理??
并且输入命令 alter tablespace test01 coalesce; ----怎么回收不了表空间碎片呢?
怎么没人回答呢 ? 试试用shrink 或者move 首先这个参数只是对字典管理的表空间有意义,如果是本地管理的表空间,这个参数的大小没有影响。你的命令也就没有什么意义。 像老师说的,LMT 中alter tablespace xxx coalesce 没有影响,ascade是合并相邻的,而且只适合字典管理的表空间。那么使用本地管理的表空间还有碎片的说法吗? 本地管理表空间已经没有了碎片之说,就像我们的NTFS已经不关心碎片一样。
里面的FSFI已经没有任何意义。 恩 明白了 本帖最后由 fanchungang 于 2010-12-4 17:14 编辑
oraunix 发表于 2010-12-2 13:45 static/image/common/back.gif
本地管理表空间已经没有了碎片之说,就像我们的NTFS已经不关心碎片一样。
里面的FSFI已经没有任何意义。 ...
补充一下:对于本地管理的表空间,留意是否设置了uniform。extent的管理方式默认是AUTOALLOCATE会导致表空间中extent大小不一而导致部分空间无法使用。
EXTENT MANAGEMENT
{ LOCAL
[ AUTOALLOCATE
| UNIFORM
[ SIZE size_clause ]
]
| DICTIONARY
}
提示,如果要设置uniform是需要重建表空间的。
如果要想释放一些空间可以考虑
1.对与存在大量delete的表可以进程move
2.或者对表空间的段整体进行 move compress
页:
[1]