问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

oracle段管理分析

发布网友 发布时间:2023-04-02 01:04

我来回答

1个回答

热心网友 时间:2023-11-24 09:43

  ( )段 区段 块

  Oracle中的段segment是占用磁盘存储空间的一个对象 从逻辑上讲一个数据库由若干表空间(TABLESAPCE)组成 每个表空间有若干个表(TABLE) 每个表又可以分为若干数据段(DATA SEGMENT) 索引段等 每个段又可分为若干数据库区间(EXTENT) 每个区间由若干数据块(BLOCK)组成 区段(EXTENT)是最小的分配单 块(BLOCK) 是最小的存储单位

  ( )常见的段类型

   聚簇cluster 分为散列聚簇和B*树聚簇 通常用于存储多个表上的相关数据

  可以在聚簇段中建表 此时这个表可能与其它表同在一个聚簇段中

   表table 表段用于保存一个数据库表的数据 是最常用的段类型 通常与索引段结合使用

   表分区partition或子分区subpartition 主要用于分区 与表段类型

   索引index 这种段类型用于保存索引结构

   Lob分区 子分区 索引 Lob段 用于保存大对象的结构 每个LOB列需要分别创建两个段 一个用于存储CLOB或BLOB的

  实际数据块logsegment 另一个是用于跟踪这些LOB块在哪里的lobindex

   嵌套表nested table 这是为嵌套表指定的段类型

   回滚段 用于存放undo的数据

  ( )段的管理

   手动段空间管理Manual Segment Space Management

  手动设置FreeLists FreeList Groups PctUsed 其它参数来控制如何分配 使用 重用段空间 MSSM是oracle的遗留实现 许多版本都支持MSSM

   自动段空间管理Automatic Segmnet Space Management

  只需要控制与空间使用相关的PctFree 其它参数被忽略 ASSM只有在 i版本后才被引入 用于减少MSSM中的太多参数的管理

  应用于ASSM段的存储设置只有Buffer_Pool PctFree IniTrans MaxTrans( g后的版本都会忽略这个参数) 其它存储和物理属性参数都不适用于ASSM段

  段空间管理是从段的表空间继承来的一个属性 而且段都没有跨表空间 段要使用ASSM就必须位于支持ASSM空间管理的表空间中

   HWM高水平线

  HWM是随着表数据的增长而增长的 只有重建 截除 收缩对象时 HWM才会降低 HWM很重要 因为在oracle进行全表扫描时会扫描HWM下的所有块 即使这张数据库表不包含任何数据

  TrunCate会把表的HWM重新置为 还会截除表上的相关索引 而DELETE整张表时并没有修改HWM 所以如果打算删除表的所有行 应尽量使用TrunCate

  在MSSM表空间中 段只有一个HWM 但在ASSM表空间中 除了HWM外 还有一个低HWM 这是因为在ASSM中 HWM推进时 ORACLE并没有立即格式化所有的物理块 而是只在第一次使用时才会完成格式化 以便安全读取

   freelists

  freelists是使用MSSM表空间时 oracle使用块时 需要把块放在freelist或从freelist中删除 freelists可能对性能有很大的提升或有很大的影响

  而在ASSM中 没有也不用去设置freelist参数

  create tablespace as *** datafile size m autoextend on next m segment space management auto;

  create table xxx( ) tablespace as *** ;

  ( )pctfree与pctused

  PctFree告诉oracle应该在块上保留多少空间来完成将来的更新 默认值是 % 如果自由空间的百分比高于PctFree指定值 这个块就称为自由的 PctUsed告诉oracle应在当前不自由的块上自由空间的百分比需要达到多大时 才能使它再次变为自由的 默认值为 %

  使用MSSM 时 这两个参数设置控制着块何时放入freelist 中 以及何时从freelist 中取出 如果使用默认值 PCTFREE为 PCTUSED为 那么在块到达 %满之前(有 %以上的自由空间) 这个块会一直在freelist 上 一旦到底 % 就会从freelist 中取出 而且直到块上的自由空间超过了块的 %时 才会重新回到freelist上 在此之前 这个块一直不在freelist上

  使用ASSM 时 PCTFREE 仍然会*能否将一个新行插入到一个块中 但是它不会控制一个块是否在freelist上 因为ASSM根本不使用freelist 在ASSM 中 PCTUSED参数将被忽略

  如果把块的PCTFREE 设置得过高 就会浪费空间 如果把PCTFREE 设置为 % 而你从未更新数据 那么每个块都会浪费 %的空间 不过 对行初始很小 现在想将行的大小加倍 这种情况下 %的设置就非常合理 但是倘若PCTFREE 设置得太小 更新行时就会导致行迁移

  高PCTFREE 低PCTUSED

  如果你插入了将要更新的大量数据 而且这些更新会频繁地增加行的大小 此时就适合采用这种设置 这种设置在插入后会在块上预留大量的空间(高PCTFREE) 并使得将块放回到freelist 之前必须几乎为空(低PCTUSED)

  低PCTFREE 高PCTUSED

  如果你只想对表完成INSERT 或DELETE 或者如果你确实要完成UPDATE 但UPDATE 只是缩小行的大小 此时这种设置就很适合

  ( )行迁移row migration

