面向大型数据处理系统的Oracle数据库性能优化技术

  • 格式:doc
  • 大小:23.00 KB
  • 文档页数:4

面向大型数据处理系统的Oracle数据库性能优化技术
摘要:针对大型数据处理ms系统中常见的性能问题,总结出一套oracle数据库关键优化技术,并通过实例说明所提出方案的有效性。

关键词:大型数据处理系统 oracle数据库性能优化
0 引言
本文以实际研发项目为平台,选取某大型网络原始数据分析处理系统为研究对象,分析并讨论其后台oracle数据库的性能优化技术和方法。

该系统随着处理数据日益增多,常常出现吞吐量低,响应慢,数据库进程莫名挂死等诸多问题。

本文针对这些问题提出一套oracle数据库性能优化的思路和方法,并对优化前后的效果进行对比。

1 数据库性能优化的最佳时机
从以往项目的失败经验来看,在系统性能变差时才对系统进行优化已经太晚,相关研究表明,数据库应用系统的性能问题50%都是在设计阶段引入的,因此对数据库性能最有效的优化阶段在设计阶段,同时设计阶段优化能以最低的代价获取最大的收益。

2 设计及开发阶段的oracle数据库优化技术
本文所研究系统规模庞大、架构复杂,需要对当前数据库进行重新设计。

2.1 调整数据库结构设计
设计原则如下:
①对数据资源需求非常大且交互频繁的功能模块,数据库设计时使用临时表,加快统计分析的速度。

②对于基本表的设计严格遵守第三范式。

③根据访问的频繁程度对相关表进行分割处理、存储冗余数据、存储衍生列、合并相关表处理等。

2.2 调整磁盘i/o
为了实现硬盘之间i/o负载均衡,减少磁盘竞争和i/o争用,应遵循如下基本原则和方法:
①访问量大的数据文件放到独立磁盘。

②同一个表空间的多个数据文件放到不同磁盘。

③为索引创建单独表空间,并将表和索引分开在不同的表空间。

④创造用户表空间,与系统表空间分开磁盘存放;⑤创建回滚段专用的表空间。

⑥创建临时表空间用于排序操作。

⑦oracle文件和操作系统文件尽可能放到不同磁盘上。

⑧最好使用廉价磁盘冗余阵列。

2.3 调整和有效利用sga
正确设置sga大小,在当前项目中,将数据缓冲区从优化前的224m 增加到340m,将共享池从优化前的400m增加到450m,将日志缓冲区从优化前的100m增加到150m,并在pga的排序区或临时表空间的临时段中进行排序操作。

2.4 恰当使用分区
oracle中恰当的使用分区技术,可以将数据在物理上分隔开,不同分区的数据可以指定保存在处于不同磁盘上的数据文件里,可缩短查询时间,均衡i/o。

在当前项目中,对4*146g的硬盘进行分区,
共分为16个分区,各数据表的分区指定保存在不同的磁盘下。

2.5 索引的优化和设计
建立索引根本目的是提高查询效率,开发人员应遵守以下原则应用索引:
①选择在where子句中常用的查询列做索引字段。

②选择常用来关联表的字段做索引字段。

③对普通的b-tree索引,以选择性高的字段做索引字段。

④不要在经常被删除的字段上建立索引。

⑤考虑建立位映射索引。

⑥对where子句中函数参数的字段,建函数索引。

⑦避免在索引列上进行计算。

2.6 sql语句的优化
为提升数据库性能,在sql优化时应严格遵循如下原则:
①尽量避免对全表扫描;②如果多个表经常被查询,尽可能使其放在同一数据块中;③使用decode减少扫描;④使用truncata替代delete,用exists替代in;⑤用表连接替换exists;⑥在group by前滤掉不需要的记录;⑦不要在应用中做数据校验,使用数据库的约束;⑧可过滤掉的记录条件都写在where子句的末尾;⑨使用order by和group by短语;⑩慎用游标;使用快照和显形图等分布式数据库对象减少对数据库的查询次数;用where子句代替having子句。

3 实例优化
在“hp 580g7服务器+oralce 10g数据库+应用
程序”的环境中,以单日导入50g数据的应用场景来对比验证,
软件性能优化前后指标对比如下表所示,该结果证明上述oracle
数据库优化技术的有效性。

参考文献:
[1]gaja krishna vaidyanatha.oracle性能优化技术内幕[m].
机械工业出版社,2002,5:284.
[2]robert g.freeman.oracle dba 必备技能详解[m].商云飞,译.北京:清华大学出版社,2006.
[3]张舒.超大型oracle数据库的基础设计和优化设计[j].价值工程,2011(10).
基金项目:
陕西省教育厅科学研究计划专项基金(no.2013jk0189);西安工程大学教育教学改革项目(no.2012jg25)。

作者简介:
王纯子(1983-),女,陕西西安人,讲师,博士,主要研究方向:复杂系统建模、优化决策与控制。