Delete, update两类语句可以增加block中的free space
释放的空间在下面的条件下可以被随后的insert使用
1) insert与释放空间的delete/update在同一个事务中,insert在后
2) insert与delete/update在不同事务中, 只有当delete/update所在事务提交后,insert才能使用释放的空间
block中释放的空间可能不连续, oracle在下面两个条件满足时会愈合块中碎片
1) update/insert语句尝试使用这个块在存储 a new row piece,而这个块包含有足够的free space(算上连续空间与碎片空间)
2) 因为不连续,这个new row piece无法insert进来
这种做的原因是为了性能考虑, 只在需要时才压缩碎片
[@more@]