lishixin/Article/program/Oracle/201311/17472

热心网友 时间:2023-11-24 09:43

  ( )段 区段 块

  Oracle中的段segment是占用磁盘存储空间的一个对象 从逻辑上讲一个数据库由若干表空间(TABLESAPCE)组成 每个表空间有若干个表(TABLE) 每个表又可以分为若干数据段(DATA SEGMENT) 索引段等 每个段又可分为若干数据库区间(EXTENT) 每个区间由若干数据块(BLOCK)组成 区段(EXTENT)是最小的分配单 块(BLOCK) 是最小的存储单位

  ( )常见的段类型

   聚簇cluster 分为散列聚簇和B*树聚簇 通常用于存储多个表上的相关数据

  可以在聚簇段中建表 此时这个表可能与其它表同在一个聚簇段中

   表table 表段用于保存一个数据库表的数据 是最常用的段类型 通常与索引段结合使用

   表分区partition或子分区subpartition 主要用于分区 与表段类型

   索引index 这种段类型用于保存索引结构

   Lob分区 子分区 索引 Lob段 用于保存大对象的结构 每个LOB列需要分别创建两个段 一个用于存储CLOB或BLOB的

  实际数据块logsegment 另一个是用于跟踪这些LOB块在哪里的lobindex

   嵌套表nested table 这是为嵌套表指定的段类型

   回滚段 用于存放undo的数据

  ( )段的管理

   手动段空间管理Manual Segment Space Management

  手动设置FreeLists FreeList Groups PctUsed 其它参数来控制如何分配 使用 重用段空间 MSSM是oracle的遗留实现 许多版本都支持MSSM

   自动段空间管理Automatic Segmnet Space Management

  只需要控制与空间使用相关的PctFree 其它参数被忽略 ASSM只有在 i版本后才被引入 用于减少MSSM中的太多参数的管理

  应用于ASSM段的存储设置只有Buffer_Pool PctFree IniTrans MaxTrans( g后的版本都会忽略这个参数) 其它存储和物理属性参数都不适用于ASSM段

  段空间管理是从段的表空间继承来的一个属性 而且段都没有跨表空间 段要使用ASSM就必须位于支持ASSM空间管理的表空间中

   HWM高水平线

  HWM是随着表数据的增长而增长的 只有重建 截除 收缩对象时 HWM才会降低 HWM很重要 因为在oracle进行全表扫描时会扫描HWM下的所有块 即使这张数据库表不包含任何数据

  TrunCate会把表的HWM重新置为 还会截除表上的相关索引 而DELETE整张表时并没有修改HWM 所以如果打算删除表的所有行 应尽量使用TrunCate

  在MSSM表空间中 段只有一个HWM 但在ASSM表空间中 除了HWM外 还有一个低HWM 这是因为在ASSM中 HWM推进时 ORACLE并没有立即格式化所有的物理块 而是只在第一次使用时才会完成格式化 以便安全读取

   freelists

  freelists是使用MSSM表空间时 oracle使用块时 需要把块放在freelist或从freelist中删除 freelists可能对性能有很大的提升或有很大的影响

  而在ASSM中 没有也不用去设置freelist参数

  create tablespace as *** datafile size m autoextend on next m segment space management auto;

  create table xxx( ) tablespace as *** ;

  ( )pctfree与pctused

  PctFree告诉oracle应该在块上保留多少空间来完成将来的更新 默认值是 % 如果自由空间的百分比高于PctFree指定值 这个块就称为自由的 PctUsed告诉oracle应在当前不自由的块上自由空间的百分比需要达到多大时 才能使它再次变为自由的 默认值为 %

  使用MSSM 时 这两个参数设置控制着块何时放入freelist 中 以及何时从freelist 中取出 如果使用默认值 PCTFREE为 PCTUSED为 那么在块到达 %满之前(有 %以上的自由空间) 这个块会一直在freelist 上 一旦到底 % 就会从freelist 中取出 而且直到块上的自由空间超过了块的 %时 才会重新回到freelist上 在此之前 这个块一直不在freelist上

  使用ASSM 时 PCTFREE 仍然会*能否将一个新行插入到一个块中 但是它不会控制一个块是否在freelist上 因为ASSM根本不使用freelist 在ASSM 中 PCTUSED参数将被忽略

  如果把块的PCTFREE 设置得过高 就会浪费空间 如果把PCTFREE 设置为 % 而你从未更新数据 那么每个块都会浪费 %的空间 不过 对行初始很小 现在想将行的大小加倍 这种情况下 %的设置就非常合理 但是倘若PCTFREE 设置得太小 更新行时就会导致行迁移

  高PCTFREE 低PCTUSED

  如果你插入了将要更新的大量数据 而且这些更新会频繁地增加行的大小 此时就适合采用这种设置 这种设置在插入后会在块上预留大量的空间(高PCTFREE) 并使得将块放回到freelist 之前必须几乎为空(低PCTUSED)

  低PCTFREE 高PCTUSED

  如果你只想对表完成INSERT 或DELETE 或者如果你确实要完成UPDATE 但UPDATE 只是缩小行的大小 此时这种设置就很适合

  ( )行迁移row migration

