Bu yazıda Oracle 11g ile birlikte gelen yeni bir özelliği inceleyeceğiz. Database Resident Connection Pooling(DRCP), tipik web uygulamalarında kullanılan veritabanı içinde bağlantı havuzu oluşturma metodudur. Kullanılan web uygulamasının veritabanı bağlantısını kısa süreli bağlantı için kullanıp, çalışmasını bitirince bağlantıyı serbest bırakan tarzda uygulama türleri için ideal bir bağlantı havuzu metodudur. DRCP, dedicated sunucuları toplar. “Pooled server(toplu sunucu)”, sunucu arkaplan prosesleri ve veritabanı oturumu kombinasyonu ile aynı anlama gelmektedir.
DRCP, aynı middle-tier sunucu üzerindeki middle-tier prosesler üzerinden veritabanı bağlantısı paylaşımını etkinleştirebildiği gibi, gerektiğinde middle-tier hostlar üzerindende bağlantı paylaşımını etkinleştirebilmektedir. Bu olay, geniş sayıda istemci bağlantılarını desteklemek için gereken veritabanı kaynaklarında inanılmaz derecede yük azalmasına sebebiyet verir, böylece veritabanında bellek talebinde azalma olur ve hem veritabanı katmanında, hemde middle-tier katmanında ölçeklenebilirlik artar. Halihazırda uygun bir sunucu havuzunun olması, aynı zamanda istemci bağlantısı oluşturma ve devre dışı bırakma maliyetini azaltmak yoluyla ilave katma değerlerde sağlar.
DRCP, middle-tier katmanında bağlantı havuzu oluşturma imkanının olmadığı çoklu prosesli ve tekil thread uygulama sunucuları(PHP/Apache gibi) gibi mimarilerde oldukça kullanışlıdır.
DRCP kullanıldığında oturum belleği için PGA’dan alan tahsis edilir. İstemci tarafından ilk bağlantı talebi alındığında “Connection Broker” uygun bir toplu(pooled) sunucuyu alır ve istemci bağlantısını bu toplu sunucuya devreder. Eğer uygun bir toplu sunucu yoksa, DRCP bir tane oluşturur. Eğer havuz, maksimum sayıyı aştıysa bir toplu sunucu boşa çıkıncaya kadar, bu istemci bağlantısı kuyrukta beklemeye alınır. Veritabanı kaynakları serbest bırakıldığında, bu toplu sunucu tekrar havuza serbest bırakılır. Bellek gereksinimi toplu sunucu sayısı ve onların oturumları ile orantılıdır.Her bir toplu sunucu için bir oturum vardır.