1 2 3 4 下一页 在Oracle数据库中表空间是由段组成的,而段又是由盘区所组成的。通常情况下,在大型数据库中,合理选择盘区的管理方式,能够在很大程度上提高数据库的性能,并减轻数据库管理员的工作量。笔者对此事深有感触。 一、盘区的管理方式。 在Oracle数据库中盘区主要有两种管理模式,分别为目录盘区管理方式和局部盘区管理方式。目录盘区管理方式是一种比较老的管理模式。在这种管理模式下,数据库系统会跟踪数据目录中的自由和已用盘区,并利用递归的SQL语句来修改相关的内容。这种盘区管理模式效率比较低,现在很版本的 Oracle数据库系统虽然还支持这种管理模式,但是不建议使用。为此笔者认为,除非你现在使用的Oracle数据库系统比较旧,只支持目录盘区管理模式。否则的话,还是采用另外一种管理模式为好。 另外一种管理模式就叫做局部盘区管理模式。在这种工作模式下,主要通过位图来跟踪盘区,从而消除了递归SQL带来的效率低下的问题。在 Oracle10G以后的数据库系统中,都支持这种管理模式,而且是Oracle数据库推荐使用的管理方式。而这种管理方式,又可以分为Uniform与 Autoallocate两种。其中,Uniform是告诉数据库系统,利用相同的大小来分配和再分配盘区。此时数据库系统在分配盘区的时候都是以固定大小来分配对。而Autoallocate选项则是告诉数据库,根据实际情况来增量增加盘区的大小。如在Windows操作系统上部署Oracle数据库系统,其操作系统的块大小一般为8KB。此时数据库系统在初始化的时候,会为刚开始的几个盘区(一般为16个盘区)分配比较小的空间,如可能只有64KB。当这个段占用的空间超过这个容量后数据库会再为其分配盘区,不过此时分配盘区的大小可能会8MB。如果还不够还需要增加盘区的话,那么这个盘区的大小可能会达到64MB甚至更多。这种分配方式有什么好处呢?显而易见,当段中所含的数据量越大,由于后续分配对盘区比较大,为此这个段所含总的盘区数量在逐渐减少,从而易于管理。对数据库性能的提升也有很大的帮助。 (责任编辑:admin) |