段头块的结构和包含的信息

转载 2013年12月03日 09:28:48

TOP 第十二章 之 段头块的争用

继续贴出 Troubleshooting Oracle Performance 一书第十二章《优化物理设计》的翻译稿的部分节录。最近真是筋疲力竭。翻译不止是考验技术水平、英文水平、中文驾驭能力,还有耐心和信心。



段头块的争用

每个表和索引段都会有一个头数据块(header block)。这个数据块包含以下元数据:关于这个段的高水位(highwatermark)的信息,组成这个段的区间(extent)的列表以及关于空闲空间的信息。为了管理空闲空间,根据使用的段空间管理方式的不同,头数据块会含有一个空闲列表(freelist)或者一组包含自动段空间管理(automatic segment space management)的信息的数据块。比较典型的情况是,段头数据块在多个进程并发地修改其内容时会发生争用。注意,头数据块在以下几种情形下将会发生修改:

  • 插入语句使得有必要提高高水位
  • 插入语句使得有必要分配新的区间
  • 删除、插入或更新语句使得有必要修改空闲列表

解决这些问题的一个可能思路是,对这个段进行分区以将压力分布到多个段头块上去。虽然有时候根据负载以及分区键值(partition key)其它的分区方式也可以实现,但是在大部分时候,可以通过散列分区实现这一点。然而,如果是由于第二或第三种情形导致这个问题,还可以使用其它的解决办法。对于第二种情形,可以使用更大的区间(extent)来解决。这样,新的区间分配将很少发生。对于第三种情形,空闲队列(freelist)可以被空闲队列组(freelist group)移动到其它数据块,这对于使用自动段空间管理模式(automatic segment space management)的表空间不适合。事实上,在使用多个空闲列表组的时候,空闲列表就不再被存储在段头数据块(segment header block)中了(它们被分布到与参数FREELIST GROUPS数量一致的数据块中,这样在它们上面的争用将减少,而不仅仅是将争用移往别处而已)。另一个可能是使用自动段空间管理的表空间而不是空闲列表段空间管理的表空间。

注意:长期存在一个关于Oracle数据库引擎的神话是,空闲列表组只有在使用RAC(Real Application Cluster)的时候才是有用的。大谬。空闲列表组在任何数据库中都是有用的。之所以特别强调这一点是因为我看到听到这种错误信息太多次了。

相关文章推荐

Ogre的模型.mesh里面包含了什么信息(也就是说结构是怎样的呢)?

Ogre的模型.mesh里面包含了什么信息(也就是说结构是怎样的呢)? A: OgreMeshSerializer.cpp MeshSerializer::importMesh ...

解析中国国家气象局天气预报信息接口 xml文件,包含省市县三层结构

最近在做一个基于天气预报的app,解析的是xml文件格式如下。 ...

Uboot学习笔记①---(文件目录结构、README摘要、uImage的64字节头信息)

Directory Hierarchy: ==================== /arch            Architecture specific files   /arm  ...

SQL 查询表结构信息+表字段注释

--查询表结构信息: SELECT (case when a.colorder=1 then (i.[name]+'.'+d.[name]) else '' end) 表名, a.name 字段...

在.Net MVC结构API接口中判断http头信息实现公共的权限验证过滤器示例

//control   action public class TestController : ApiController { [MyAuthFilter] public string test...

lucene结构详解之一段的元数据信息segments_N

1.lucene整体结构如下图: 2.正向信息 2.1段的元数据信息segments_N   segments_N的具体格式如下图:    1)  Format:     (1...
  • july_2
  • july_2
  • 2012年09月19日 15:08
  • 1727

批量网页结构化信息下载

  • 2013年05月02日 10:54
  • 5KB
  • 下载

获取网络接口信息——ioctl()函数与结构体struct ifreq、 struct ifconf

转载请注明出处:windeal专栏 Linux 下 可以使用ioctl()函数 以及 结构体 struct ifreq  结构体struct ifconf来获取网络接口的各种信息。 io...
  • Windeal
  • Windeal
  • 2014年09月16日 17:57
  • 8158
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:段头块的结构和包含的信息
举报原因:
原因补充:

(最多只允许输入30个字)