5.1.2 数据文件的规划
数据文件用来存储数据库中的所有数据,包括表、视图、索引、存储程序等数据库对象。数据文件规划的内容包括表空间的数目、数据文件在磁盘上的分布、数据库对象在表空间中的分布、数据块大小等内容。
数据块的大小对数据库的访问性能有很大的影响。如果数据块太小,那么一次数据访问可能需要读多个数据块,从而增加了硬盘读操作的次数。反之,如果数据块太大,用户真正需要的数据可能只占整个数据块的一小部分,大量无用的数据被读到SGA中,从而浪费了SGA的存储空间。Oracle建议在决策支持型(DSS)的数据库系统中,使用较大的数据块,而在联机事务处理型(OLTP)的数据库系统中,使用较小的数据块。
在创建数据文件时,应该综合考虑数据库服务器读写数据文件的效率。在一个数据库中可以创建多个数据文件。如果计算机中有多块硬盘,应该使这些数据文件分布在不同的硬盘上,这样在读写数据文件时,可以在多个硬盘之间同时进行读写,从而提高了数据库的访问性能。如果不同硬盘的读写速度有差异,应当把访问较频繁的数据文件放在速度相对较快的硬盘上,这样可以从整体上提高访问速度。当然数据文件并不是越多越好,因为数据文件越多,打开它们时就要消耗越多的内存空间。
与数据文件相比,重做日志文件的写操作是相对比较频繁的,所以应当把重做日志文件和数据文件分开存放在不同的硬盘上,而且把重做日志文件放在读写速度较快的硬盘上,以减少硬盘写操作时的冲突次数。从安全的角度来讲,这种做法也是可取的。如果一个硬盘损坏,重做日志文件和数据文件不会同时损坏,数据库管理员可以根据没有损坏的文件进行数据库恢复。