




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Oracle 10g数据库系统性能调优作者:任淑美 李宁湘 来源:电脑知识与技术2013年第 17期摘要:Oracle数据库是当前应用最广泛的大型关系数据库系统之一,其运行性能直接影响 整个应用系统的执行效率。通过对影响Oracle 10g数据库系统运行的主要因素如SGA、 PGA、磁盘I/O以及磁盘碎片等的分析,提出了使用Oracle 10g提供相关的工具对系统进行性 能调整和优化。关键词:SGA; PGA;磁盘I/O;磁盘碎片;系统性能调优中图分类号:TP311文献标识码:A文章编号:1009-3044 (2013) 17-3918-06Oracle 10g数据库管理系统是技术先进、功能强
2、大、安全稳定的大型数据库管理系统之 一。在银行、电信、航空和电子商务等这些大型的软件应用领域,一般都选择Oracle数据库管 理作为数据平台。在应用系统的日常运行中,由于用户数迅速增加,数据库中存储的数据量亦 成几何级数增长,系统常常会出现吞吐量降低、响应时间变长等性能下降问题。为此,如何有 效优化和调整Oracle数据库性能,保证整个应用系统高效运行,成为了有待探讨的热点问题。数据库性能的评价依据优化数据库系统的性能,通常是采取相应措施,既减少对磁盘的访问而又能获得用户所需 要的相关数据, 以达到降低系统对用户的响应时间、提高数据吞吐量、提升数据库的可用性 的目标。评价一个数据库的性能是否优
3、异的一些通用准则如下所述。1.1 系统响应时间系统响应时间是指从用户按下提交按钮到数据显示在输出设备上所花费的时间。系统响应 时间是评价数据库性能的一项重要指标,很多客户对系统响应时间都有严格的要求,因此缩短 系统响应时间非常重要。1.2数据加载时间为满足加载数据的时间需求,管理员可调整计算机的I/O子系统缩短数据加载时间,而系 统其他方面的性能会由此受到影响。此时可分别调整系统的数据库运行性能和数据加载性能, 将影响减至最小。1.3 系统实际吞吐量吞吐量是指在给定单位时间内传送的位(bit)数量。实际吞吐量是指在给定间隔内接收到 的用户数据量减去必须重新传输的字节数后的吞吐量。提高系统吞吐量
4、的方法为:1) 减少系 统总的响应时间;2) 减少服务时间。1.4 对用户支持能力 另一个评价系统性能的重要因素是系统对用户的支持能力。要使系统能支持更多的用户, 必须对系统在相关方面进行配置和调整。影响数据库系统性能的主要因素通过对数据库性能评价依据的分析,发现很多因素都会影响Oracle 10g的性能。比如:数 据库服务器、CPU、内存、网络、I/O、应用程序性能以及由用户所产生的数据库负载等。下面列出的是一些导致系统性能下降的主要因素:1)数据库服务器:数据库服务器由数据库和实例组成,是整个管理系统的核心。数据库 的主要功能是保存数据,其存储结构分为逻辑存储结构和物理存储结构。物理存储结
5、构描述 Oracle外部及其所处的操作系统环境中文件组织和管理数据的方式,逻辑存储结构描述Oracle 内部组织和管理数据的方式。Oracle实例是指数据库服务器的内存及相关后台进程,又称为Oracle数据库引擎。启动数 据库后,由实例来访问和控制磁盘中的数据文件。实例由SGA (System Global Area,系统全 局区)和后台处理进程组成。2)CPU :如某个数据库事务或其它应用占用了 CPU资源,其它数据库事务运行将可能会 停滞,从而延迟对数据库的响应。3)操作系统:操作系统控制和管理各种资源,合理组织计算机系统的工作流程,帮助用 户合理利用和分配资源,为用户提供方便的工作环境,
6、为多个用户提供安全高效的计算机资源 共享。4)网络系统:系统的吞吐量和响应时间过长,有可能是网络方面存在问题。数据库服务 器与应用程序之间的交互是通过网络来进行的。在整个网络系统中,影响较大的是网络 I/ O。 I/O子系统如果超载,系统输入输出量加大,系统获得数据的等待时间延长,从而影响整个系 统的运行性能。5)实现应用程序:对数据库性能影响比较大的因素还包括实现应用程序的方法。如连接 数据库的方式、SQL语句的灵活运用、使用数据库对象的情况以及数据库端程序设计等。数据库系统性能调配优化的方法通过对影响Oracle数据库性能的因素进行分析,我们可以从以下几个方面对数据库系统进 行配置,以调整
7、和优化系统的运行性能。3.1 合理设计数据库数据库的设计在系统设计中是一个非常重要的环节,从根本上来说就是要实现数据的共享 和安全存取。一个优秀的数据库设计必须要实现用户对于数据的要求,而同时又要实现对数据 的关联性、安全性、可移植性和可扩容性的要求等。1)明确系统所属的数据库类型。在进行数据库设计时,先要分清楚数据库所属的类型,常见的有在线分析系统(O LAP) 和在线事务处理系统(OLTP)。数据库的内存效率,内存各种指标的命中率、并发操作控制 等,是在设计OLTP系统时特别要注意的。而数据分析、SQL执行时间、磁盘I/O及强调分区 等。在设计OLAP系统的设计时要特别强调。现在购买火车票
8、使用的网上订票系统,就是一个 典型的OLTP系统。如并发操作考虑不充分,当遇到春节期间在线购票的用户太多时,有可能 导致系统近于瘫痪。根据自己的经验设计数据库,将系统资源分配给相关的用户,尽量限制应用程序的用户数 量,对系统资源的使用情况密切监控,了解用户所使用的资源数,重视监控系统,对系统调整 及其结果做好详细记录。2)创建适用的数据文件。每个Oracle数据库都有一个或多个数据文件,数据库的主要作用是来保存在这些相关的数 据文件。通过使用命令:select status, bytes, name from v$datafile,可以查看数据文件的存放 位置、大小和状态。OLTP系统是SQL
9、语句提交和数据块变化都非常频繁的系统。为减少重复 的SQL解析和物理I/O,可采用变量绑定技术实现SQL的重用,同时让数据块尽可能的保存 在内存中,以改善和提高数据库的性能。3)正确使用索引。正确创建和正确使用索引具有很多优势。如在快速存取数据、实施数据的唯一性和参照完 整性、多表检索查询数据时,利用索引可以减少排序和分组的时间,减少系统开销。对于 Oracle系统来讲,并不是创建了索引就一定会使用索引,当Oracle自动搜集了表和索引的统计 信息之后,才会确定是否要使用索引,只有高选择性的索引才会比全表扫描更有效率。因此, 对于规模比较小的表、频繁进行更新的表、在查询中很少用到的列等,建议不
10、要创建索引。索引建立后会将占用磁盘空间,当对数据进行插入、更新和删除等操作等操作后,系统将 重建索引,延长了数据修改的时间,所以,应在需要的时候才创建索引,在不需要索引时将其 删除。适合建立索引的字段列一般为:主键列、表的外键、经常用于查询或多表连接的字段 列、经常用于WHERE子句、ORDER BY子句、或GROUP BY子句的字段列等,在这些字段 列上创建索引,会加快检索的速度。而对于在查询中很少使用的列、在表中具有较多重复值的 字段列、数据需要频繁变更的字段列则不宜创建索引。因为在这类字段列上建立索引,其检索 性能会远远小于其修改性能,得不偿失。3.2 调整与优化内存管理Oracle的内
11、存结构包含两个部分:系统全局区(SGA)和程序全局区(PGA)。SGA主要 包括了以下的数据结构:数据缓冲、重做日志缓冲、共享池、Java池、大池、流池、数据字典 缓存及其他信息等,这些部分的分配是否合理直接影响数据库的性能。内存不足将减少数据的缓冲区空间,影响系统访问最近存放的数据,从而导致操作系统进 行页面交换时频繁使用虚拟内存,使计算机系统增加额外的 I/O 开销。对那些支持大量连接的系统,为保证计算机系统的可用资源能适用不同的用户对系统的资 源需求,要对内存做好详细计划,严格控制与网络和连接用户有关的操作系统资源。3.2.1 数据缓冲区3.4 碎片整理在数据库系统的运行过程中,数据的存
12、取操作不断进行,数据库将寻找自由范围最大的 表空间来存放数据,从而形成越来越多的较小的、离散的自由空间,即生成磁盘碎片。碎片整 理就成为了数据库日常维护中的重要的工作环节。一般将碎片分为三级:表空间级、表级、索 引级。表空间级碎片的出现主要是由于DROP TABLE和TRUNCATE等操作引起的。由于一个 表空间中的表的EXTENT大小不同,因此表空间使用一段时间后,表空间的使用就出现了不 连续,在EXTENT之间会出现一些“洞”,这种情况称为表空间碎片。设置所有的EXTENT都 一样大,不会出现表空间碎片。表级碎片是一些零散的存储空间。当对一个表进行删除操作时,被删除的数据释放出的存 储空间
13、不会被插入操作立即重用,这样就形成了表级碎片。当表级碎片过多时,导致查询响应 时间变慢、产生大量行迁移、行链接导致数据存储不连续、浪费存储空间等。整理表碎片可采 用如下步骤:1)整理表2)重置高水位索引和表数据是级联关系的。当表中有建有太多索引,进行表中数据删除操作的时 候,索引值将频繁变化,索引条目也会被自动删除,这样在index leafblock就会产生碎片。当 索引的碎片过多时,会影响执行查询的速度。在OLTP系统中有大量更新的表上建议不要创建 大量的索引,低基数列上也不要创建索引。为快速查找数据,只在那些数据变化频率较低的列 上创建索引。在已建索引的列上出现频繁的数据变化,拟制索引碎
14、片的产生最好的方法是重建 索引。3.5 CPU 性能调整服务器中一个重要的资源就是CPU。当CPU资源被某个数据库事务占用或被其它应用占 用,可能会影响数据库事务运行,导致数据库系统响应迟缓。若CPU占用率超过90%,则说 明Oracle服务器CPU资源不足。引起CPU资源不足的原因主要有:锁冲突、低效率的SQL 语句、SQL语句的重解析等。查询变慢是CPU资源不足的主要表像,其实质是严重影响了数 据库的性能。调整CPU,减少服务器的CPU对数据库性能的不利影响,提高数据库系统的性能。CPU的技术发展很快,在Oracle领域要重视CPU并行技术的应用,在执行事务处理 和查询时分别使用不同的CP
15、U处理器。最好分开数据库服务器和应用程序的CPU请求,或在 请求较多时,实行对服务器请求的转移,即采用多个服务器请求。进行数据查询时可使用PQO方式。PQO方式的优势很明显,当用户需要查询的数据 存放在不同的磁盘时,可将SQL语句的请求分配到多个CPU进行处理,对彼此独立的进程同 时实现数据读取。Oracle数据库与运行在同一台服务器上的其他所有软件共享CPU资源。如果CPU处 理能力不足,减少Oracle或者非Oracle程序的CPU消耗可以改善服务器上所有进程的性能。对CPU的利用率进行调优实质上就是对每个单独的任务进行调优,减少完成任务所需要 的命令数量。通过负载均衡,SQL调优,以及改
16、进应用程序的设计等方式来具体完成CPU调 优工作。4 Oracle 10g常用优化工具Oracle数据库提供了一些优化工具,包括Oracle数据库在线数据字典、操作系统工具、 SQL语言跟踪工具、OEM等。通过查询数据字典、分析动态性能视图,获取数据库的运行信 息,有效的进行Oracle性能优化的工作。以下是几种常用的Oracle数据库性能优化工具。5 结束语Oracle10g 数据库系统性能调优是复杂繁琐的系统工程, 其工作贯穿于整个数据库系统开 发的过程。从系统配置入手,包括内存分配调整、磁盘I/ O调整、操作系统调整以及磁盘碎 片整理等, 整个过程是一个有机的整体,缺一不可。数据库系统的性能调优,应该充分利用 各种能优化性能的资源,正确使用调整工具进行反复的调整、以获得系统的最优性能。参考文献:朱亚兴.Oracle数据库系统应用开发实用教程M.北
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 出租责任合同范本
- 买卖合同和定制合同范本
- 佣金类合同范本
- 电气控制PLC习题(含答案)
- 厂房检查合同范本
- 上海旅游心得体会
- 三年级第一学期语文教学计划
- 三八妇女节工会活动策划方案
- 亚克力板材合同范本
- 厂房带看合同范本
- 屋顶拆除方案
- 架空绝缘配电线路设计规范
- 两位数除以一位数(有余数)计算题200道
- 教科版-六年级科学下册制作校园生物分布图课件
- 2024年苏州经贸职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 农林行业就业现状分析
- 玄武岩纤维简介演示
- 决策气象服务流程
- 无人机法律法规与安全飞行 第2版 课件 第4章 无人机法规与安全
- 施工会议纪要15篇
- 电力变压器安装技术规范
评论
0/150
提交评论