为了更好的控制Oracle数据库的连接,Oracle提出了一个连接管理器的解决方案。连接管理器是Oracle开发的一个中间件解决方案,它提供了许多可缩放性的特性。Oralce连接管理器又是一个多用途的联网解决方案,可用于提升可伸缩性、提供多协议连通性以及安全网络访问控制方案。如下图所示,具体的来说Oracle连接管理器可以实现如下几个功能。
功能一:多路复用。
Oracle连接管理器通过充当一个连接集中器以在单个网络连接内集中多个客户端数据库会话,以支持大量用户连接到一个服务器。也就是说,连接管理器可以分组许多客户连接并把它们作为一个单独的多路复用网络连接发送给Oracle服务器,这就降低了服务器必须管理的网络连接总数量。如上图所示,如果现在有三个用户通过客户端要连接到Oracle数据库据服务器中,则这三个用户可以先连接到“Oracle连接管理器”上。然后连接管理器会对客户端的请求进行处理,并把它们合成一个请求转发给数据库服务器。此时数据库服务器就会认为这三个用户的请求是来自于同一个客户端。从而可以支持大量客户端连接到一个数据库服务器中;同时可以降低服务器管理的网络连接总数量。另外这种处理机制还可以降低数据库服务器的系统资源开销,提高数据库的性能。因为Oracle连接管理器可以通过将到服务器的网络连接数量降至道最低来减少操作系统的资源要求,可以避免数据库网络应用中的瓶颈,数据库系统的可伸缩性将得到极大的改善。
故当企业的客户端数量比较多的话,笔者建议数据库管理员在网络中部署一个连接管理器。客户端通过连接管理器来连接到Oracle数据库中。
功能二:支持防火墙,提高数据库安全。
在Oralce连接控制器中体现了跟防火墙很好的合作性。如通过Oralcle连接管理器的Proxy功能,防火墙厂商能够在Oracle环境中提供部署真正分布式互联网和内联网应用程序所必须的支持。以前在没有这个功能的时候,防火墙就成为了Oracle数据库网络应用的重大障碍之一。
如笔者以前在部署Oracle数据库应用的时候,就出现过很多防火墙与Oracle数据库不兼容的案例。如一次笔者给防火墙应用了一个补丁程序。在打补丁之前,数据库连接还很正常的。可是当打了补丁之后,数据库连接就出现了问题。如客户端与Oralce数据库服务器之间会出现一些间歇性的断开现象,虽然说笔者怀疑是这个补丁程序出现了问题,但是没有证据防火墙厂商也会买我的帐。笔者花了好几天时间对网络与数据库通信进行跟踪;而且还去调查其他企业是否也有类似的情况。皇天不负有心人,终于让笔者发现了问题所在。然后笔者就跟防火墙厂商进行联系,协商具体的解决方案。在彼此双方的共同努力下,这个问题终于得到了圆满的解决。
虽然现在Oracle数据库能够提供对防火墙的支持。如支持IP过滤防火墙,以监视IP网络信息包的传播,并过滤出哟阿么不发自指定计算机组的信息包。而且还可以通过基于代理的防火墙阻止来自防火墙外部的信息直接流入到企业网络中。这种防火墙就好像是企业的一个看门人,会对用户的请求进行审查并只发送适当的信息到企业网络。可见防火墙是企业网络中一个重要的安全机制,也是保护Oracle数据库安全的一个重要手段。但是类上面这种防火墙与Oracle数据库之间出现的冲突经常会遇到,而且有时候很难查找问题的原因。而现在通过Oracle连接管理器则可以很好的避免这种情况,可以大大地减少因为防火墙问题而给数据库连接带来的不良反应。