ITPub博客

首页 > 数据库 > Oracle > 大白话介绍pctfree,pctused

大白话介绍pctfree,pctused

原创 Oracle 作者:与刃争锋 时间:2014-01-24 15:18:51 0 删除 编辑
大白话介绍pctfree,pctused


pctfree:为数据块保留的空间百分比,最少留出多少空间给将来的insert用.
默认是10,如果数据块已用了90%的空间了,就不能被insert了,只能被用于update.


pctused:数据块内数据占用的空间,低于多少百分比时,再次可以insert数据.
默认是40,就是说块内的数据占用40%以下的空间,此时这个块又能insert新的数据了.


我就爱例子,举个例子:
一个块能放100个数据,pctfree为10,pctused为40:

insert数据一直到这个块有了90个数据,此时不能再存放新的数据,预留10%给将来的update用.
你又不断删除数据,删了10个,此时80个数据占用了块的80%空间,你想这个块能insert新数据了吧?NO
你必须删掉51个数据,块里数据39个占用39%的空间时,才能再次向这个块里insert数据.


注意!如果表空间上启用了ASSM(自动段空间管理),在建立表的时候,只能指定pctfree!
如果不是ASSM,可以指定pctfree和pctused.  




看看各个表的pctfree和pctused值
select a.table_name, a.pct_free, a.pct_used, a.* from user_tables a; 


哪些表使用自动管理表空间
select tablespace_name,segment_space_management from user_tablespaces;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25025926/viewspace-1075020/,如需转载,请注明出处,否则将追究法律责任。

下一篇: oracle安全性
请登录后发表评论 登录
全部评论

注册时间:2013-12-25

  • 博文量
    89
  • 访问量
    111111