0.10g段对象与存储(40页).ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
0.10g段对象与存储(40页)

Oracle 数据库设计 Oracle RDBMS 应用系统优化设计与调整 知识回顾 赵元杰 2008.05.10 Zyj5681@ 提要: Oracle数据库块结构 数据库主要对象创建要点 Oracle 数据库表空间 Oracle 数据库块结构 块的结构 表在块的存放 索引在块中的存放 Cluster在块中的存放 块的大小 块大小在安装时选择 不同的Oracle版本允许块大小不一样 目前块大小可以2k~32K Oracle9i在表空间中块大小可变 安装时所选择的块大小为基本块大小 块大小要根据OS决定 Oracle块的太大不要比OS的块还小 Oracle的块大小影响到性能 Oracle 块内部详细结构 块内部可存放段的类型 数据段(Data segment): 存放tables,triggers等 索引段(Index segment): 存放indexes 临时段(Temporary segment):存放排序和临时表 回滚段(Rollback segment): 存放undo data LOB段(LOB segment): 与表的基本数据分开的LOB数据 理论: PCTFREE, PCTUSED 表数据行在块中的存储 CREATE TABLE 语句不要忘记下面参数: PCTFREE每个块用于update的百分比(1-99) PCTUSED每个块保留的可用空间的最小百分比 INITRANS 每个块中分配的事务入口的初始数1-255(默认1) MAXTRANS 用于更新分配给表的数据块的并发事务的最大数. 创建表时不给出PCTFREE和PCTUSED参数,则Oracle系统自动分配: PCTFREE 为 10 ; PCTUSED 为 40 ; 表数据行在块中的存储 对表进行INSERT和DELETE及UPDATE时,系统参考PCTFREE和PCTUSED参数进行: Oracle9i/10g pctused PCTFREE PCTFREE与自由空间管理不相关 在FLM 或 ASSM ,可忽略PCTFREE参数的设置 PCTFREE设置更新所需空间;防止/减少行的迁移 因为行迁移要源块和实际的块 对于全表扫描来说,行迁移影响问题不大,总是全读 懒汉不设置pctfree 产生行迁移 这是有意的行为 哪怕只增加1字节 目标是 每个块100%被使用,哪怕一个bit也不浪费 每个表的新数据行都找到一个新块 PCTFREE需要的理由 在ASSM下,PCTFREE有6种状态: 0=unformatted 1 = logically full 2 = 0-25% free移 3 = 25-50% free 4 = 50%-75% free 5=75-100% free 当块被填满到1级时,它的位向量被更新为自由的(freeness ) 当一个块填满90%时,它的FS设置为0-25% free 当一个块的自由低于pctfree时,则填“FULL” 在 9.2 ,可用10612 ,10613事件跟踪块的状态 PCTUSED PCTUSED纯粹是用于空间管理; PCTUSED可帮助减少FREELIST的处理频率; 在ASSM中,虽然你没有指定pctused,但是其内部仍然存在; 如果块是处在低于pctfree之下,则该块被清除为“logically full ” 假如pctfree=10%,则该块正被填25%,50%,75%及100%的任意一个状态 ASSM 自动分段空间管理 (ASSM) 消除了计算 PCTUSED、FREELISTS 和 FREELIST GROUPS 的复杂过程 允许实例进行空间的动态清理,避免了可用列表组固有空间的硬分区。 避免了并发访问时的争用,并优化了空间使用。 不需要任何维护。 使您能够支持任意数量的实例,而不用对对象作任何更改。 使用在线重新构建功能,将对象从可用列表组移到 ASSM。 在 DBCA 中自动配置 在ASSM下的规划 INITIAL还是很重要: Oracle系统无法知道你的表或索引一开始就占多少空间 initial 就是一个年数据量问题; Next可不指定,Oracle系统自己调整。 ASSM下LOB类型与大表还是要专门计算: Oracle系统对一般的表或索引的空间管理可自动进行; 对LOB及大表你自己精确估计. 在ASSM下的表空间创建 创建ASSM表空间: 移植到ASSM表空间: 是否是自动段管理,要看DBA_TABLESPACE中的SEGMENT_SPACE_MANAGEMENT 列的值:AUTO/MANUAL CREATE TABLE语法… 创建表和索引要指定存储参数 存储参数一般格式: STORAGE (initial xx M

文档评论(0)

asd522513656 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档