我们知道在之前的Oracle系统中的体系结构有两种:专用服务器和共享服务器,在11g中提供了一个新的服务器结构数据块驻留管理池(Database Resident Connection Pooling)。
这个新特性是11g中新提供的,目的是为了对于那些典型的web应用而提供的一个新的功能。因为这些应用主要是数据库的连接时间通常是比较短的连接,既是客户端会有很多次的连接,但是每次连接持续的时间比较短。在我们之前的应用中主要是使用例如weblogic这样的中间件来提供一个连接池,但是weblogic和oracle之间使用的固定数目的连接。但是当应用服务器很多的时候在Oracle上连接数也会相应增多。
DRCP通过在中间层进程的线程之间共享连接,来补充了中间层的连接池。同时DRCP也能够在同一个中间层主机和跨中间层主机之间贡献数据库的连接。这样的结构就能够显著减少关键数据库资源的需要,能够支持大量客户端连接的需要。因此可以减少数据库层的内存的需要,和扩展中间层和数据库层。
DRPC这个机制是和PHP/Apache的适应机制有关,因为每一个php进程都需要一个数据库的连接,从oracle的资料上来看,DRCP能够扩展到1万个同步连接的需要。真的有这么多吗?呵呵,没有试验过,但是这个数字,应该是能够满足一般比较高级需求的网站的需要了。
什么时间使用DRCP
1、在较小内存上需要有大量客户端连接的时候。
2、客户端的使用是比较类似的,能够共享或者重用会话。例如,连接是对于同一个数据库和使用的是同一个模式的情况下,可以看作为类似。
3、客户端应用需要一个数据库连接,但是工作的状态是持续时间比较短,然后就释放了。
4、回话之间是不需要跨客户端的。
5、在客户端部分是多主机,多进程的情况下。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/222350/viewspace-967069/ ,如需转载,请注明出处,否则将追究法律责任。