Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103233
  • 博文数量: 30
  • 博客积分: 300
  • 博客等级: 二等列兵
  • 技术积分: 253
  • 用 户 组: 普通用户
  • 注册时间: 2011-12-08 00:35
文章分类

全部博文(30)

文章存档

2012年(16)

2011年(14)

我的朋友

分类:

2012-02-15 10:49:58

一、 行迁移/行链接的简介

在实际的工作中我们经常会碰到一些Oracle数据库性能较低的问题,当然,引起Oracle数据库性能较低的原因是多方面的,我们能够通过一些正确的设计和诊断来尽量的避免一些Oracle数据库性能不好,Row Migration (行迁移) & Row Chaining (行链接)就是其中我们可以尽量避免的引起Oracle数据库性能低下的潜在问题。通过合理的诊断行迁移/行链接,我们可以较大幅度上提高Oracle数据库的性能。

那究竟什么是行迁移/行链接呢,先让我们从Oracle的block开始谈起。

操作系统的最小读写操作单元是操作系统的block,所以当创建一个Oracle数据库的时候我们应该讲数据库的block size设置成为操作系统的block size的整数倍,Oracle block是Oracle数据库中读写操作的最小单元,Oracle9i之前的Oracle数据库版本中Oracle block一旦在创建数据库的时候被设定后就没法再更改。为了在创建数据库之前确定一个合理的Oracle block的大小,我们需要考虑一些因素,例如数据库本身的大小以及并发事务的数量等。使用一个合适的Oracle block大小对于数据库的调优是非常重要的。Oracle block的结构如下图所示:

由上图我们可以看出,一个Oracle block由三个部分组成,分别是数据块头、自由空间、实际数据三部份组成。

数据块头:主要包含有数据块地址的一些基本信息和段的类型,以及表和包含有数据的实际行的地址。

自由空间:是指可以为以后的更新和插入操作分配的空间,大小由PCTFREE和PCTUSED两个参数影响。

实际数据:是指在行内存储的实际数据。

阅读(1382) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~