Oracle 性能优化
影响 ORACLE 性能的源头非常多,主要包括如下方面:数据库的硬件配置 :CPU、内
存、网络条件。
1. CPU:在任何机器中 CPU 的数据处理能力往往是衡量计算机性能的一个标志,
并且 ORACLE 是一个提供并行能力的数据库系统,在 CPU 方面的要求就更高了,如
果运行队列数目超过了 CPU 处理的数目,性能就会下降,我们要解决的问题就是要适
当增加 CPU 的数量了,当然我们还可以将需要许多资源的进程 KILL 掉;
2. 内存:衡量机器性能的另外一个指标就是内存的多少了,在 ORACLE 中内存和
我们在建数据库中的交换区进行数据的交换,读数据时,磁盘 I/O 必须等待物理 I/O 操
作完成,在出现 ORACLE 的内存瓶颈时,我们第一个要考虑的是增加内存,由于 I/O
的响应时间是影响 ORACLE 性能的主要参数,我将在这方面进行详细的讲解
3.网络条件:NET*SQL 负责数据在网络上的来往,大量的 SQL 会令网络速度变慢。
比如 10M 的网卡和 100 的网卡就对 NET*SQL 有非常明显的影响,还有交换机、集线
器等等网络设备的性能对网络的影响很明显,建议在任何网络中不要试图用 3 个集线
器来将网段互联。
一、OS 参数的设置
下表给出了 OS 的参数设置及说明,DBA 可以根据实际需要对这些参数进行设置
内核参数名
说明
bufpages
$ 对 bu%er 空间不按静态分配,采用动态分配,使 bufpages 值随 nbuf 一起对
bu%er 空间进行动态分配。
create_fastlinks
$$$ 对 HFS 文件系统允许快速符号链接
dbc_max_pct
加大最大动态 bu%er 空间所占物理内存的百分比,以满足应用系统的读写命中率
的需要。
dbc_min_pct
设置最小动态 bu%er 空间所占物理内存的百分比
desfree
提高开始交换操作的最低空闲内存下限,保障系统的稳定性,防止出现不可预见
的系统崩溃(Crash)。Û
fs_async
允许进行磁盘异步操作,提高 CPU 和磁盘的利用率
lotsfree
提高系统解除换页操作的空闲内存的上限值,保证应用程序有足够的可用内存空
间。