通行证: 用户 密码 网站建设  下载中心 社区论坛 信息公告 MY小屋
联系我们
设为首页
加入收藏

 

QQ,ASP,PHP,JSP,XML,SQL,.Net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | Q Q 专栏 | 建站经验 | 在线工具 | 站长Club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务
当前位置:首页>>数 据 库>>Oracle>>正文 新版上线![旧版]
注:打开慢时请稍等

关于提高Oracle数据库性能的四个误区

http://www.iyit.net  日期:2007-1-4 17:07:31  来源:  点击:
参加讨论

为了提高性能,我们针对Oracle数据库本身提供了的方法或方案进行过不少的尝试,主要包括:

共享服务器模式(MTS);

集群技术(Clustering)RAC;

分区;

并行处理(主要是并行查询)。

Oracle提供的这些特性确实是用来进行性能改善的,但我们往往忽略了对自身应用特性的分析,它们是否适合于我们。最近,通过对这方面知识的深入了解,发现我们以前存在一些错误的认识。我觉得有必要,大家一起来改变这种误解。

分析之前,先明确一下我们的应用特性。数据库应用大体可以分为OLAP和OLTP两大类,即:联机事务分析(数据仓库)和联机事务处理(事务应用)我们的应用系统,其应用特性主要是联机事务处理,又包含了少量的数据仓库特性。

1、共享服务器(MTS)

Oracle缺省用的是专用服务器模式,也就是说一个用户连接进程对应一个服务器的进程。记得某大医院刚启用的时候,我们曾经试过MTS。因为听说MTS在不增加内存和CPU的情况下连接更多的客户端,结果并不是我们预期的那样。MTS有问题吗?不是,是因为我们对MTS不了解,并不是它有问题,而是它不是用来在这种情况下做这件事的。

一般情况,只有当并发连接数超过了操作系统的支持时,才建议使用MTS,否则应该使用缺省的专用服务器模式。也就是说,在专用服务器模式下,因为多一个连接就要多消耗一个操作系统的进程,只有当并发应用需求超过操作系统的允许连接数时,才有必要考虑MTS。

如果现有系统,物理上支持100个连接的专用服务器数据库,改为使用共享服务器模式,也许支持1000个连接,但同时活动的连接可能只有100个。一般2到4个CPU的服务器,应对200到400个并发连接是足够的,如果连接增加了,可以增加CPU和内存。

MTS具有以下一些缺点:

1、共享服务器的代码路径比专用服务器长,所以它天生就比专用服务器慢。

2、存在人为死锁的可能,因为它是串行的,所有共享服务器绑定在一起(一个进程),只要一个连接阻塞,则所有用户阻塞,并且极可能死锁。

3、存在独占事务的可能,因为如果一个会话的事务运行时间过长,它独占共享资源,其它用户只能等待。(而专用服务器,每个客户端是一个会话)

4、共享服务器模式限制了某些数据库特性,例如:不能单独启动和关闭实例,不能进行介质恢复,不能使用Log Miner,不能使用,并且SQL_TRACE没有意义(因为是共享而不是当前会话的)。

MTS减少的内存实际上是专用服务器模式下每个用户连接到操作系统进程所需的内存,但它却使用SGA的Large_Pool来分配UGA,拆东墙补西墙,所减少的内存是很少的。如果用户会话的连接和断开很频繁,数据库进程的创建和删除的开销会非常大,这种情况最好采用共享服务器模式(否则,应该使用连接池技术)。所幸的是,我们产品的设计可能就考虑了这个因素,使用的是一次连接终身使用(会话生命周期内),避免了这种情况。

所以,综上所述,针对我们产品,建议采用缺省的专用服务器模式,连接不够时,通过增加硬件解决,而不是改用MTS。另外,实际上,Oracle可以同时支持共享服务器和专用服务器模式,可以指定一个会话使用专用服务器,另一个会话使用共享服务器。

2、集群技术(RAC)

Oracle RAC(Real Application Clusters),我们说的双机容错就是RAC的一种。 集群技术的优势在在于横向扩展性能,并提供高可用性。32位的操作系统有4G内存的限制,有些Unix系统(以及非高级版本的Windows)有CPU个数的限制。而集群技术通过集合多台机器协同工作,横向打破了这种限制。通过RAC,一台服务器一个实例,多台机器构成一个实例服务集,客户端连接到它上面。这项技术,我们有时对客户说是负载均衡,实际上这是片面的,RAC的主要针对的是CPU和内存的负载均衡,并没有实现磁盘IO的负载均衡。(当然,磁盘IO可以通过Raid或NAS来实现)

RAC还有一个好处是,提高了可用性,也就是说一台服务器坏掉了(注意:不是数据存储介质),不影响正常使用。就像负载均衡一样,它提高了数据层以上的可用性,但不是全部,因为数据坏了,它也没有办法。(数据层,那是Oracle Data Guard的事了,或者干脆说那是存储硬件的事)

本新闻共2页,当前在第1页  1  2  


编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:Oracle数据转储时字符集的转换规律
下一篇:用 Oracle AS 10g 为PHP提供的一次性登录
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
Oracle数据的异地自动备份 Oracle数据库的ORA-00257故障解决过程 ORACLE的日志管理
用 Oracle AS 10g 为PHP提供的一次性登 Oracle数据转储时字符集的转换规律 Oracle中集成安装客户端与应用程序
关于Oracle实例的进程结构和内存结构 Oracle家电行业供应链及制造管理方案 基于Oracle ADF的应用程序开发
Oracle数据库访问限制绕过漏洞
最新更新 热点排行 推荐新闻
Oracle数据的异地自动备份
Oracle数据库的ORA-00257故障解决过程
ORACLE的日志管理
你的INTERNAL帐号密码忘记了怎么办
用 Oracle AS 10g 为PHP提供的一次性登
高手清除系统垃圾完全手册(3)
高手清除系统垃圾完全手册(2)
高手清除系统垃圾完全手册(1)
2007,个人站长何去何从?
QQ密技十五招
Oracle数据的异地自动备份
Oracle数据库的ORA-00257故障解决过程
ORACLE的日志管理
你的INTERNAL帐号密码忘记了怎么办
用 Oracle AS 10g 为PHP提供的一次性登
基于Oracle ADF的应用程序开发
Oracle家电行业供应链及制造管理方案
Oracle数据的异地自动备份
你的INTERNAL帐号密码忘记了怎么办
用 Oracle AS 10g 为PHP提供的一次性登
msn8.0下载、msn shell、msn8.0中文版
windows下如何修改右键菜单
网页里插入视频文件方法大全
金山词霸2007未上市即遭盗版
将自已的程序加到鼠标右键菜单里
QQ挂太阳专家 V1.0.3  下载
06年11月09日石家庄太和CPU、内存、硬
06年11月11日石家庄太和CPU、内存、硬
Windows Vista 5840简体中文版体验心得
QQ号码激活系统常见问题及解决方法
基于Oracle ADF的应用程序开发
高手清除系统垃圾完全手册(3)
高手清除系统垃圾完全手册(2)
高手清除系统垃圾完全手册(1)
2007,个人站长何去何从?
提示“虚拟内存”不足的怎么办
防止网吧电脑掉线现象的高级路由技术
QQ在Windows Vista下蓝屏故障的临时解
对网站改版方案建议 保持网站流量 
妙用ISEE三步将女友照片变为日历
简单实用 最新刷QQ等级方法 

设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyrights © 2004-2007 iYiT.Net All Rights Reserved.
网站合作、广告联系QQ:147007642、466949678
易特网络技术 点击这里给我发消息