这文章写得很好,很适合我这种初学都看所以就转了。
原文地址:http://blog.sina.com.cn/s/blog_555948f801008xxz.html
(1)段、区段、块
Oracle中的段segment是占用磁盘存储空间的一个对象。从逻辑上讲一个数据库由若干表空间(TABLESAPCE)组成,每个表空间有若干个表(TABLE),每个表又可以分为若干数据段(DATA SEGMENT),索引段等,每个段又可分为若干数据库区间(EXTENT),每个区间由若干数据块(BLOCK)组成。区段(EXTENT)是最小的分配单。块(BLOCK) 是最小的存储单位。
(2)常见的段类型
1聚簇cluster:分为散列聚簇和B*树聚簇,通常用于存储多个表上的相关数据。
可以在聚簇段中建表,此时这个表可能与其它表同在一个聚簇段中。
2表table:表段用于保存一个数据库表的数据,是最常用的段类型,通常与索引段结合使用。
3表分区partition或子分区subpartition:主要用于分区,与表段类型。
4索引index:这种段类型用于保存索引结构。
5Lob分区、子分区、索引、Lob段:用于保存大对象的结构。每个LOB列需要分别创建两个段,一个用于存储CLOB或BLOB的
实际数据块logsegment,另一个是用于跟踪这些LOB块在哪里的lobindex。
6嵌套表nested table,这是为嵌套表指定的段类型。
7回滚段,用于存放undo的数据。
(3)段的管理
3.1手动段空间管理Manual Segment Space Management
手动设置FreeLists、FreeList Groups、PctUsed、其它参数来控制如何分配、使用、重用段空间。MSSM是oracle的遗留实现,许多版本都支持MSSM。
3.2自动段空间管理Automatic Segmnet Space Management
只需要控制与空间使用相关的PctFree,其它参数被忽略。ASSM只有在9i版本后才被引入,用于减少MSSM中的太多参数的管理。
应用于ASSM段的存储设置只有Buffer_Pool、PctFree、IniTrans、MaxTrans(10g后的版本都会忽略这个参数),其它存储和物理属性参数都不适用于ASSM段。
段空间管理是从段的表空间继承来的一个属性,而且段都没有跨表空间,段要使用ASSM就必须位于支持ASSM空间管理的表空间中。
3.3HWM高水平线
HWM是随着表数据的增长而增长的;只有重建、截除、收缩对象时,HWM才会降低。HWM很重要,因为在oracle进行全表扫描时会扫描HWM下的所有块,即使这张数据库表不包含任何数据。
TrunCate会把表的HWM重新置为0,还会截除表上的相关索引,而DELETE整张表时并没有修改HWM,所以如果打算删除表的所有行,应尽量使用TrunCate。
在MSSM表空间中,段只有一个HWM。但在ASSM表空间中,除了HWM外,还有一个低HWM。这是因为在ASSM中,HWM推进时,ORACLE并没有立即格式化所有的物理块,而是只在第一次使用时才会完成格式化,以便安全读取。
3.4freelists
freelists是使用MSSM表空间时,oracle使用块时,需要把块放在freelist或从freelist中删除,freelists可能对性能有很大的提升或有很大的影响。
而在ASSM中,没有也不用去设置freelist参数:
create tablespace assm datafile size 10m autoextend on next 1m segment space management auto;
create table xxx(......) tablespace assm;
(4)pctfree与pctused
PctFree告诉oracle应该在块上保留多少空间来完成将来的更新,默认值是10%。如果自由空间的百分比高于PctFree指定值,这个块就称为自由的。PctUsed告诉oracle应在当前不自由的块上自由空间的百分比需要达到多大时,才能使它再次变为自由的,默认值为40%。
使用MSSM 时,这两个参数设置控制着块何时放入freelist 中,以及何时从freelist 中取出。如果使用默认值:PCTFREE为10,PCTUSED为40,那么在块到达90%满之前(有10%以上的自由空间),这个块会一直在freelist 上。一旦到底90%,就会从freelist 中取出,而且直到块上的自由空间超过了块的60%时,才会重新回到freelist上,在此之前,这个块一直不在freelist上。
使用ASSM 时,PCTFREE 仍然会限制能否将一个新行插入到一个块中,但是它不会控制一个块是否在freelist上,因为ASSM根本不使用freelist。在ASSM 中,PCTUSED参数将被忽略。
如果把块的PCTFREE 设置得过高,就会浪费空间。如果把PCTFREE 设置为50%,而你从未更新数据,那么每个块都会浪费50%的空间。不过,对行初始很小,现在想将行的大小加倍,这种情况下50%的设置就非常合理。但是倘若PCTFREE 设置得太小,更新行时就会导致行迁移。
高PCTFREE,低PCTUSED
如果你插入了将要更新的大量数据,而且这些更新会频繁地增加行的大小,此时就适合采用这种设置。这种设置在插入后会在块上预留大量的空间(高PCTFREE),并使得将块放回到freelist 之前必须几乎为空(低PCTUSED)。
低PCTFREE,高PCTUSED
如果你只想对表完成INSERT 或DELETE,或者如果你确实要完成UPDATE,但UPDATE 只是缩小行的大小,此时这种设置就很适合。
(5)行迁移row migration
行迁移是指由于某一行变得太大,无法再与其余的行一同放在创建这一行的块中(块中已经放不下这一行),这就要求这一行离开原来的块。行迁移只会影响性能。
图10-3:原来的块上有1/7的自由空间,第4行也占用块上1/7的空间,现在假定想把第4行update为原来的两倍大小;
图10-4:此时,即使oracle合并了自由空间,自由空间还是小于第4行的当前大小,
所有oracle并没有合并自由空间,块仍保持原样;
图10-5:由于容纳不了新第4行的大小,所以oracle会移动或迁移这一行。
当然也不是简单移动,oralce必须留下一个转发地址(指针);
分享到:
相关推荐
Oracle数据库管理分析过程.pptx
本文为大家介绍了甲骨文向参与...利用Oracle企业管理10g的系统功能,一群Linux服务器可以组成一个专门的、具有其他应用服务组件的组,这样就可在应用服务级实施全面的性能和健康监控,如自动进行根本原因分析等。
awr往往是分析数据库性能得重要参照,这个是oracle的awr的分析总结,教你如何看awr分析数据库性能问题。
1.2.3 怎样配置符合 OFA 的 Oracle 文件 系统 1.3 规划数据库文件布局 1.3.1 最大化可用性的规划 1.3.2 最小化磁盘争用的规划 1.4 建立参数文件 1.4.1 配置参数的一些注意事项 1.4.2 建立参数文件的连接 ...
成熟高效的身份管理平台,提供从后端帐户同步管理到前端单点登 录的端对端完整解决方案。 – 对Oracle企业应用天然的集成能力,包括Oracle EBS / PSFT / BIEE / Hyperion等,并提供细粒度的权限管理及分配功能。 – ...
详细描述了Oracle Spatial所提供的用于存储、检索、分析和可视化空间信息的工具。《Oracle Spatial空间信息管理:Oracle Database 11g》还提供了丰富的样本数据、例子和提示,以帮助读者方便地将上述概念和工具结合到...
从一个“普通”的Oracle DBA(Oracle数据库管理员)转变为Oracle Applications DBA(Oracle应用程序数据库管理员),有两个内容你必须去弄清楚。第一个内容是如何成为一个Oracle Applications DBA(Oracle应用程序...
《Oracle Spatial空间信息管理:Oracle Database 11g》是世界级Oracle Spatial专家Ravi Kothuri、Albert Godfrind和Euro Beinat自力作,旨在向您提供空间信息管理方面的概念知识和实用技能,帮助您成为该领域的专家...
此文档是笔者在多年实际工作中,对经常用到的oracle技术内容做了一下整理,文档...涵盖了表空间及用户的管理,数据库的常用启停命令,常见的系统视图功能查询,awr报告的生成,性能分析诊断,数据泵的导入导出操作等。
《oracle fusion middleware 11g架构与管理》完整讲解了oracle fusion middleware组件,并展示了核心用例、最佳实践和逐步分析的管理指南。您将学到如何提供服务器和群集、配置web服务、管理门户和优化oracle fusion...
oracle管理
一组oracle数据库的关于密码、管理、恢复、数据对象分析等的文档。
而万能数据库查询分析器《DB 查询分析器》的强大功能、友好的操作界面、良好的操作性、跨越数据库平台,使得使用它来进行各种关系数据库系统的维护、管理与开发变得非常经松。下面我们就通过具体的实例来介绍如何...
本书以笔者多年积累的实际经验分析数据库管理员的工作职责。详细介绍Oracle数据库系统的运作原理与组成架构;针对常用的“基本对象”及延伸应用的“高可用性对象”提供详尽说明;详解Oracle数据库的安装、建置,以及...
详细描述了Oracle Spatial所提供的用于存储、检索、分析和可视化空间信息的工具。本书还提供了丰富的样本数据、例子和提示,以帮助读者方便地将上述概念和工具结合到实际应用中。全书结构合理清晰,内容全面丰富,...
Oracle数据库管理的优化措施分析.pdf