日期:2014-05-16  浏览次数:20518 次

关系型数据库(Oracle)性能优化(一)

? ? 为了保证Oracle数据库运行在最佳的性能状态下,在信息系统开发之前就应该考虑数据库的优化策略。

? ? 优化策略一般包括服务器操作系统参数调整数据库参数调整网络性能调整应用程序SQL语句分析及设计等几个方面。


? ? 分析评价Oracle数据库性能主要有数据库吞吐量数据库用户响应时间两项指标。数据库用户响应时间又可以分为系统服务时间和用户等待时间两项,即:数据库用户响应时间=系统服务时间+用户等待时间 ??

? ? 因此,获得满意的用户响应时间有两个途径:

? ? ? 一是减少系统服务时间,即提高数据库的吞吐量;

? ? ? 二是减少用户等待时间,即减少用户访问同一数据库资源的冲突率。 ? ??


一、硬件方面


? ??数据库的硬件配置:CPU、内存、网络条件。


? ? 1. CPU:在任何机器中CPU的数据处理能力往往是衡量计算机性能的一个标志,并且ORACLE是一个提供并行能力的数据库系统,在CPU方面的要求就更高了,如果运行队列数目超过了CPU处理的数目,性能就会下降,我们要解决的问题就是要适当增加CPU的数量了,当然我们还可以将需要许多资源的进程KILL;

? ? ? ?CPU是服务器的一项重要资源,服务器良好的工作状态表现为在工作高峰时CPU的使用率高于90%。如果空闲时间CPU使用率就在90%以上,说明服务器缺乏CPU资源;如果工作高峰时CPU使用率仍然很低,则说明服务器CPU 资源还比较充足。 ??

  2. 内存:衡量机器性能的另外一个指标就是内存的多少了,在ORACLE中内存和我们在建数据库中的交换区进行数据的交换,读数据时,磁盘I/O必须等待物理I/O操作完成,在出现ORACLE的内存瓶颈时,我们第一个要考虑的是增加内存,由于I/O的响应时间是影响ORACLE性能的主要参数。

? ? ? ? ?内存参数的调整主要是指Oracle数据库的系统全局区(SGA)的调整。SGA主要由3部分构成:共享池、数据缓冲区、日志缓冲区。共享池由两部分构成:共享SQL区和数据字典缓冲区。共享SQL区是存放用户SQL命令。

  3. 网络条件:NET*SQL负责数据在网络上的来往,大量的SQL会令网络速度变慢。比如10M的网卡和100的网卡就对NET*SQL有非常明显的影响,还有交换机、集线器等等网络设备的性能对网络的影响很明显,建议在任何网络中不要试图用3个集线器来将网段互联。


? ? ?调整操作系统参数?

? ? ? ? 例如:运行在Unix操作系统上的?Oracle数据库,可以调整?Unix数据缓冲区的大小、每个进程所能使用的内存大小等参数。

? ??调整硬盘I/O

? ? ? ? 数据库管理员可以将组成同一个表空间的数据文件放在不同的硬盘上,做到硬盘之间I/O?负载均衡。

? ??调整服务器内存分配?