db_block_sizes设多大合适呢,急问
目前要建一个B/S模式的MIS系统,
dbms是ORACLE9i,
数据库存储大小据估算应该有90-100G,
表有150-200个,
记录数最多的表可能也不会超过1000万,
数据量大的原因是因为有一个存图像的表,
每个图像大约500K左右,
客户端有100个左右
象这样的系统,一般db_block_sizes设多大合适呢
问题点数:100、回复次数:5Top
1 楼LGQDUCKY(飘)回复于 2005-06-06 18:09:55 得分 40
安装数据库的时候,块已经是默认了(9I默认是8M),不建议去修改,
调整其他影响SGA的参数就行了Top
2 楼wangybyangxr(王永斌)回复于 2005-06-06 18:46:18 得分 0
操作系统的最小读写操作单元是操作系统的block,所以当创建一个Oracle数据库的时候我们应该讲数据库的block size设置成为操作系统的block size的整数倍,Oracle block是Oracle数据库中读写操作的最小单元,Oracle9i之前的Oracle数据库版本中Oracle block一旦在创建数据库的时候被设定后就没法再更改。为了在创建数据库之前确定一个合理的Oracle block的大小,我们需要考虑一些因素,例如数据库本身的大小以及并发事务的数量等。使用一个合适的Oracle block大小对于数据库的调优是非常重要的。
一个Oracle block由三个部分组成,分别是数据块头、自由空间、实际数据三部份组成。 数据块头:主要包含有数据块地址的一些基本信息和段的类型,以及表和包含有数据的实际行的地址。 自由空间:是指可以为以后的更新和插入操作分配的空间,大小由PCTFREE和PCTUSED两个参数影响。 实际数据:是指在行内存储的实际数据。 当创建或者更改任何表和索引的时候,Oracle在空间控制方面使用两个存储参数: PCTFREE:为将来更新已经存在的数据预留空间的百分比。 PCTUSED:用于为插入一新行数据的最小空间的百分比。这个值决定了块的可用状态。可用的块时可以执行插入的块,不可用状态的块只能执行删除和修改,可用状态的块被放在freelist中。 当表中一行的数据不能在一个数据block中放入的时候,这个时候就会发生两种情况,一种是行链接,另外一种就是行迁移了.
行链接产生在第一次插入数据的时候如果一个block不能存放一行记录的情况下。这种情况下,Oracle将使用链接一个或者多个在这个段中保留的block存储这一行记录,行链接比较容易发生在比较大的行上,例如行上有LONG、LONG RAW、LOB等数据类型的字段,这种时候行链接是不可避免的会产生的。 当一行记录初始插入的时候事可以存储在一个block中的,由于更新操作导致行长增加了,而block的自由空间已经完全满了,这个时候就产生了行迁移。在这种情况下,Oracle将会迁移整行数据到一个新的block中(假设一个block中可以存储下整行数据),Oracle会保留被迁移行的原始指针指向新的存放行数据的block,这就意味着被迁移行的ROW ID是不会改变的。 当发生了行迁移或者行链接,对这行数据操作的性能就会降低,因为Oracle必须要扫描更多的block来获得这行的信息。Top
3 楼wangybyangxr(王永斌)回复于 2005-06-06 18:49:23 得分 20
行链接主要是由于数据库的db_block_size不够大,对于一些大的字段没法在一个block中存储下,从而产生了行链接。对于行链接我们除了增大db_block_size之外没有别的任何办法去避免,但是因为数据库建立后db_block_size是不可改变的(在9i之前),对于Oracle9i的数据库我们可以对不同的表空间指定不同的db_block_size,因此行链接的产生几乎是不可避免的,也没有太多可以调整的地方。
行迁移则主要是由于更新表的时候,由于表的pctfree参数设置太小,导致block中没有足够的空间去容纳更新后的记录,从而产生了行迁移。对于行迁移来说就非常有调整的必要了,因为这个是可以调整和控制清除的。
以上内容供楼主参考。Top
4 楼tyrone98(林林)回复于 2005-06-06 19:39:18 得分 20
db_block_size 最主要是和你的应用有关,如果你是OLTP的应用,也就是每一次查询基本都是以主键查询,你可以使用较小的db_block_size,如果是OLAP则需要使用较大的db_block_sizeTop
5 楼bzszp(SongZip)回复于 2005-06-07 08:19:00 得分 20
如果系统将要经常做大量数据读取,则block_size大一些比较好,这样每个块可以存放多个行,减少了I/OTop




