在一般的情况下我们为了保证Oracle 数据库在运行***的状态下,在相关的信息系统的开发前我们就应该数据库的优化策略有更好的考虑。优化策略一般包括服务器操作系统参数调整、Oracle 数据库参数调整、网络性能调整、应用程序SQL语句分析及设计等几个方面。
其中应用程序的分析与设计是在信息系统开发之前完成的。
分析评价Oracle 数据库性能主要有数据库吞吐量、数据库用户响应时间两项指标。数据库吞吐量是指单位时间内数据库完成的SQL语句数目;数据库用户响应时间是指用户从提交SQL语句开始到获得结果的那一段时间。数据库用户响应时间又可以分为系统服务时间和用户等待时间两项,即:
数据库用户响应时间=系统服务时间 + 用户等待时间
上述公式告诉我们,获得满意的用户响应时间有两个途径:一是减少系统服务时间,即提高数据库的吞吐量;二是减少用户等待时间,即减少用户访问同一数据库资源的冲突率。
性能优化包括如下几个部分:
Oracle 数据库性能优化之一:调整数据结构的设计。
这一部分在开发信息系统之前完成,程序员需要考虑是否使用Oracle 数据库的分区功能,对于经常访问的数据库表是否需要建立索引等。
Oracle 数据库性能优化之二:调整应用程序结构设计。
这一部分也是在开发信息系统之前完成,程序员在这一步需要考虑应用程序使用什么样的体系结构,是使用传统的Client/Server两层体系结构,还是使用Browser/Web/Database的三层体系结构。不同的应用程序体系结构要求的数据库资源是不同的。
Oracle 数据库性能优化之三:调整数据库SQL语句。
应用程序的执行最终将归结为数据库中的SQL语句执行,因此SQL语句的执行效率最终决定了Oracle 数据库的性能。Oracle 公司推荐使用Oracle 语句优化器(Oracle Optimizer)和行锁管理器(row-level manager)来调整优化SQL语句。
Oracle 数据库性能优化之四:调整服务器内存分配。
内存分配是在信息系统运行过程中优化配置的,数据库管理员可以根据数据库运行状况调整数据库系统全局区(SGA区)的数据缓冲区、日志缓冲区和共享池的大小;还可以调整程序全局区(PGA区)的大小。需要注意的是,SGA区不是越大越好,SGA区过大会占用操作系统使用的内存而引起虚拟内存的页面交换,这样反而会降低系统。
Oracle 数据库性能优化之五:调整硬盘I/O,这一步是在信息系统开发之前完成的。
数据库管理员可以将组成同一个表空间的数据文件放在不同的硬盘上,做到硬盘之间I/O负载均衡。
Oracle 数据库性能优化之六:调整操作系统参数。
例如:运行在UNIX操作系统上的Oracle 数据库,可以调整UNIX数据缓冲池的大小,每个进程所能使用的内存大小等参数。
实际上,上述Oracle 数据库性能优化措施之间是相互联系的。Oracle 数据库性能恶化表现基本上都是用户响应时间比较长,需要用户长时间的等待。但性能恶化的原因却是多种多样的,有时是多个因素共同造成了性能恶化的结果,这就需要数据库管理员有比较全面的计算机知识,能够敏感地察觉到影响数据库性能的主要原因所在。另外,良好的数据库管理工具对于优化数据库性能也是很重要的。
【编辑推荐】