Oracle高水位标志的概念

王朝oracle·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

关于Oracle数据库概念性的知识

Oracle高水位标志:    high-water mark

可以用以下几点对high-water mark进行理解

1.指一个表中曾经被用过的最后一个块

2.假如有数据被插入表,high-water mark 就移到到被使用的最后一个块

3.假如有数据被删除,high-water mark的位置不会变

4.high-water mark被储存在表的段头(segment header of the table)

5.当对表执行全表扫描时,oracle server 被所有的块直到high-water mark

另外我的理解如下,

1 假如为表分配了大量的extents , 但这些extent 还没使用可以手工收回。并且有如下两种情况

第一种 minextent <hwm可以使用

alter table tablename deallocate unused;

将hwm以上所有没使用的空间释放

第二种 minextent >hwm 则释放minextents 以上的空间。

假如要释放hwm以上的空间则使用keep 0。

alter table tablesname deallocate unused keep 0;

2 truncate table命令可以将minextent 之上的空间完全释放。

3 只是将hwm移动,释放的空间不会被其他段使用--    

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航