【IT168 专稿】今天,数据库的使用已经深入到了各个行业的方方面面,随着大型数据库应用的增加,动辄涉及到TB级数据量的存储与读取,数据库的读写效率日益成为整体系统的瓶颈所在。越来越多的系统管理员已经意识到:提高数据库的读写速度,走出海量数据和访问量压力的瓶颈,是提高整体系统的运行效率的关键。
在这里,笔者将向大家介绍使用磁盘管理工具给Oracle提速的一些方法。当我们希望给Oracle提速的时候,我们首先必须了解在oracle运行过程中,瓶颈来自于哪些方面,我们通过哪些方面去给Oracle提速。
瓶颈来自于哪里
一、 操作系统的单写锁
首先我们知道,Unix系统是一个多用户的操作系统,为了保持文件的一致性,操作系统一般会在某个用户对数据库进行读写操作的时候,为该文件加一个单写锁(single write lock),这样可以避免其它人继续操作这个文件,可以保证数据文件的可靠性。
但是加锁和解锁的过程如此复杂,在获得文件一致性和安全性的同时,牺牲掉了大量的系统性能,有什么办法可以既保证数据库系统的文件一致性,又不致于浪费掉大量的系统性能呢?
二、写缓存和磁盘读写
我们知道,在数据库的数据在读写的时候,首先都需要经过缓存,缓存命中率对于数据库的读写效率起着至关重要的作用。那么我们如何提高缓存的命中率呢?
一般数据库在读写的时候都会保存一份cache,然而文件系统在读写系统文件的时候也会生成一份cache,这样缓存中就会留有冗余的数据,影响缓存使用的利用率。我们怎样消除缓存中这部分冗余的数据呢?
三、提高磁盘读写效率
在Oracle 9i版本以后,Oracle本身都自带有磁盘管理组件(Oracle disk manager)来管理数据文件,提高I/O吞吐量,不过本文将为大家介绍另外一种磁盘管理工具,能够进一步优化磁盘数据结构,提高数据吞吐量。大家有兴趣,可对两种系统优化工具进行一下对比测试。