DRCP (Database Resident Connection Pooling) — это механизм в Oracle Database, который уменьшает нагрузку на базу данных за счет повторного использования соединений между клиентами и сервером. DRCP полезен для сред с большим количеством краткоживущих соединений, например, веб-приложений.
Экономит ресурсы – вместо создания новых соединений база использует пул уже существующих.
Снижает нагрузку на сервер – меньше процессов, меньше потребления памяти и CPU.
Ускоряет работу – повторное использование соединений сокращает время на установку нового подключения.
Идеально для многопоточных сред – например, PHP-приложений, где соединения краткосрочные.
Клиент (например, веб-приложение) отправляет запрос на подключение к базе. Вместо создания нового процесса сервер ищет свободное соединение в пуле DRCP.
Если в пуле есть свободное соединение, оно передается клиенту. Если нет – создается новое (если не превышен лимит).
После завершения работы клиент "освобождает" соединение. Вместо закрытия соединение возвращается в пул, чтобы быть использованным другим клиентом.
Connection Broker (диспетчер соединений) следит за балансировкой нагрузки и распределяет соединения между клиентами.
Включаем DRCP на сервере
EXEC DBMS_CONNECTION_POOL.START_POOL();
Проверяем статус пула
SELECT * FROM V$CPOOL_STATS;
Подключаем клиента с использованием DRCP
CONNECT user/password@database:pooled
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM