Java开发网 |
注册 |
登录 |
帮助 |
搜索 |
排行榜 |
发帖统计
|
您没有登录 |
» Java开发网 » Database/JDBC/SQL/JDO/Hibernate
» Oracle
打印话题 寄给朋友 订阅主题 |
作者 | Oracle8.1.7OPS系统性能调整 [精华] |
javapro
发贴: 56 积分: 50 |
于 2003-08-06 13:25
ops性能差的主要矛盾在于应用程序的运行模式如果没有按照Oracle Parallel Server的特点进行调整,同样性质的操作的用户被平均分配到若干节点上,节点上用户所访问的数据库对象基本上相互重叠。这在Oracle Parallel Server应用中是不被推荐的。因为在并行服务器结构中,多个节点共享一个数据库,由此而产生了对共享资源的竞争,由此引入了(相对于单节点数据库的)额外的多个节点间资源共享锁机制,在Oracle中称为分布式锁。分布式锁控制多个节点间数据同步问题。在当前系统的应用模式下,两个节点访问到的数据库对象基本相同,所以会产生对分布式锁的非常激烈的竞争,而分布式锁的获得和释放是非常耗费系统资源的。所以OPS应用模式是在可能的情况下,尽量使运行在两个节点上的应用程序访问不同的数据库对象,目的是尽量减少两个节点对分布式锁资源的竞争. 一般调整可以遵循以下的建议: 1:Application Partitioning:尽量使运行在两个节点上的程序访问不同的数据库对象,即使两个节点的应用程序锁频繁访问的数据库对象相重叠部分越少越好。只有这样才能减少节点间对分布式锁资源的竞争,减少不必要的资源消耗 2:假如应用尚未Application Partitioning,将Oracle的分布式锁设置为使用“fine grain lock”而非“hash lock”,以尽可能减少两个节点对数据块的竞争 3:Oracle启动参数“session_cached_cusors”= 比较大的数值 ,“cursor_sharing”= force (原为exact),提高sql语句的共享程度. 4:优化器由缺省的“基于成本的优化器”改为“基于规则的优化器”,并将所有频繁访问的数据库表和索引的并行处理度改为1 5:在ops环境中容易因为多个节点共同操作一个表或索引而引起对头数据块的竞争,可以通过建立多于一个的freelist groups和freelists来缓解资源竞争. 6:在OPS,多个节点上的Oracle后台进程SMON都会试图完成它的缺省工作也就是临时段的清理和相邻空闲空间的接合,需要到“空间管理”锁(ST enqueue)后才能进行。而在于一个数据库只有一个ST锁,而多个节点的SMON会对该锁资源进行不必要的竞争。所以可以在一些节点上停止SMON的缺省工作(通过设置Oracle参数“event=10061 ... ...”和“event=10269 ... ...”实现)。同时改变Oracle用户使用的临时表空间的性质,使之成为“local managed temporary tablespace”,来进一步减少对ST锁资源的竞争. ps:趁上班午休的时候共享给大家的,having fun!,不知道是不是精华贴呢,呵呵. Java开发规范 |
话题树型展开 |
人气 | 标题 | 作者 | 字数 | 发贴时间 |
21669 | [精华] Oracle8.1.7OPS系统性能调整 | javapro | 1189 | 2003-08-06 13:25 |
16629 | Re:Oracle8.1.7OPS系统性能调整 | javapro | 20 | 2003-08-06 16:57 |
16458 | Re:Oracle8.1.7OPS系统性能调整 | runaway | 66 | 2003-08-08 10:00 |
16785 | Re:Oracle8.1.7OPS系统性能调整 | javapro | 11 | 2003-08-08 17:34 |
已读帖子 新的帖子 被删除的帖子 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |