版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.:.;作为全球第一大数据库厂商,ORACLE数据库在国内外获得了诸多胜利运用,据统计,全球93%的上市公司、65家“财富全球100强企业不约而同地采用Oracle数据库来开展电子商务。Oracle在国内胜利的案例包括多媒体数据库及信息效力系统、中国银行、建立银行、清华大学信息系统等。随着网络运用和电子商务的不断开展,各个站点的访问量越来越大,如何运用有限的计算机系统资源为更多的用户效力?如何保证用户的呼应速度和效力质量?这些问题都属于效力器性能优化的范畴。ORACLE数据库性能优化概述实践上,为了保证ORACLE数据库运转在最正确的性能形状下,在信息系统开发之前就应该思索数据库的优化战略。优
2、化战略普通包括效力器操作系统参数调整、ORACLE数据库参数调整、网络性能调整、运用程序SQL语句分析及设计等几个方面,其中运用程序的分析与设计是在信息系统开发之前完成的。分析评价ORACLE数据库性能主要有数据库吞吐量、数据库用户呼应时间两项目的。数据库吞吐量是指单位时间内数据库完成的SQL语句数目;数据库用户呼应时间是指用户从提交SQL语句开场到获得结果的那一段时间。数据库用户呼应时间又可以分为系统效力时间和用户等待时间两项,即:数据库用户呼应时间系统效力时间 用户等待时间上述公式通知我们,获得称心的用户呼应时间有两个途径:一是减少系统效力时间,即提高数据库的吞吐量;二是减少用户等待时间,
3、即减少用户访问同一数据库资源的冲突率。数据库性能优化包括如下几个部分:1、调整数据构造的设计。这一部分在开发信息系统之前完成,程序员需求思索能否运用ORACLE数据库的分区功能,对于经常访问的数据库表能否需求建立索引等。2、调整运用程序构造设计。这一部分也是在开发信息系统之前完成,程序员在这一步需求思索运用程序运用什么样的体系构造,是运用传统的Client/Server两层体系构造,还是运用Browser/Web/Database的三层体系构造。不同的运用程序体系构造要求的数据库资源是不同的。3、调整数据库SQL语句。运用程序的执行最终将归结为数据库中的SQL语句执行,因此SQL语句的执行效率
4、最终决议了ORACLE数据库的性能。ORACLE公司引荐运用ORACLE语句优化器Oracle Optimizer和行锁管理器row-level manager来调整优化SQL语句。4、调整效力器内存分配。内存分配是在信息系统运转过程中优化配置的,数据库管理员可以根据数据库运转情况调整数据库系统全局区SGA区的数据缓冲区、日志缓冲区和共享池的大小;还可以调整程序全局区PGA区的大小。需求留意的是,SGA区不是越大越好,SGA区过大会占用操作系统运用的内存而引起虚拟内存的页面交换,这样反而会降低系统。5、调整硬盘I/O,这一步是在信息系统开发之前完成的。数据库管理员可以将组成同一个表空间的数据文
5、件放在不同的硬盘上,做到硬盘之间I/O负载平衡。6、调整操作系统参数,例如:运转在UNIX操作系统上的ORACLE数据库,可以调整UNIX数据缓冲池的大小,每个进程所能运用的内存大小等参数。实践上,上述数据库优化措施之间是相互联络的。ORACLE数据库性能恶化表现根本上都是用户呼应时间比较长,需求用户长时间的等待。但性能恶化的缘由却是多种多样的,有时是多个要素共同呵斥了性能恶化的结果,这就需求数据库管理员有比较全面的计算机知识,可以敏感地觉察到影响数据库性能的主要缘由所在。另外,良好的数据库管理工具对于优化数据库性能也是很重要的。ORACLE数据库性能优化工具常用的数据库性能优化工具有:1、O
6、RACLE数据库在线数据字典,ORACLE在线数据字典可以反映出ORACLE动态运转情况,对于调整数据库性能是很有协助 的。2、操作系统工具,例如UNIX操作系统的vmstat,iostat等命令可以查看到系统系统级内存和硬盘I/O的运用情况,这些工具对于管理员弄清出系统瓶颈出如今什么地方有时候很有用。3、SQL言语跟踪工具SQL TRACE FACILITY,SQL言语跟踪工具可以记录SQL语句的执行情况,管理员可以运用虚拟表来调整实例,运用SQL语句跟踪文件调整运用程序性能。SQL言语跟踪工具将结果输出成一个操作系统的文件,管理员可以运用TKPROF工具查看这些文件。4、ORACLE En
7、terprise ManagerOEM,这是一个图形的用户管理界面,用户可以运用它方便地进展数据库管理而不用记住复杂的ORACLE数据库管理的命令。5、EXPLAIN PLANSQL言语优化命令,运用这个命令可以协助 程序员写出高效的SQL言语。ORACLE数据库的系统性能评价信息系统的类型不同,需求关注的数据库参数也是不同的。数据库管理员需求根据本人的信息系统的类型着重思索不同的数据库参数。1、在线事务处置信息系统OLTP,这种类型的信息系统普通需求有大量的Insert、Update操作,典型的系统包括民航机票出卖系统、银行储蓄系统等。OLTP系统需求保证数据库的并发性、可靠性和最终用户的速
8、度,这类系统运用的ORACLE数据库需求主要思索下述参数:l 数据库回滚段能否足够?l 能否需求建立ORACLE数据库索引、聚集、散列?l 系统全局区SGA大小能否足够?l SQL语句能否高效?2、数据仓库系统Data Warehousing,这种信息系统的主要义务是从ORACLE的海量数据中进展查询,得到数据之间的某些规律。数据库管理员需求为这种类型的ORACLE数据库着重思索下述参数:l 能否采用B*-索引或者bitmap索引?l 能否采用并行SQL查询以提高查询效率?l 能否采用PL/SQL函数编写存储过程?l 有必要的话,需求建立并行数据库提高数据库的查询效率SQL语句的调整原那么SQ
9、L言语是一种灵敏的言语,一样的功能可以运用不同的语句来实现,但是语句的执行效率是很不一样的。程序员可以运用EXPLAIN PLAN语句来比较各种实现方案,并选出最优的实现方案。总得来讲,程序员写SQL语句需求满足思索如下规那么:1、尽量运用索引。试比较下面两条SQL语句:语句A:SELECT dname, deptno FROM dept WHERE deptno NOT IN (SELECT deptno FROM emp);语句B:SELECT dname, deptno FROM dept WHERE NOT EXISTS(SELECT deptno FROM emp WHERE dep
10、t.deptno = emp.deptno);这两条查询语句实现的结果是一样的,但是执行语句A的时候,ORACLE会对整个emp表进展扫描,没有运用建立在emp表上的deptno索引,执行语句B的时候,由于在子查询中运用了结合查询,ORACLE只是对emp表进展的部分数据扫描,并利用了deptno列的索引,所以语句B的效率要比语句A的效率高一些。2、选择结合查询的结合次序。思索下面的例子:SELECT stuff FROM taba a, tabb b, tabc c WHERE a.acol between :alow and :ahigh AND b.bcol between :blow
11、and :bhigh AND c.ccol between :clow and :chigh AND a.key1 = b.key1 AMD a.key2 = c.key2;这个SQL例子中,程序员首先需求选择要查询的主表,由于主表要进展整个表数据的扫描,所以主表应该数据量最小,所以例子中表A的acol列的范围应该比表B和表C相应列的范围小。3、在子查询中慎重运用IN或者NOT IN语句,运用where (NOT) exists的效果要好的多。4、慎重运用视图的结合查询,尤其是比较复杂的视图之间的结合查询。普通对视图的查询最好都分解为对数据表的直接查询效果要好一些。5、可以在参数文件中设置SH
12、ARED_POOL_RESERVED_SIZE参数,这个参数在SGA共享池中保管一个延续的内存空间,延续的内存空间有益于存放大的SQL程序包。6、ORACLE公司提供的DBMS_SHARED_POOL程序可以协助 程序员将某些经常运用的存储过程“钉在SQL区中而不被换出内存,程序员对于经常运用并且占用内存很多的存储过程“钉到内存中有利于提高最终用户的呼应时间。CPU参数的调整CPU是效力器的一项重要资源,效力器良好的任务形状是在任务顶峰时CPU的运用率在90以上。假设空闲时间CPU运用率就在90以上,阐明效力器缺乏CPU资源,假设任务顶峰时CPU运用率依然很低,阐明效力器CPU资源还比较富余。
13、运用操作一样命令可以看到CPU的运用情况,普通UNIX操作系统的效力器,可以运用sar u命令查看CPU的运用率,NT操作系统的效力器,可以运用NT的性能管理器来查看CPU的运用率。数据库管理员可以经过查看v$sysstat数据字典中“CPU used by this session统计项得知ORACLE数据库运用的CPU时间,查看“OS User level CPU time统计项得知操作系统用户态下的CPU时间,查看“OS System call CPU time统计项得知操作系统系统态下的CPU时间,操作系统总的CPU时间就是用户态和系统态时间之和,假设ORACLE数据库运用的CPU时间
14、占操作系统总的CPU时间90以上,阐明效力器CPU根本上被ORACLE数据库运用着,这是合理,反之,阐明效力器CPU被其它程序占用过多,ORACLE数据库无法得到更多的CPU时间。数据库管理员还可以经过查看v$sesstat数据字典来获得当前衔接ORACLE数据库各个会话占用的CPU时间,从而得知什么会话耗用效力器CPU比较多。出现CPU资源缺乏的情况是很多的:SQL语句的重解析、低效率的SQL语句、锁冲突都会引起CPU资源缺乏。1、数据库管理员可以执行下述语句来查看SQL语句的解析情况:SELECT * FROM V$SYSSTATWHERE NAME IN (parse time cpu,
15、 parse time elapsed, parse count (hard);这里parse time cpu是系统效力时间,parse time elapsed是呼应时间,用户等待时间waite time = parse time elapsed parse time cpu由此可以得到用户SQL语句平均解析等待时间waite time / parse count。这个平均等待时间应该接近于0,假设平均解析等待时间过长,数据库管理员可以经过下述语句SELECT SQL_TEXT, PARSE_CALLS, EXECUTIONS FROM V$SQLAREAORDER BY PARSE_CA
16、LLS;来发现是什么SQL语句解析效率比较低。程序员可以优化这些语句,或者添加ORACLE参数SESSION_CACHED_CURSORS的值。2、数据库管理员还可以经过下述语句:SELECT BUFFER_GETS, EXECUTIONS, SQL_TEXT FROM V$SQLAREA;查看低效率的SQL语句,优化这些语句也有助于提高CPU的利用率。3、数据库管理员可以经过v$system_event数据字典中的“latch free统计项查看ORACLE数据库的冲突情况,假设没有冲突的话,latch free查询出来没有结果。假设冲突太大的话,数据库管理员可以降低spin_count参数
17、值,来消除高的CPU运用率。内存参数的调整内存参数的调整主要是指ORACLE数据库的系统全局区SGA的调整。SGA主要由三部分构成:共享池、数据缓冲区、日志缓冲区。1、 共享池由两部分构成:共享SQL区和数据字典缓冲区,共享SQL区是存放用户SQL命令的区域,数据字典缓冲区存放数据库运转的动态信息。数据库管理员经过执行下述语句:select (sum(pins - reloads) / sum(pins) Lib Cache from v$librarycache;来查看共享SQL区的运用率。这个运用率应该在90以上,否那么需求添加共享池的大小。数据库管理员还可以执行下述语句:select (
18、sum(gets - getmisses - usage - fixed) / sum(gets) Row Cache from v$rowcache;查看数据字典缓冲区的运用率,这个运用率也应该在90以上,否那么需求添加共享池的大小。2、 数据缓冲区。数据库管理员可以经过下述语句:SELECT name, value FROM v$sysstat WHERE name IN (db block gets, consistent gets,physical reads);来查看数据库数据缓冲区的运用情况。查询出来的结果可以计算出来数据缓冲区的运用命中率1 - ( physical reads / (db block gets + consistent gets) )。这个命中率应该在90以上,否那么需求添加数据缓冲区
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年版简易个人装修合同
- 2025年度智慧城市基础设施安装服务协议6篇
- 二零二五年度农业租赁续租协议书含农产品加工合作3篇
- 二零二五年度企业财务风险管理体系设计合同范本3篇
- 2025化工设备安装合同
- 2025年度城市供水管道维修保养服务合同3篇
- 二零二五年度体育赛事赞助与品牌推广合同3篇
- 2025版模具制造与知识产权保密合同3篇
- 2024年贷款协议及抵押担保条款版B版
- 2025年度商业综合体物业管理与服务合同范本3篇
- 营销课件教学课件
- 2024时事政治考试100题及参考答案
- 医疗废物转移实施方案
- 工程师个人年终总结
- 【学易金卷】2023-2024学年四年级数学上册期末全真模拟提高卷(三)(A4版)(北师大版)
- GB 17353-2024摩托车和轻便摩托车防盗装置
- 学校膳食管理委员会工作制度和职责
- 房租收条格式(3篇)
- 期末试卷(试题)2024-2025学年培智生活语文二年级上册
- 2024秋期国家开放大学本科《中国当代文学专题》一平台在线形考(形考任务一至六)试题及答案
- 2024伊利在线测评题
评论
0/150
提交评论