分析oracle数据库性能优化的研究
2017-12-29乔淑凤辽宁锦州渤海大学信息科学与技术学院
乔淑凤 辽宁锦州渤海大学信息科学与技术学院
分析oracle数据库性能优化的研究
乔淑凤 辽宁锦州渤海大学信息科学与技术学院
Oracle被广泛的应用到众多领域中,随着数据库用户量指数倍数和用户访问量剧增,数据库业务处理性能呈直线下降的趋势。本文研究关于如何优化数据库性能分析问题以及如何确定系统的性能优化方案,通过分析影响因素提升数据优化方案,确定本文使用数据优化方案的目标,期望通过本文优化技术使得其性能达到最优化,研究表明:性能优化和系统运行效率都会达到最优状态。
Oracle 数据库 表分区技术 性能优化 优化方案
1 引言
Oracle的用户应用越来越多,怎样实现对Oracle性能优化、提升运行效率、尽量减少数据存储空间和系统吞吐量的改进,当实现软件开发时,重点需要考虑是系统优化部分。当前,Oracle是被广泛应用到各种领域中的数据库,例如:行政机关、警务系统、企业业务管理、银行业务、国际金融业等多个管理部门,并将Oracle系统逐渐应用到企业的管理平台,目前,随着Oracle数据库被广泛应用每个领域,用户使用量逐年增多,对于选择大型数据库作为应用软件设计基础架构,它是软件运行的骨架,但是,在项目开发中,越多用户量使用系统,其用户访问量指数上升,系统中需要同时处理用户请求不断增多,数据库数据处理性能直线下降,根据本文需要改进和优化系统性能,在满足系统需求分析的前提下,我们通过对其整体性能的优化操作,使系统的运行与数据处理状态达到最优地步。
2 分析与优化系统性能
2.1 如何提高数据命中率
Oracle的用户进程把全部数据存储在高速缓冲区,因为,高速缓冲区的读写速度快、数据命中率高。用户获取数据如果不在高速缓冲区获取,就到低速磁盘中获取,为了提高数据命中率并缩短了系统的响应时间,有效的提高在高速缓冲区命中率,这是衡量数据库性能的另一种重要方法。
2.2 如何缩短系统的响应时间
系统的响应时间是指用户发出请求到系统返回结果的时间戳,为了提升数据库系统的整体性能,缩短系统的响应时间来实现缩短用户体验的目的,既可实现缩短用户请求等待时间,与此同时优化系统性能和提高CPU资源使用率。
2.3 如何优化系统I/O性能
Oracle将数据存储到系统的磁盘数据块中,如果数据库开始读写操作之后,必须与磁盘I/O读写操作相关,程序员合理规划磁盘I/ O操作,基于高速缓存技术提高磁盘I/O吞吐量,用户请求与响应时间变短,有效利用数据库物理内存空间,有效的避免频繁地使用磁盘I/O读写功能。
2.4 如何实现合理使用内存
数据库性能优化与内存优化有关,大型数据库系统对并发访问量要求较高,如果Oracle内存空间使用不合理便会影响系统数据处理效率,延迟用户等待时间,如果内存空间足够大,得到最大数据处理效率和内存空间利用率,内存空间的使用评价参数作为系统性能判断,通过合理使用数据库的内存空间,数据库的使用性能才有所提高。
2.5 如何减小磁盘排序
当用户发出事务请求时,此请求事务中有数据排序函数或者嵌套函数时,有可能执行事务排序在数据库内存中进行,或许已经在低速磁盘上数据排序完毕。但是,由于读写操作在低速磁盘上实现往往降低系统的运行效率,再加上低速磁盘物理结构影响,其实现读写操作的效率比内存要慢的多,因此,数据库的性能优化要减少磁盘排序操作。
3 影响数据库性能因素
目前,存在多种因素影响数据性能,如下几点:
①操作系统的性能。系统性能在某种程度上依赖于运行的服务器,操作系统性能取决于服务器的性能。
②内存参数设置。CPU是服务器运行的硬件组成部分,CPU资源被数据库的进程占用过高,会导致其他事务暂停运行,致使系统的响应等待时间延迟,反而当服务器空闲时,CPU资源占用率超过80%以上的比例,因此,表明服务器的内存参数有问题。
③数据读写的I/O操作冲突。如果数据读写操作都在高速缓存上读取,由于低速磁盘操作仅允许一个进程,当多个进程同时访问磁盘数据时,操作系统的互斥操作防止数据读写冲突。
④Oracle配置。如果正确配置Oracle参数会优化数据库整体性能。
⑤应用程序管理,应用程序在某种程度上影响着服务器的整体性能,尤其是SQL语句执行。
⑥网络传输速度因素。网速影响数据库性能是外界因素,如果网速慢则导致服务器的负荷量增加,导致数据的传输速率和系统的吞吐量有所下降,系统请求等待与响应时间延长。
⑦SQL逻辑错误。当应用系统出现很多递归执行的SQL事务,数据库表结构设置和约束条件设置不对,SQL事务执行和读写效率变低。
4 数据库性能优化方案
4.1 优化应用系统
数据库往往是应用软件上,由于应用系统存在缺陷导致数据库出现死锁以及运行效率降低等。对应用系统设计不够完善,例如,大型应用系统开发与测试方案,应用系统运行一段时间系统性能下降,表明应用系统存在问题。系统设计必须要结合多任务、高并发量的设计过程,并充分分析应用系统的设计。一个应用系统的整体性能取决于Oracle数据库的整体性能。
4.2 优化数据库的SQL语句
优化的SQL语句不仅提高系统的吞吐率和降低I/O访问次数,而且能占用网络传输带宽。优化后的执行SQL语句使得数据库系统变得高可靠性,从根本上提高服务器运行效率。系统通过执行SQL事务完成系统的功能操作,有简单的增删改查操作,还有其他复杂操作。因此,Oracle数据库的整体性能取决于SQL执行效率,另外,编写SQL语句要注意:
①使数据表分区,以分区查询避免全表扫描,占用数据库的内存空间。
②实现多个数据表级联查询,建立表结构索引以减少SQL事务执行。
③实现多个数据表集中存储数据块。
优化Oracle系统性能需要通过改进编写SQL语句的过程,根据影响数据库整体性能的主要因素,要采取不同方案加以优化,要考虑到重要技术实现对系统加以优化操作,SQL语句优化使得数据库整体性能处于最优状态。
4.3 优化内存区设置
优化系统内存设置区完成被服务器和用户之间的数据共享操作,其中包括:优化共享池、优化高速缓冲区和优化日志访问区。优化共享池是只存放SQL事务的存储空间;优化高速缓冲区的缓存空间越大,则表示可获取的数据就越多,完成的磁盘I/O操作次数减少;优化日志访问区,如果数据库的缓存区设置太小,会导致缓存空间不足,降低系统的性能。
第一,优化共享池设置。优化共享池主要缩短用户操作时间来实现共享池优化操作,就是指对于已经执行SQL命令置于数据共享池中实现重复利用,并不需要再消耗解析与存储时间,系统对共享池进行优化后需要尽量保证存放在高速缓存区内的数据,数据的应用程序被访问到。因此,基于高速缓冲区实现获取数据的命中率方法。
第二,优化高速缓冲区的数据。高速缓冲区的优化可以缩短用户操作的时间,当用户在进行数据查询可以在高速缓冲区中获取,如果用户查询数据在高速缓冲区中获取,用户请求等待时间就会缩短,因此,数据库系统将会通过高速缓冲区将数据返回给用户进行显示,相反,如果不在高速缓冲区中获取数据,那么,数据库会从文件服务器中将数据读取一份,再复制一份放在高速缓冲区里,这种方式便于后面的用户读取数据操作。因此,当用户进行数据检索时,要保证高速缓存区的存储空间足够大,只有保证高数据缓冲区有较大的数据命中率才能优化系统的性能。
第三,优化日志缓冲区。优化日志缓冲区主要实现在于对数据的修改操作。为了系统的操作日志写进该缓存区文件中,首先,要将操作日志写入高速缓冲区,然后基于用户的请求进程操作缓冲区文件,若日志缓冲区没的空间不足,系统的操作日志不可存储在其中,导致磁盘I/O操作频繁,严重影响了数据库的处理性能。
4.4 优化设置数据库的回滚段
在Oracle中,数据库的回滚段设置的目的是为了保存原始数据的内容,基于原始内容可以撤销用户未保存的数据,Oracle数据库的真正作用也是为了从系统SQL执行操作的失败过程中将原始数据恢复上一个节点,数据库设置回滚方便数据处理中的重要操作。在优化数据库回滚段设置时,也需要根据优点建立不同的数据库回滚段,并且将不同的数据库回滚段置于表的分区中。
4.5 优化磁盘I/O操作
优化磁盘I/O操作是数据库性能优化关键环节,磁盘I/O操作优劣取决于很多因素影响。其中有优化磁盘I/O操作次数太多,分配数据库存储空间不当,因此,减少I/O操作的次数频率需要将大部分数据存储在高速缓冲区内,当管理员降低Oracle服务器查询等待时间,需要将数据表实现分区和索引。
第一,优化数据表的索引Index结构。数据库中表结构重要就是索引设置,优化表的索引结构性能是优化整体性能的基础,原因是大多数的查询都是基于索引实现的,如果能够有效利用表的索引结构,从而提高系统访问的效率,提高了用户查询效率。利用表的索引减少数据库中的I/O读写次数,在建立表的索引结构时,并不是索引越多越好,虽然,有索引的数据库比没有索引的检索效率,但有的时候需要修改表的索引,修改索引操作影响了数据库的性能。
第二,合理划分表分区技术。表分区可以实现将不同数据存储到文件磁盘中,实现对数据库实现物理区分,合理划分表分区技术时,系统需要把用户查询分布不同的表分区中进行,实现数据分区查询可以大大减小检索时间,在进行分区的同时,可将数据分散到不同的磁盘中,磁盘I/O操作增加会严重影响数据库的性能。
4.6 CPU性能调整
本文通过对CPU性能优化利用各种资源,提高数据库的CPU性能。
第一,使用多个CPU共同完成用户的事务执行操作,如果资源允许的情况下,需要将数据库的服务器和CPU资源实现分离。
第二,实现数据检索时,可以实现批量检索方式,同时进行数据检索功能。
4.7 优化oracle表空间
优化数据表空间是重要的概念,高效合理的优化表空间可以实现提高系统的性能。合理优化表空间应适当数据分离和建立表的索引结构。减少磁盘I/O操作应分离操作日志;在数据库开销上应分离表的存储空间、数据存储空间。
5 本文结论与未来研究方向
在需求阶段分析阶段,Oracle性能优化是应用系统设计的基础,而在系统运行过程中不断地进行优化系统的管理性能,建设性能状态良好的系统。
[1]盖国强.循序渐进Oracle数据库管理、优化与备份恢复[M].北京:人民邮电出版社,2007
[2]赵梦勤,李秀兰.ORACLE数据库应用系统的优化策略[J].计算机工程与应用.2003(27):217-218
[3]潘敏.Oracle数据库性能优化的分析[J].电脑编程技巧与维护,2010(20):21-22
[4]韩云波.Oracle性能调整技术研究[J].电脑知识与技术,2010(7):65-66