[计算机软件及应用]Oracle中 HWM与数据库性能的探讨.docVIP

[计算机软件及应用]Oracle中 HWM与数据库性能的探讨.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[计算机软件及应用]Oracle中 HWM与数据库性能的探讨.doc

Oracle中 HWM与数据库性能的探讨 oracle中关于table的HWM的内容,主要包括这样几个内容: 什么是HWM? HWM是如何移动的。 HWM对于性能的影响 何时应该降低以及如何降低HWM 其他一些影响HWM的操作 除了特殊注明,本章内容所有的实验都基于:win2000,oracle9201,bolcksize 8K的实验环境。 ? 一、什么是HWM HWM(high water mark),高水标记,这个概念在segment的存储内容中是比较重要的.简单来说,HWM就是一个segment中已使用和未使用的block的分界线. 在oracle的concept中对于HWM的说明是这样的:在一个segment中,HWM是使用和未使用空间的分界线。当请求新的空闲块,并且现有空闲列表中的块不能满足要求时,HWM指向的块将被标记为已使用,然后HWM将移动指向下一个未使用过的块。 我们知道,在oracle中,存储数据的最小单元是block,对于一个segment(table或index),都是由很多的block组成的,这些block的状态分为已使用和未使用两种,一般来说,在HWM之下的block都是存储过数据的. 如图: ? 从上面的图,我们就能很清楚的看到,一个segment中的block的分布情况。在HWM左边的block是已使用的,或者说是可以用来存储数据的。而HWM右边的block是不能用来存储数据的。当HWM左边的block空间都使用完之后,还有新的数据需要存储,怎样处理呢?这时oracle会向右移动HWM,即把右边的没有使用的block移到HWM的左边,这时HWM左边的block就增加了,那么就有新的block空间可供使用了。 ? Oracle从9i开始,推出了新的一种segment的空间管理方式,即ASSM(auto segment space management)。这种segment在空间管理上和以前的FLM(freelist management)是不一样的。这里我们简单地介绍一下。 在FLM模式下,对于一个segment的HWM下的所有block空间的使用,是通过freelist来管理的,freelist位于segment的第一个extent中。一个block何时应该位于freelist之上,取决于PCTUSED和PCTFREE这样两个参数。基于freelist管理模式和位于segment header的情况,如果对一个segment进行高并发的频繁的DML操作,不可避免的出现header争用的情况,虽然我们可以采用增加freelists或freelist group的方式来缓解这种状况。 那么从oracle92开始,推出了ASSM这样一种全新的segmeng空间管理的方式(又称为Bitmap Managed Segments), freelist被位图所取代,使用位图来管理block的空间使用状况,并且这些位图块分散在segment中。ASSM管理的segment会略掉任何为PCTUSED、NEXT和FREELISTS所指定的值。 使用ASSM也有一定的局限性: ASSM只能位于Local Manage的tablespace之上; 不能够使用ASSM创建临时的tablespace; LOB对象不能在一个指定进行自动段空间管理的tablespace中创建。 ? 以上我们简单地介绍了ASSM和FLM的概念和区别,接下来,我们来看看这两种segmeng空间管理模式在HWM的处理上有什么不同。 ? 二、初始创建的table中HWM的不同情况 ? FLM管理的table:我们先创建名为HWM的tablespace,指定非自动段空间管理,extent大小为40K。并在上面创建table TEST_HWM,PCTFREE 40 PCTUSED 20。 SQL connect dlinger/dlinger@oracle9i_dl 连接到: Oracle9i Enterprise Edition Release .0 - Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release .0 - Production ? SQL CREATE TABLESPACE HWM DATAFILE D:\ORACLE\ORADATA\ORACLE9I\HWM.dbf SIZE 50M uniform size 40K; ? 表空间已创建。 ? SQL select TABLESPACE_NAME,BLOCK_SIZE,EXTENT_MANAGEMENT, 2 ALLOCATION_TYPE, SEGMENT_SPA

文档评论(0)

czy2014 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档