`

pctused、pctfree

 
阅读更多

整理一下对pctused和pctfree的理解

1 楼 zzwssfd 23 小时前   引用
请教:下面的理解是否正确。pctfree=20,pctused=40
1,一个新的数据块,不停的向其中插入数据,当数据块容量被利用超过40%后,不能再向其中      插入数据。那么 虽然pctfree=20,实际上有60%的空间是用来更新的。
2,一个刚好空间被利用80%的数据块,是不能向其中插入数据的,但可以更新。直到这个数据块的已使用空间小于 40%,才能继续插入数据。且到40%时,不能插入。

2 楼 czmmiao 7 小时前   引用
1、当一个块的使用空间达到100-pctfree值时,这个块从自由列表脱离。当pctfree为20,数据块使用40%的时 候,可用来做insert的空间为100-pctfree-40=40%。pctfree的20%空间主要是为以下场景准备的,数据块已经 使用了80%或者接近80%的空间不会再进行insert,此时如果update数据块中的现有内容,则会利用到剩余的 20%进行update,你的说法不能说完全错误,感觉表达不是很准确。
2、文档上是说降到pctuesd后才会继续使用该块进行insert,我认为没有必要折腾是否在这临界值上会进行 insert,实际意义不大。

3 楼 zzwssfd 7 小时前   引用
又把文档看了一遍,现在是这样理解的:
一个新的数据块,可以不停的插入数据,直到空间使用率是100-pctfree后不能继续插入(而不是空间使用率超过 pctused后,就不能插入)。而这个数据块要想再插入数据,只有当它的空间使用率在pctused之下以后(而不是小 于100-pctfree),才能继续插入数据,直到空间使用率再次超过100-pctfree。

 

分享到:
评论

相关推荐

    ORACLE数据库管理

    PCTFREE和PCTUSED是Oracle块中预留的空间比例,用于控制数据的更新和插入。 #### 7.3 管理表存储区(数据段) 数据段是用于存储表数据的逻辑存储单元。 ##### 7.3.1 创建表 创建表是通过CREATE TABLE语句完成的...

    Oracle 45 道面试题及答案.docx

    本文将对Oracle Forms的基本概念、组件、配置文件、报表记录组、LOV、绑定变量、动态SQL、pctused和pctfree参数、表空间和数据文件之间的关系等进行详细的解释和分析。 一、Oracle Forms的基本概念 Oracle Forms是...

    北京邮电大学软件工程研究生的课程---数据库设计开发-4.3

    PCTFREE和PCTUSED是两个关键的存储参数,分别控制了块中预留的未使用空间和使用空间的阈值,以适应行的增长,避免行跨块存储,提高性能。默认值分别为10%和40%,但可以根据实际需求调整。 2. 理解数据库碎片: ...

    文件更新系统

    pctfree 5 storage ( initial 2M next 1M minextents 1 maxextents unlimited pctincrease 0 ) tablespace tsp_comm ) pctfree 5 pctused 90 storage ( initial ...

    阿里巴巴校园招聘Oracle_DBA笔试题及参考答案.doc

    1. **pctused 和 pctfree** pctused 和 pctfree 是Oracle数据库中用于控制数据块空间管理的两个重要参数。pctused 设定了一个阈值,当数据块中的自由空间小于这个百分比时,该数据块将从自由链表(freelist)中...

    9-Oracle数据库逻辑结构.pptx

    数据块的使用涉及到两种存储参数:PCTFREE 和 PCTUSED。PCTFREE 参数给出保留空间的最小百分比,用于行的 UPDATE 操作。在遭遇到 PCTFREE 后,这块被填满且不能进行 INSERT 操作。PCTUSED 参数当块中数据加上头和...

    bbs论坛项目运用SSH框架Oracle数据库编写的一个简单示列项目

    pctfree 10 pctused 40 initrans 1 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited ); -- Create/Recreate primary, unique and foreign key constraints alter table USERS ...

    Oracle中表数据的存储原理浅析.pdf

    本文主要探讨了Oracle中表数据的存储原理,包括数据块、数据段、行和片段的概念,以及PCTFREE和PCTUSED两个关键参数的使用。 在Oracle数据库中,当创建一个表时,系统会自动在相应的表空间内为这个表分配数据段以...

    Oracle 簇的使用详解

    - `PCTUSED` 和 `PCTFREE` 分别设置数据块使用阈值,用于控制空间的重用。 - `SIZE` 指定簇键及其相关行平均需要的字节数。 - `INITRANS` 和 `MAXTRANS` 设置初始和最大事务段事务段的事务级别。 - `TABLESPACE` ...

    数据库管理员面试题

    1. pctused 和 pctfree 的含义和作用:pctused 表示数据块什么时候移入 freelist,pctfree 表示什么时候移出 freelist 2. 表、段、extent、块之间的关系:一个表至少是一个段,段由多个 extent 组成,extent 由多个...

    sql命令参考 命令解析

    PCTUSED和PCTFREE分别设置数据块被用到多少百分比时开始记录空闲空间,而INITRANS和MAXTRANS则设定事务初始化和最大事务转换的数目。 - **STORAGE子句** 用于修改集群的存储特性,如初始大小、增量大小等。 **1.2 ...

    oracle面试题

    1. **pctused 和 pctfree**: - `pctused` 和 `pctfree` 是Oracle数据库中控制数据块空间利用率的两个参数。`pctused` 设定的是当数据块的自由空间使用达到多少百分比时,该数据块将从空闲链表(freelist)中移除。...

    数据库逻辑结构培训教程(ppt-76页).ppt

    PCTFREE 和 PCTUSED 两个参数互相消涨,其和不超过 100。 行链接和行迁移 行链接发生于插入时,行太长,数据块放不下,该行数据存放在该段的多个数据块中。行迁移发生于修改时,修改后行变长,空闲空间不够,该行...

    oracle里常用命令之三

    `tablespace_name`用于指定表所在的表空间,`pctfree`和`pctused`控制块的预留空间,`initrans`和`maxtrans`设置初始和最大事务数,`storage`关键字后跟存储参数,如`initial`、`next`、`pctincrease`、`maxextents`...

    Oracle表的类型及定义[归类].pdf

    - **PCTFREE** 和 **PCTUSED**:PCTFREE设置块的预留空闲空间,避免行迁移;PCTUSED则定义何时将块放回freelist。 - **INITIAL, NEXT, PCTINCREASE**:定义段的扩展策略,但在局部管理表空间中,通常设置INITIAL=...

    oracle emp, dept, salgrade 建表语句

    `PCTFREE`和`PCTUSED`分别设置了数据块未使用空间的最小预留比例(10%)和开始写入新数据时已使用空间的最大比例(40%)。`INITRANS`和`MAXTRANS`设定了初始和最大事务数。`STORAGE`子句定义了段的存储参数,如初始...

Global site tag (gtag.js) - Google Analytics