<%@ page contentType="text/html; charset=gb2312"%> 在windows2000下优化oracle9i性能(4)
网站公告:   ◆北天JAVA技术网热情为java爱好者服务,本网内容包括JAVA(JSP、servlet、EJB、webservice、j2ee、javabean、应用服务器、JavaScript),数据库(MYSQL、SQL Server、Sybase、Oracle、DB2、数据库综合知识),设计研究(设计模式、Struts、Spring、Hibernate、设计框架、设计综合知识),WEB2.0新技术(主要介绍AJAX),以及各种技术的入门、实例、例子等等,欢迎各位多来坐坐!◆  诚邀各位JAVA爱好者加盟!◆  本网站内容丰富,更新快,保证每周20篇以上!  
加入收藏
设为首页
联系站长
承接项目
  相关资源:网站首页 | 免费培训学院 | 技术论坛 | JAVA聊天室 | 作家专栏 | 开发工具 | 认证考试 | 会员俱乐部
  JAVA技术初学者园地 | jsp与servlet | javascript | Java源代码 | EJB | web service | 应用服务器 | JAVA综合知识
  设计研究设计模式 | 设计框架 | Struts | Spring | Hibernate | 开源项目 | 面向对象设计 | 设计综合知识
  数 据 库MYSQL | SQL Server | Sybase | Oracle | DB2 | Informix | Access | 数据库综合知识
  其他资源:AJAX新技术 | 网站开发 | ERP软件 | OA办公软件 | 商业智能BI | 开发综合知识 | 承接项目 | 项目试用

 
 
在windows2000下优化oracle9i性能(4)
     发布者: 发布时间:2006-05-07
(三)awe和oracle

可以确定,oracle8i所有发行号版本和oracle9i发行号2只允许你为数据库块缓冲区配置超过4gb限制的内存空间,因此,要为用户连接释放标准进程地址空间的内存(低于3gb界限的内存)、pga内存和组成sga的不同内存缓冲池。

在初始化参数文件init.ora中要设置参数use_indirect_data_buffers=true,没有这个参数,oracle不能寻址到4gb以上的地址空间。接下来要设置决定内存使用总量的缓冲池大小,设定db_block_size和db_block_buffers两个参数。

在oracle9i发行号2中,参数db_block_buffers被参数db_cache_size所代替,这样就改变了原来指定缓冲区块数到指定缓冲区字节数,同样,也解释了在oracle9i发行号2的一个数据库中支持多个数据库块大小。无论用哪种办法,如果你设定参数use_indirect_buffers=true,你将只能定义和使用单个数据库块大小和块缓冲区(就象在9i以前的发行号中),因此,如果缺省数据库块大小是4k、8k或其它,而设置db_2k_cache_size是不允许的。

接下来需要在注册表中为oracle_home设置合适的awe_window_memory参数值,也就是在hkey_local_machine\ software\oracle\home0下,这个参数指定字节数,如果没有设置,缺省值是1 gb。这个参数的大小取决于你要设置多少缓冲区大小,并视为来自3gb进程地址空间的常规内存。以缓冲区大小为6 gb为例,设置awe_window_memory为缺省值1gb,你希望1gb 视为常规内存,并且剩余5gb缓冲区来自4gb限制以上的地址空间。你希望更多的缓冲池尽可能保留在常规地址空间,因为访问超过4gb以上的缓冲池比访问虚拟地址空间缓冲池要慢(尽管仍然比磁盘i/o操作快)。

(四)解决与awe相关的内存问题

需要注意的是每个4gb界限以上的块缓冲区需要在常规地址空间保留大约200字节的缓冲区头,因此,在上面的例子中,我们大约有312000个缓冲区头指向扩展地址空间的缓冲区,缓冲区头大约占80mb常规内存空间,如果数据库块很小,那么这个数量会相当高,因此,必须确保这些缓冲区头、awe_window_memory、和所有oracle.exe进程的内存需求,包括编码、sga其它组件、pga内存和每个用户连接栈都适合oracle.exe进程的常规3gb虚拟地址空间。

确认你有足够的物理内存处理超过awe_window_memory之外的db_block_buffers,在我们的例子中定义缓冲池大小为6gb,1gb来自常规地址空间,剩余5gb来自4gb以外的对整个进程有效的系统和进程地址空间,因此,这个例子只能工作在至少有9gb内存的机器上,你还应该为其它进程保留一些空间,只有一个进程可以在某一时刻访问附加的内存。

象前面所说的那样,/pae开关只用于系统有超过4gb物理内存的时候,但如果系统内存少于4gb时,也可模仿这项功能。在boot.ini文件中设置maxmem参数的值,如下面例子,设为2gb,意味着任何2gb以上的内存都将保留为awe内存。

multi(0)disk(0)rdisk(0)partition(1)\winnt="microsoft windows 2000 advanced

server" /fastdetect /pae /maxmem:2048

为一个数据库使用附加的多个进程

真正的应用集群(real applications clusters,rac)提供有多个实例运行和访问同一数据的能力。通常,这用于有两个或多个节点的项目,一个实例运行在每个节点。无论如何,它支持在oracle9i有两个实例运行在一个节点访问同一个数据库。这能克服每个进程的内存限制,又提供某些其它的利益,如应用程序失败检测。
(转载文章请保留出处:北天JAVA技术网(www.java114.com))
 
更多精彩文章:
提高oracle数据库的查询统计速度
为oracle8iforsolaris配置并管理多个数据库
resetlogs后没有备份情况下的数据恢复
在unix下让oracle定时执行*.sql文件
如何在oems中成功提交作业
oracleweb应用开发之apache架设与pl/sql页面设计(2)
 
最近评论:
        
冰封的往事!
wow power leveling,wow gold,wow power leveling,wow gold max(7308)
        
冰封的往事!
wow power leveling,wow gold,WoW Gold,wow gold max(7256)
        
飞舞的传奇!
传世私服,传世私服.传奇世界私服传奇世界私服,传世私服传世私服, 传奇世界私服传奇世界私服.传奇私服传奇私服. max(1961)
        
标 题:   
内 容:   
 
                                  
 
免责声明:该文章由网友发表,如果对您造成侵权,请联系站长

首页 - 承接项目 - 网站地图 - 联系我们 -
版权所有北天JAVA技术工作室 ICP证号:粤ICP备06079815号