Oracle для профессионалов


Сервер - часть 4


В данном случае имеется 11 потоков, выполняющихся в рамках одного процесса Oracle. Если подключиться к базе данных, количество потоков увеличится до 12. В ОС UNIX к существующим процессам oracle просто добавился бы еще один. Теперь можно представить следующую схему. Предыдущая схема представляла концептуальный вид СУБД Oracle сразу после запуска. Теперь, если подключиться к СУБД Oracle в наиболее типичной конфигурации, схема будет выглядеть примерно так:

...

Обычно СУБД Oracle при подключении пользователя создает новый процесс. Это принято называть конфигурацией выделенного сервера, поскольку на все время сеанса ему выделяется отдельный серверный процесс. Сеансы и выделенные серверы находятся в отношении один к одному. Клиентский процесс (любая программа, пытающаяся подключиться к СУБД) будет непосредственно взаимодействовать с соответствующим выделенным сервером по сети, например, через сокет TCP/IP. Именно этот сервер будет получать и выполнять SQL-операторы. Он будет читать файлы данных, а также искать необходимые данные в кеше. Он будет выполнять операторы UPDATE и PL/SQL-код. Единственное его назначение — отвечать на получаемые SQL-запросы.

СУБД Oracle также может работать в режиме многопоточного сервера

(multi-threaded server — MTS), в котором при подключении не создается дополнительный поток или процесс UNIX. В режиме MTS СУБД Oracle использует пул "разделяемых серверов" для поддержки большого количества пользователей. Разделяемые серверы — это просто механизм организации пула подключений. Вместо запуска 10000 выделенных серверов (это действительно много, если речь идет о процессах или потоках) для 10000 сеансов режим MTS позволяет обслуживать их с помощью гораздо меньшего количества разделяемых серверов, которые (как следует из названия) будут совместно использоваться всеми сеансами. Это позволяет СУБД Oracle поддерживать намного больше сеансов, чем в режиме выделенного сервера. Машина, на которой работает сервер, может не справиться с поддержкой 10000 процессов, но управление 100 или 1000 процессами для нее вполне реально. В режиме MTS разделяемые серверные процессы обычно запускаются сразу при старте СУБД и отображаются в списке, выдаваемом командой ps (в представленных выше результатах выполнения команды ps процесс ora_s000_ora816dev




Начало  Назад  Вперед



Книжный магазин