您的位置:首页 > 其它

专用服务器和共享服务器的区别(转)

2011-11-05 20:41 344 查看
原帖地址:http://hougbin.iteye.com/blog/847770

oracle的服务器进程分为:专用(DEDICATED)服务器进程和共享(SHARED)服务器进程

一、专用服务器进程

数据库服务器要求每个用户拥有一个专用服务器进程,当用户比较多的时候,则其对服务器的硬件资源,特别是内存,会产生比较大的压力。



适用环境:

1、
只有少数客户端。

2、
为数据仓库搭建的数据库系统。

3、
联机事务处理系统。(大事务的处理,若使用共享服务器模式,很有可能会造成有些事务需要进入队列排队,响应时间拉长)

二、共享服务器进程

多个用户程序可以并发共用一个服务器进程,客户端程序通过调用调度程序与服务器进程相连



如何查看是否是共享服务器模式?

1 查看调度程序

SQL> show parameter dispatchers;

NAME TYPE
VALUE
------------------------------------ -----------
-----------------------------
dispatchers string
(PROTOCOL=TCP)
(SERVICE=sdecp

yXDB)
max_dispatchers integer
5
mts_dispatchers string (PROTOCOL=TCP)
(SERVICE=sdecp

yXDB)
mts_max_dispatchers integer
5

2、查看共享服务器进程数
SQL> show parameter
shared_servers;

NAME TYPE
VALUE
------------------------------------ -----------
-----------------------------
max_shared_servers integer
20
shared_servers
integer 1

3、预留

SQL> show parameter shared_server_session;

NAME TYPE VALUE
------------------------------------ ----------- ---------
shared_server_sessions integer 165

其中

dispatchers:调度程序服务器进程

max_shared_servers :指定同时运行的最大服务器进程数

shared_servers :启动实例时可以创建的服务器进程数

shared_server_sessions:指定用于用户会话的总数,配置此参数可为专用服务器保留用户会话

4.改变进程数

SQL> alter system set shared_servers=2;

系统已更改。

SQL> show parameter shared_servers;

NAME TYPE VALUE
------------------------------------ ----------- -------------------------
max_shared_servers integer 20
shared_servers integer 2
SQL>

优点是客户端进程多对一,增加了数据库可以支持的用户数。缺点就是各个用户共享一个进程,对用户访问数据库的性能有所影响。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: