2006-12-19

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

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

  

一般来说,库高速缓存总不命中数与总存取数之比应当接近零,本例为0.001%,说明库高速缓存命中率很高,该比率假如接近或大于1%,就应当立即采取措施来减少这种不命中。

措施一:增加初始化参数shared_pool_size的值,提高库高速缓存可用的内存数量,同时为了取得好的效果,可能还要增加初始化参数open_cursors的值,以提高对话答应的光标数。需要注重的是:为库高速缓存分配了太多的内存可能引起调页或交换。

措施二:写等价的SQL语句,尽可能让SQL语句和PL/SQL块共享一个SQL区,来减少库高速缓存的不命中。这是应用设计人员应该做到的:SQL语句或PL/SQL块的文本必须每一个字符都等价,包括大小写和空格。

检查、调整数据字典高速缓存 在应用已经运行,数据库达到了一种相对“稳定的状态”之后,可以通过动态性能表V$ROWCACHE来查询数据字典高速缓存的活动。

V$ROWCACHE表中以下几列反映了数据字典高速缓存的使用和有效性:

GETS列,它的值显示请求相应项的总数。

GETMISSES列,它的值显示造成高速缓存不命中的数据请求数。

  

一般来说,数据字典高速缓存总不命中数与总存取数之比应当接近零,本例为1.616%,说明数据字典高速缓存命中率比较高,该比率假如大于10%,甚至在应用过程中该比率还在增长时,就应当立即通过增加初始化参数shared_pool_size的值,来提高数据字典高速缓存可用的内存数量,从而减少这种不命中。

检查、调整对话信息占用共享池的大小 多线程服务器答应进程共享内存和连接,能支持大量用户同时访问数据库。使用多线程服务器结构时,需要将共享池分得大一些以容纳对话信息。可以通过动态性能表V$SESSTAT来查询Oracle收集对话信息使用的总内存统计。

V$SESSTAT表中session memory列,显示分配给对话的内存字节数。

max session memory列,显示分配给对话的最大内存数。

  

第二个结果比第一个结果大,但第一个结果能更好地估计共享内存应该多大,除非所有对话几乎在同一时间都达到最大分配。假如共享池不够,可以通过增加初始化参数shares_pool_size的值来增加。本例中共享池的大小为52428800,容纳对话信息绰绰有余。

调整缓冲区高速缓存

Oracle启动后不断收集和统计数据存取的情况,并将其存放在动态性能表V$SYSSTAT中。表中对调整缓冲区高速缓存有用的为以下几项统计:
共3页: 上一页 [1] 2 [3] 下一页

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

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