系统硬件的选择与使用
与数据库系统密切相关的硬件主要有cpu、内存、集群、存储设备等,这里不对集群进行讨论。
1、cpu
cpu的数目和速度直接影响数据库操作的速度,oracle数据库提供并行查询选项,允许sql操作以协同方式在多个cpu上执行,可以很大程度的发挥多cpu的性能。为系统添加cpu前,首先要对应用程序的sql代码做优化,提高应用程序的效率,质量低劣的应用可能会引起cpu资源的无谓的消耗;其次,要了解操作系统对cpu数目的限制及系统的可扩展性。在系统cpu资源已定的情况下,要对各类应用进行分析,在保证关键应用正常运行的前提下,尽可能将大量占用cpu资源的应用放在系统相对空闲的时候进行。良好的工作调度可以有效减少对cpu的竞争使用,加快系统的响应时间。
2、内存
数据库系统中,应保证有足够大的内存。在unix系统中,如果系统的物理内存小于1gb,可将交换区的大小设为内存的4倍,否则,可设为内存的2倍,交换区要放在磁盘速度最快的硬盘上。oracle 的sga区大小直接关系到数据库操作的性能,一般来说,sga区的大小可设为系统可用内存的55%到57%,sga区过多占用系统内存反而会降低性能。在应用系统运行中,应定期监测系统的内存使用情况,对关键应用进行分析,根据应用适时调整sga区各部分的大小。oracle9i可在不重新启动数据库的情况下修改sga区的参数,实时改变sga区的大小。
3、存储设备
在网络时代,信息资源的积累和广泛应用对数据存储技术的发展提出了更大的挑战,数据存储模式从传统的总线连接模式进入了网络存储模式。但存储设备依然是硬盘、磁带(带库)、磁盘阵列,在中、小型数据库应用中传统存储模式仍占主导地位。
磁盘i/o是数据库操作的瓶颈之一,磁盘的合理选择和使用在数据库系统中显得尤为重要。在最初做数据库系统规划时,应充分考虑到系统的容量和预期的增长,尽可能为以后的扩展留足空间。在硬盘和磁盘阵列的选择与使用中,应注意以下几点:
·选择支持热插拔功能的硬盘,这样在出现硬盘oracle 平台应用数据库系统的设计与开发失败时,可以在系统正常运行的情况下更换硬盘;
·不要选择太大的硬盘,切记对oracle 应用程序,1~4gb大小的硬盘是比较合适的,最好购买大量的中小型硬盘,这样在配置raid时可提供更大的灵活性;
·如果选用了磁盘阵列,对于oracle数据库应用,如果经费能够支持,raid 0+1是最佳的配置方法。在raid 5中,读操作性能得到了一定的改善,但写性能损失很大,如果某个硬盘失败,硬盘重建的工作量非常大,raid 5 适用于dss(决策支持系统)应用,对oltp应用不太合适。