概念和区别
---------------------------------------------------------------
共享模式适用了一种类似连接池的概念,但实际应用中效果不是很好,不知道在10g中有没有改善
---------------------------------------------------------------
专用模式和共享模式的本质区别就是: 用户进程对ORACLE内存区里"服务器进程"的专用还是共享.
具体表现在:
www.ixdba.net
1、在共享模式下,多个用户进程共享一个服务器进程,在专用模式下,ORACLE为每一个用户进程准备一个服务器进程。
2、在实际情况中,应用系统与数据库的连接请求总是很多,导致用户进程也很多,如果你的内存和CPU是有限的,同时,用户进程对数据库的操作占用空间不多,那你就把数据库连接模式设置为共享模式,这样,ORACLE内存区的服务器进程只是有限的几个,这几个服务器进程会通过一个调度程序来应付若干用户进程的请求。
3、如果你的硬件资源比较好,就设置成专用模式,每一个用户进程都有一个服务器进程对应,这样,你的用户进程对数据的处理会非常快!
---------------------------------------------------------------
简单的说,连接客户数少,需要长时间占用数据库的,建议用专有模式,如果连接客户数众多,使用共享模式
最主要的是3个参数:
shared_servers
max_shared_servers
dispatchers
如果shared_servers=0,则数据库会运行在dedicated模式下。
如果shared_servers>0,数据库会运行在shared模式下,如果没有指定dispatchers参数,则oracle自动根据每种protocol创建一个dispatcher。
两种模式可以通过修改参数自由切换。
Note:
1. 如果是dedicated server,则客户端只能创建dedicated server connection
2. 如果是shared server,则客户端能创建dedicated server connection和shared server connection,只要在service name中指定server=dedicated or server=shared.
具体参见:
http://download-west.oracle.com/ ... nproc.htm#sthref630