数据库性能优化

Oracle数据库性能优化

   1. 调整数据结构的设计 这一部分在开发信息系统之前完成,程序员需要考虑是否使用Oracle数据库的分区功能,对于经常访问的数据库表是否需要建立索引等。

   2. 调整应用程序结构设计 这一部分也是在开发信息系统之前完成的。程序员在这一步需要考虑应用程序使用什么样的体系结构,是使用传统的Client/Server两层体系结构,还是使用Browser/Web/Database的三层体系结构。不同的应用程序体系结构要求的数据库资源

   3. 调整数据库SQL语句 应用程序的执行最终将归结为数据库中的SQL语句执行,因此SQL语句的执行效率最终决定了Oracle数据库的性能。 Oracle公司推荐使用Oracle语句优化器(Oracle Optimizer)和行锁管理器(Row-Level Manager)来调整优化SQL语句。

   4. 调整服务器内存分配 内存分配是在信息系统运行过程中优化配置的。数据库管理员根据数据库的运行状况不仅可以调整数据库系统全局区(SGA区)的数据缓冲区、日志缓冲区和共享池的大小,而且还可以调整程序全局区(PGA区)的大小。

   5. 调整硬盘I/O 这一步是在信息系统开发之前完成的。数据库管理员可以将组成同一个表空间的数据文件放在不同的硬盘上,做到硬盘之间I/O 负载均衡。

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

Oracle数据库常用的数据库性能优化工具

   1. Oracle数据库在线数据字典 Oracle在线数据字典能够反映出Oracle的动态运行情况,对于调整数据库性能是很有帮助的。

   2. 操作系统工具 例如使用Unix操作系统的Vmstat、 Iostat等命令可以查看到系统级内存和硬盘I/O的使用情况,这些工具能够帮助管理员弄清楚系统瓶颈出现在什么地方。

   3. SQL语言跟踪工具(SQL Trace Facility)

   SQL语言跟踪工具可以记录SQL语句的执行情况,管理员可以使用虚拟表来调整实例,并使用SQL语句跟踪文件调整应用程序性能。SQL语言跟踪工具将结果输出成一个操作系统

    4. Oracle Enterprise Manager(OEM) 这是一个图形的用户管理界面,用户可以使用它方便地进行数据库管理而不必记住复杂的Oracle数据库管理的命令。

   5. Explain Plan??SQL语言优化命令 使用这个命令可以帮助程序员写出高效的Sql。

系统性能评估

   1. 在线事务处理信息系统(OLTP) 这种类型的信息系统一般需要有大量的Insert、 Update操作,典型的系统包括民航机票发售系统、银行储蓄系统等。OLTP系统需要保证数据库的并发性、可靠性和最终用户的速度,这类系统使用的Oracle数据库需主要考虑以下参数:

   数据库回滚段是否足够?

   是否需要建立Oracle数据库索引、聚集、散列?

   系统全局区(SGA)大小是否足够?

   SQL语句是否高效?

   2. 数据仓库系统(Data Warehousing) 这种信息系统的主要任务是从Oracle的海量数据中进行查询,以得到数据之间的某些规律。数据库管理员需要为这种类型的Oracle数据

   是否采用B*?索引或者Bitmap索引?

   是否采用并行SQL查询以提高查询效率?

   是否采用PL/SQL函数编写存储过程?

   有必要的话,需要建立并行数据库以提高数据库的查询效率。

参数的调整

   1. CPU参数
   2. 内存参数:内存参数的调整主要是指Oracle数据库的系统全局区(SGA)的调整。SGA主要由3部分构成:共享池、数据缓冲区、日志缓冲区。

      共享池由两部分构成:共享SQL区和数据字典缓冲区。
        共享SQL区是存放用户SQL命令。

影响ORACLE性能的硬件配置:CPU、内存、网络条件。

你可能感兴趣的:(oracle)