建立与Oracle服务器连接的两种连接模式

笨笨qf

笨笨qf

2016-01-29 14:39

建立与Oracle服务器连接的两种连接模式,建立与Oracle服务器连接的两种连接模式

    在建立Oracle数据库的时候,应该会在数据库建立助手向导上面看到这么一个选项,就是数据库的连接模式采用什么方式。在Oracle9i或者10g中,可以看到有2种连接模式,一种叫做专用服务器连接(dedicated server) ,另外一种叫做共享服务器连接(shared server)。下面我们来分类说一下这两种连接方式的不同点。

    专用服务器模式就是说每次在对Oracle进行访问的时候,Oracle服务器的Listener会得到这个访问请求,然后回为这个访问创建一个新的进程来进行服务。所以说,对于每一个客户端的访问,都会生成一个新的进程进行服务,是一种类似一对一的映射关系。这种连接模式的一个很重要的特点就是UGA(用户全局域)是存储在PGA(进程全局域)中的,这个特性也很好说明了当前用户的内存空间是按照进程来进行分配的。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com)

    而另外的共享服务器连接则是一种在程序编写的时候通常会用到的连接池(pool)的概念。采用这种模式的话,在数据库的初始化的时候就会创建一批服务器连接的进程,然后把这些连接进程放入一个连接池来进行管理。初始化的池中的进程数量在数据库初始化建立的时候是可以手动设置的。在连接建立的时候,Listener首先接受到客户端的建立连接的请求,然后Listener去生成一个叫做调度器(dipatcher)的进程与客户端进行连接。调度器把把客户端的请求放在SGA(系统全局域)的一个请求队列中,然后再共享服务器连接池中查找有无空闲的连接,然后让这个空闲的服务器进行处理。处理完毕以后再把处理结果放在SGA的相应队列中。调度器通过查询相应队列,得到返回结果,再返回给客户端。这种连接模式的优点在于服务器进程的数量可以得到控制,不大可能出现因为连接人数过多而造成服务器内存崩溃。但是由于增加了复杂度以及请求相应队列,可能性能上有所下降。

    总之,在开发阶段中,用第一种专用服务器可能好一些,因为少了一些中间的复杂度,而且开发的时候一般连接的数量也少。而在多个应用同时使用一个数据库的实际应用环境下,采用第二种方法可能好一些,因为如果到时候突然有1000个或者10000个请求连接的话,数据库服务器如果同时建立10000个连接,肯定要受不了的。当然,也要看到时候的实际情况如何再做决定,两者没有绝对的哪种好哪种不好的差别。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com)
展开更多 50%)
分享

猜你喜欢

建立与Oracle服务器连接的两种连接模式

电脑网络
建立与Oracle服务器连接的两种连接模式

建立与Oracle数据库服务器连接的两种连接模式(专用服务器与共享

编程语言 网络编程
建立与Oracle数据库服务器连接的两种连接模式(专用服务器与共享

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

SQL Server到Oracle连接服务器的实现

SQLServer
SQL Server到Oracle连接服务器的实现

电驴怎么连接服务器 电驴连接服务器解决方法

软件教程
电驴怎么连接服务器  电驴连接服务器解决方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

flashfxp怎么连接服务器?

服务器
flashfxp怎么连接服务器?

电驴怎么连接服务器

电脑网络
电驴怎么连接服务器

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Oracle数据库中的数据出错的解决办法

Oracle数据库中的数据出错的解决办法

Oracle数据库如何查询记录时给记录加锁

Oracle数据库如何查询记录时给记录加锁
下拉加载更多内容 ↓