APP下载

基于Oracle数据库系统性能调整与优化研究

2018-12-07王宇

神州·下旬刊 2018年11期
关键词:Oracle数据库优化

王宇

摘要:Oracle数据库系统性能的高低、好坏与多因素相关,除了传统的网络性能、操作系统等会对其性能造成影响外,数据存储结构、应用程序等,也会对其性能产生影响。本文首先探讨了Oracle数据库的优化调整技术,即分别从数据库运行环境优化、应用优化及数据库参数优化等方面,指出此数据库的优化方法,望能为此领域研究有所借鉴。

关键词:Oracle数据库;系统性能;优化

Oracle数据库是一种在安全性、可靠性与兼容性方面均高的大型数据库,被广泛应用在生产制造、通信及金融等领域。为了能够更好的满足Oracle数据库的应用需要,对信息时代下所产生的大量数据进行管理与利用,为业务应用提供更好支撑,这对于Oracle数据库的优化至关重要。在现实应用与操作中,常会出现Oracle数据库系统性能变差的情况,现阶段,性能恶化多表现为需花费用户较长的等待时间、系统响应时间较长等。而对其进行性能优化,主要使结合现实情况及需要,调整那些对其性能造成影响的因素,从中获得更优优质的运行状态,使性能最佳。本文就Oracle数据库系统性能调整与优化策略作一剖析。

1.环境优化

1.1内存的优化

(1)对内存进行合理配置。在配置系统内存时,需达成如下目标:(1)尽量减少分页;(2)减少内存交换;(3)尽量使系统全局区(SGA)驻留内存。因此,可采取如下措施,对内存进行合理配置:(1)用“sar p”命令,或者是“vmstat”命令,对分页进行有效监控;(2)尽量规避运行那些无用、没必要的应用程序或系统进程;(3)把部分工作转移至另外一个操作系统当中;(6)在对操作系统的核心进行配置时,尽量减少内存;(7)使SGA始终处于单个共享内存段当中。(2)优化操作系统参数。针对SGA来讲,其较大程度影响着数据库的性能,而在设置SGA时,又受操作系统部分数据的影响与制约。比如Solaris操作系统(SUN公司),/etc/system文件当中的若干参数,会对Oracle当中的内存分配造成直接影响,因此,需要根据实际需要,对各个参数进行合理配置,使系统保持高质量运转状态。

1.2对数据库磁盘输入/出进行优化

磁盘输入/出(I/O)速度直接会影响到系统性能。将磁盘I/O问题解决好,可大幅提升性能。(1)使用磁盘阵列。伴随文件系统与硬件的改进,在提升Oracle数据库的I/O操作时,RAID尤为关键。在整个RAID架构当中,数据在多个磁盘中存放,以奇偶校验及奇偶拆分的方式,实现数据缓存、数据分配与数据沉余,实现数据库相应I/O符合的减少。针对RAID来讲,其拥有诸多标准,比如RAID-1+0、RAID-1等。针对磁盘阵列来讲,因其可以将I/O负担、安全等较好的解决掉,因而在多领域中得到广泛应用。(2)使用分区。针对分区方法来讲,其那是提升与大型表相关性能的最直接且有效方法。对索引的较小片段进行访问,或直接访问一个表,而并非对整个索引或表进行访问,分区能够提升效率;针对相关数据而言,其在物理层面上时分开的,但如果在具体的逻辑层面上,便为一起的。借助分区能提升事务处理、维护操作及恢复等方面的性能。(3)用裸设备。所谓裸设备,从根本上来讲,就是针对没有经过格式化处理的磁盘,进行相应分区,Oracle能对其进行读与写,且无UNIX/IO缓冲开销。另外,针对裸设备而言,其能够用于重做日志文件,还能用作写操作频繁且顺序访问的数据,但在程序中无法使用备份。

2.数据库参数优化

(1)设置SGA_MAX_SIZE。一般情况下,在起初阶段便将SGA_MAX_SIZE设置成物理内容的25%,若用户量比较大,或存在不足,系统均会自动将其设置成15~20%,若用户量比较少,或内存充足,则准允使用30~50%的物理内存。此外,还需要指出的是,SGA_MAX_SIZE的大小对诸多参数相应粒度大小具有决定作用。如果SGA_MAX_SIZE小于128Mbyte,则其粒度大小是4Mbyte;如果大于128Mbyte,那么粒度大小使16Mbyte。(2)设置PGA_AGGREGATE_TARGET。其乃是Oracle在全部回话当中分配的会话PGA总内存,同时还是Oracle所引入的具体参数,能够对_SIZE类型参数进行替换,在对PGA_AGGREGATE_TARGET的各项参数进行设置时,需要把WORKAREA_SIZE_POLICY设置成AUTO。而在实际使用中,其好处即为能够对用户会话的总内存使用量进行设置,以此来减少分页。而对于PGA_AGGREGATE_TARGET的参数来讲,需设置成ESTD_PGA_CACHE_HlTPERCENTAGE>95%的值,如此一来,便能从中得到更高的缓存命中率。

3.應用优化

(1)索引优化。索引较大程度影响着数据库I/O。若借助索引来对数据库进行访问,能使原先对大型表的全表扫描大幅减少,因而可时I/O开销减少。而在使用索引时,一般情况下,能提升DELETE语句的性能,而且还能时UPDATE的性能得到提升,但会使INSERT语句的性能降低,所以,索引并不是越多就越好,在实际使用索引时,需始终秉持如下原则:(1)针对那些更新缓慢的静态大表,则建立索引;(2)为了能够更好的查询语句,仅选择少量字段开展查询的表,则建立索引;(3)如果常需连接,但无指定外键的列上,需建索引。(2)SQL语句的优化。在对数据库进行操作时,SQL为其唯一途径,决定着数据库系统的性能。针对SQL语句来讲,其消耗的数据库资源占70~90%。在优化SQL语句时,就是把性能比较低的SQL语句向目的相同且性能更佳的SQL语句转换。

4.结语

综上,Oracle系统有着比较庞大的体系,且伸缩性方面也比较强,需给予长期维护。本文基于Oracle数据库系统,分别从数据库运行环境优化、应用优化及数据库参数优化等方面,指出了针对性能的具体调整与优化策略,希望对此领域研究有些许帮助。

参考文献:

[1]谷小秋,李德昌.索引调整优化Oracle 9i工作性能的研究[J].计算机工程与应用,2005,41 (26):174-176.

[2]张学义,王观玉,黄隽.基于Oralce数据库SQL查询优化研究[J].制造业自动化,2011,33 (2):116-118.

[3]郭敏,郭靖.Oracle 10G数据库性能优化的研究[J].武汉理工大学学报,2005,27 (10):103-105.

猜你喜欢

Oracle数据库优化
优化问题设计
营商环境五方面持续优化
优化英语课堂教学策略的探索
促进学生认识发展 优化初中化学复习
Oracle数据库安全管理策略的优化
Oracle数据库应用问题与解决方案分析
一种Oracle数据库表空间监控方法
《Oracle数据库》课程教学模式探究 
CAE软件操作小百科(30)