网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>数据库技术>>Oracle技术>>Oracle开发>查看文档  
  oracle 9i在aix上的性能调整──内存篇     
  文章作者:未知  文章来源:赛迪网技术社区  
  查看:35次  录入:管理员--2008-06-13  
 

【赛迪网-it技术报道】oracle 9i在aix上的性能调整──内存篇

产品: aix , oracle

平台: pseries, aix

版本: all

内存访问的冲突出现在当进程申请的内存超过系统的物理内存总量时,为了处理这种情况,系统将程序与数据在内存和硬盘间进行交换。

控制内存交换操作(paging)

大量的内存交换操作会极大地影响系统的性能,尤其是在当数据库文件创建在文件系统上时(jfs and jfs2)。在这种情况下经常访问的数据,即在sga中存在,也同样在文件的缓存中存在。这种相同的数据在内存中缓存两次的情况,会降低内存的使用效率,从而使内存频繁进行交换操作,造成系统的i/o瓶颈,降低整个系统的性能。

调整aix上的文件缓存

在aix上,可以通过vmtune命令中的minperm和maxperm参数,调整系统文件缓存来控制内存交换操作,minperm和maxperm参数的调整应遵照以下的原则:

当内存中的文件缓存页在minperm以下时,内存页交换算法同时交换文件缓存页和程序页(computational pages)

当内存中的文件缓存页在maxperm以上时,内存页交换算法只交换文件缓存页。

当内存中的文件缓存页在minperm和maxperm之间时,内存页交换算法通常只交换文件缓存页,但如果文件缓存页的交换率大于程序页时,程序页也同样被交换。

minperm和maxperm参数的缺省值

minperm = ((number of memory page) - 1024)*0.2

maxperm = ((number of memory page) - 1024)*0.8

可以用以下命令将minperm设为5%的内存页,而maxperm设为20%的内存页。

# vmtune -p 5 -p 20

缺省值分别为20%和80%。

在oracle数据库应用的环境下,可以将minperm和maxperm分别设为5%和20%甚至更小,从而使内存更多地被用于oracle的sga而不是系统的文件缓存。

配置足够的交换区

如果交换区空间不足会造成系统响应速度变慢甚至挂起,交换区的大小取决于系统内存的大小以及应用程序对内存的需求。在aix上可以动态增加交换区,也可以用lsps命令察看交换区的使用状况,以及用vmstat监视系统内存页交换的操作。

通常交换区的大小需要大于系统的实际内存,这主要取决于应用程序对内存的需求。用户需要监视交换区的使用状况,根据需要增加交换区的空间。对于运行oracle application或oracle development tools可能需要较大的交换空间。

排定内存需求优先级

如果系统的内存不足,就需要对进程对内存使用的优先级进行排序,将内存优先分配给能获得更好的系统总体性能的进程。通常的顺序如下:

1. aix和oracle的核心进程

2. 应用程序进程

3. oracle的redo log buffer

4. pga和共享池(shared pool)

5. oracle的数据缓存(block buffer cache)

例如:当你查询oracle的动态性能表时发现共享池(shared pool)和数据缓存区(block buffer cache)都需要配置更多地内存,而你的系统中的空闲内存有限,那么将空闲内存分配给共享池比分配给数据缓存区有更好的效果。

数据块(database block)的大小

用户可以选择oracle数据库中数据块的大小以获得更好的性能,在aix上通过设置db_block_size初始化参数,选择从2kb到32kb的数据块,缺省值是4kb。如果数据文件在文件系统上,则oracle数据块的大小应为文件系统数据块4kb的整倍数。如果数据文件在系统裸设备上,则oracle数据块的大小应为系统数据块512b的整倍数。

oracle公司推荐,对于在线交易的应用(oltp)或混合型的应用环境,采用2kb或4kb的数据块。对于bi的应用或决策支持系统(dss),采用更大的数据块,如8kb,16kb或32kb。

调整日志归档缓存(log archive buffers)

配置较大的缓存可以提高数据库日志归档的速度,但注意不要对整个系统的性能产生影响。用户可以将log_archive_buffer_size增加到128kb (其缺省值为4kb),会提高0-20%的数据库归档操作的性能。

调整sga的大小

对于oracle sga来说,被系统的内存管理程序换出到交换区上,肯定是用户最不愿意见到的情况,这就需要系统配置有足够的内存。对于大量用户同时在线的应用,建议配置较大的sga区。对于sga影响最大的参数是db_block_buffers和shared_pool_size。增大这两个参数,取决于用户希望分配给sga内存的大小,同时,增大这两个参数也会造成cpu的利用率提高。

小结

合理的内存配置,是oracle数据库性能调整的重要方面,其根本的目标是,首先尽量避免系统内存页的交换操作,然后尽量将应用程序经常用到的数据缓存在系统的sga区中。

 
 
上一篇: 巧用oracle备份集在测试机上做不完全恢复    下一篇: oracle的三种备份方式具有不同的恢复特性
  相关文档
细化解析如何共享Oracle数据库身份空间 09-01
redhat linux as4 安装oracle 10g(包括启动) (1) 08-28
Oracle外部程序的触发小结 05-27
如何在oracle中重编译所有无效的存储过程 03-04
解析:MIS系统实例中Oracle的安全策略 09-01
教你轻松掌握数据库链路的建立和使用 (1) 05-06
解决未找到oracle客户端和网络组件现象 04-22
怎样理解分布处理和分布式数据库 09-29
讲解dbms_stats的分析表与备份分析信息 08-06
如何让oracle数据库始终保持优良性能 04-29
如何才能保障存储过程嵌套调用的原子性 07-14
相同软件环境下oracle9i数据库迁移方法 05-14
巧用外部表访问警告日志文件或跟踪文件 05-15
融会贯通oracle数据库的25条基本知识 02-29
菜鸟学Oracle - 用PL/SQL画直方图 05-27
讲解数据库变慢的三种情况及具体处理方法 06-04
在操作系统损坏时恢复Oracle10g全过程 05-27
Oracle数据库不同版本间用exp来导数据 09-01
Oracle异常关闭导致的故障及解决办法 04-11
带你轻松接触多线索机制概念 09-29
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息