技术开发 频道

Oracle数据库优化之系统全局区(SGA)

  优化数据字典高速缓存:

  select sum(gets)"Read Requests",sum(getmisses)"Reads not in Memory" from v$rowcache ;

  Read Requests Reads not in Memory

  ------------- -------------------

  4764 145

  命中率=Read Requests/ Reads not in Memory

  若低于85% 应增加 SHARED_POOL_SIZE

  优化游标:

  可用以下语句检测游标的命中率:

  select * from v$session_cursor_cache ;

  select * from v$system_cursor_cache ;

  优化游标应综合考虑,若打开的游标过多则应用程序需要的内存增大,可能发生共享池内存被换出到虚存从而影响性能。 以下三个INIT.ORA中的参数可影响游标的性能:

  CLOSED_CACHED_OPEN_CURSORS 指示oracle当执行commit或rollback语句时,是否显式的关闭游标。如果游标需要反复使用可以设为false,否则应为true从而减少内存占用。

  CURSOR_SPACE_FOR_TIME 若为true指示oracle只要在sql共享区中有打开的游标就一直保存该区域,若其值为false oracle可将其换出内存,即使游标仍打开。只有共享池能保存所有打开的游标时才将其设为true。

  OPEN CURSORS设定一个会话可同时打开的游标数。

  注释:以上增加SGA分配的调整以SGA不被换出实存为限,否则SGA部分换出实存反而降低Oracle性能。

0
相关文章