关于提高Oracle数据库性能的四个误区
2007-05-12 12:24:25 来源:WEB开发网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来实现)
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接