lishixin/Article/program/Oracle/201311/17472
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
64岁的老头感冒了,还喝一瓶啤酒,又喝3包感冒药,吃了3个阿莫西林消炎药... ...今天中午12点喝了一瓶啤酒,不会有反应死了吧? 喝一瓶啤酒吃药没事吧 养育孩子有哪些正确的方式? 联想电脑一开机就蓝屏怎么解决 光遇冥想任务怎么完成_冥想任务攻略 光遇 光遇云野的锦鲤池冥想怎么做? 光遇 光遇在滑冰场旁冥想的任务怎么做? 光遇在仙乡的金塔下冥想任务怎么做 任务达成方法介绍 光遇 光遇在禁阁的神坛旁冥想怎么做? oracle pctfree,pctused表示什么含义有什么作用 梦见和认识的人打群架的预兆 梦见与认识的人打架的预兆 合同审查的方法有哪些 律师审查合同业务一般主要审查哪些内容 梦见买了一辆电动自行车的预兆 东部华侨城有什么买的 描写风雪美景的成语108句 从春天到冬天的成语 描写冬天大地的成语 2020阜阳火车停运最新消息 阜阳到杭州的高铁经过合肥吗? 2020年2月9号由阜阳到杭州的5611班列车有没有停运,现在怎么都查不到这趟车了? 阜阳到杭州的火车票在网上怎么退 阜阳到杭州的火车票查卧铺 阜阳到杭州的火车票多少钱 书到用时方恨少全诗 是什么意思 serial借口怎么绑定以太网通道 25芯串口转rj45定义 梦见开空调的预兆 梦见母猪带一群猪仔的预兆 梦见老母猪和猪仔的预兆 梦见梦里看见母猪带着一群仔的预兆 绑定了手机,怎样找回密码? 我的是手机号,忘记密码怎么找回? 梦见很平安的下坡的预兆 出国旅游常用英语口语有 出入境常用英语? 辑集的解释 一起聚会时发朋友圈的文案个人通用80句 裒缀的解释裒缀的解释是什么 修辞手法在作文中有哪些作用? 修辞手法在写作中有什么作用? 我烦一个人不想听到他声音,感觉听到声音我整个人都要炸了样,是怎么回事? 修辑后的花可以用焕然一新来形容吗 arm7各指令分别是多少字节啊 上班族最容易感冒 教你小妙招 求电信4G覆盖区域 最新的 感冒发热怎么办 上班族如何对抗感冒 python缓存数据除了全局变量