oracle在表空间中创建表。参数解释

问问题描述

oracle在表空间中创建表。参数解释,有没有大神路过?求指点迷津!

答精选答案

最佳答案

1、能够对空闲空间产生影响的参数有两个:pctfree和pctused。

对于手工管理的表空间,在特定段中的所有数据块,可使用两个空间管理参数pctfree和pctused来控制insert和update对空闲空间的使用。当创建或修改表时可指定这两个参数。创建或修改一个拥有自己的索引段的索引时可指定pctfree参数。pctfree参数为块中行的更新预留了空闲空间的最小百分比,默认值为10。例如,假定在Createtable语句中指定了pctfree为20,则说明在该表的数据段内每个数据块的20%被作为可利用的空闲空间,用于更新已在数据块内存在的数据行。其余80%是用于插入新的数据行,直到达到80%为止。显然,pctfree值越小,则为现存行更新所预留的空间越少。因此,如果pctfree设置得太高,则在全表扫描期间增加I/O,浪费磁盘空间;如果pctfree设置得太低,则会导致行迁移。

2、每个块都有一个块首部。这个块首部中有一个事务表。事务表中会建立一些条目来描述哪些事务将块上的哪些行/元素锁定。这个事务表的初始大小由对象的INITRANS设置指定。对于表,这个值默认为2(索引的INITRANS也默认为2)。事务表会根据需要动态扩展,最大达到MAXTRANS个条目(假设块上有足够的自由空间)。所分配的每个事务条目需要占用块首部中的23~24字节的存储空间。注意,对于Oracle10g,MAXTRANS则会忽略,所有段的MAXTRANS都是255。也就是说,如果某个事物锁定了这个块的数据,则会在这个地方记录事务的标识,当然那个事务要先看一下这个地方是不是已经有人占用了,如果有,则去看看那个事务是否为活动状态。如果不活动,比如已经提交或者回滚,则可以覆盖这个地方。如果活动,则需要等待(闩的作用)3、storage指的是和存储相关的选项4、initial3M--分配给segment的第一个extent的大小,以字节为单位,这个参数不能在alter语句中改变,如果指定的值小于最小值,则按最小值创建。minextents1--segment第一次创建时分配的extent数量maxextentsunlimited--随着segment中数据量的增长,最多可分配的extent数量无限制

本文来自作者[吉田花花嵐柳]投稿,不代表公众科技网立场,如若转载,请注明出处:https://www.cpst.net.cn/jiaoyuchangshi/202609/1963274.html

赞 (0)

发表回复

本站作者后才能评论

评论列表(4条)

  • 吉田花花嵐柳
    吉田花花嵐柳 2026年09月30日

    我是公众科技网的签约作者“吉田花花嵐柳”!

  • 吉田花花嵐柳
    吉田花花嵐柳 2026年09月30日

    希望本篇文章《oracle在表空间中创建表。参数解释》能对你有所帮助!

  • 吉田花花嵐柳
    吉田花花嵐柳 2026年09月30日

    本站[公众科技网]内容主要涵盖:教育咨询,知识百科

  • 吉田花花嵐柳
    吉田花花嵐柳 2026年09月30日

    本文概览:1、能够对空闲空间产生影响的参数有两个:pctfree和pctused。对于手工管理的表空间,在特定段中的所有数据块,可使用两个空间管理参数pctfree和pctused来控制insert和update对空闲空间的使用。当创建或修改表时可指定这两个参数。创建或修改一个拥有自己的索引段的索引时可指定pctfree参数。pctfree参数为块中行的更新预留了空闲空间的最小百分比,默认值为10。例如,假定在Createtable语句中指定了pctfree为20,则说明在该表的数据段内每个数据块的20%被作为可利

联系我们

联系:143 0457 151

工作时间:周一至周五,9:30-18:30,节假日休息

关注我们