2006-12-19

关于Oracle服务器性能全面调整攻略

来源: 本站收集整理 作者:佚名 评论 0 条
 

Oracle服务器是高度可调的数据库系统,它提供了许多特性,正确地设置和调整可以有效提高系统性能,因此,对系统进行调整是数据库治理员的主要责任。由于应用设计人员很少或根本不会给数据库治理人员提供必要的信息,因此只能采用对已有应用系统影响最小的调整方式:重新分配内存、调整磁盘I/O来提高性能。

调整内存

Oracle服务器将信息存储在两个地方:内存、磁盘。因为内存的存取比磁盘的存取快得多,为了获得最佳的性能,总是希望将数据尽可能多地放在内存供用户读取。可是系统内存资源是有限的,不可能将所有数据放在内存,因此,要在现有内存资源的基础上,通过调整内存分配来获得尽可能好的性能。调整内存的分配,实际上就是对Oracle数据库内存结构分配恰当尺寸的可用内存。

为了取得好的效果,调整要按如下顺序进行:调整操作系统、调整共享池、调整缓冲区高速缓存。由于后面调整所作的改变可能需要对前面的调整再次进行判定和调整,因此,调整的过程可能需要若干次循环。

调整操作系统

操作系统运行得好,是Oracle调整内存分配的基础,其方法如下:

减少调页或交换 过度的调页或交换必定会降低操作系统的性能。可以用操作系统提供的实用程序进行监控,如发现有过度的调页或交换,则说明系统总内存存放不下已经分配在内存中的信息。解决的办法是增加系统内存总量,或减少已经分配的内存量。

调整系统全局区(SGA) SGA是Oracle数据库存放系统信息的一块区域,由所有的服务器和客户进程共享,主要由以下四部分组成:数据高速缓冲区、字典缓冲区、重演日志缓冲区、共享SQL池。建SGA的目的是为了将数据放在内存以便快速存取,假如SGA过大内存放不下,就要被交换到磁盘,产生过度交换或调页,数据存取就快不了。在大多数系统里,过度调页的坏处比大SGA的好处对性能的影响要大得多,因此宁可SGA小些,也要保证整个SGA能被内存容下。 可利用SQL*DBA语句SHOW SGA来查看分配了多少内以及每个内部结构的大小。

该机系统内存256M,SGA大小约为115M,应用过程中不会发生调页或交换。为了提高性能,还可以在初始化参数文件INIT.ORA中添加参数 PRE_PAGE_SGA=FALSE,使得Oracle在启动Instance时将整个SGA读入内存。该设置虽然会增加Instance启动时间,但会减少Oracle在启动后达到性能峰值所用的时间。

调整共享池

调整共享池主要包括三个方面:库高速、数据字典缓存、对话信息。由于Oracle治理共享池中数据的算法,使得数据字典缓存中的数据比库高速缓存中的数据在内存中存留的时间长,因此,只要把库高速缓存调整成可以接受的命中率,就能提高数据字典缓存的命中率。

检查、调整库高速缓存 可以通过动态性能表V$LIBRARYCACHE来查询Instance启动以来所有库高速缓存的活动。

V$LIBRARYCACHE表中以下几列反映了库高速缓存在执行调用阶段的不命中:

PINS列,它的值显示在库高速缓存中执行的次数;

RELOADS列,它的值显示在执行阶段库高速缓存不命中的数目。
共3页: 上一页 1 [2] [3] 下一页

(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:超大型Oracle数据库应用系统的设计  
下一篇:Oracle非法数据库对象引起错误及解决
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号