Архитектура процессов

  • Пользовательский процесс:

    • Запускается, когда пользователь базы данных или процесс пакетной обработки соединяются с БД Oracle

  • Процессы базы данных:

    • Серверный процесс: Подключения к экземпляру Oracle и запускаются, когда пользователь устанавливает сеанс

    • Фоновые процессы: Запускаются, когда стартует экземпляр Oracle

Архитектура процессов

Процессы на сервере БД Oracle могут быть категоризированы в две главных группы:

  • Пользовательские процессы, которые выполняют код приложения или инструмента Oracle

  • Процессы Базы данных Oracle, которые выполняют код сервера базы данных Oracle. Они включают серверные процессы и фоновые процессы.

Когда пользователь запускает прикладную программу или инструмент Oracle, такой как SQL*Plus, создается пользовательский процесс, чтобы выполнять приложение пользователя. БД Oracle создает серверный процесс, чтобы выполнять команды, задаваемые пользовательским процессом. Кроме того, у сервера Oracle также есть ряд фоновых процессов для экземпляра, которые взаимодействуют как друг с другом, так и с операционной системой, чтобы управлять структурами памяти и асинхронно выполнять ввод-вывод, чтобы записывать данные на диск и выполнять другие необходимые задачи.

Архитектура процессов изменяется для различных конфигураций БД Oracle, в зависимости от операционной системы и выбора опций БД Oracle. Код для соединенных пользователей может быть сконфигурирован как выделенный сервер или совместно используемый сервер.

  • С выделенным сервером, для каждого пользователя приложение базы данных выполняется пользовательским процессом, который обслуживается выделенным серверным процессом, выполняющим код сервера базы данных Oracle.

  • Совместно используемый сервер избавляет от необходимости выделенного серверного процесса для каждого соединения. Диспетчер направляет многочисленные входящие запросы сетевых сеансов к пулу разделяемых серверных процессов. Разделяемый серверный процесс обслуживает любой клиентский запрос.

Серверные процессы

База данных Oracle создает серверные процессы, чтобы обрабатывать запросы пользовательских процессов, соединенных с экземпляром. В некоторых ситуациях, когда приложение и БД Oracle работают на том же самом компьютере, возможно объединить пользовательский процесс и соответствующий серверный процесс в единственный процесс, чтобы уменьшить системные издержки. Однако, когда приложение и БД Oracle работают на различных компьютерах, пользовательский процесс всегда связывается с БД Oracle через отдельный серверный процесс.

Серверные процессы, создаваемые от имени приложения каждого пользователя, могут выполнять одну или более из следующих операций:

  • Анализировать и выполнять SQL-операторы, переданные из приложения.

  • Читать необходимые блоки данных из файлов данных на диске в совместно используемые буферы базы данных SGA, если блоки уже не присутствуют в SGA.

  • Возвращать результаты таким образом, чтобы приложение могло обработать информацию.

Фоновые процессы

Чтобы максимизировать производительность и обслуживать множество пользователей, мультипроцессная система БД Oracle использует некоторые дополнительные процессы БД Oracle, называемые фоновыми процессами. У экземпляра БД Oracle может быть много фоновых процессов.

Следующие фоновые процессы требуются для успешного запуска экземпляра базы данных:

  • Процесс записи базы данных (DBWn)

  • Процесс записи журнала (LGWR)

  • Процесс контрольной точки (CKPT)

  • Системный монитор (SMON)

  • Монитор процессов (PMON)

Следующие фоновые процессы являются несколькими примерами дополнительных фоновых процессов, которые могут быть запущены при необходимости:

  • Процесс восстановления (RECO)

  • Очередь заданий

  • Архиватор (ARCn)

  • Монитор очереди (QMNn)

Другие фоновые процессы можно найти в более продвинутых конфигурациях, таких как Реальные Кластеры приложений (RAC). См. представление V$BGPROCESS для получения дополнительной информации о фоновых процессах.

На многих операционных системах фоновые процессы создаются автоматически, когда экземпляр запускается.

Далее: Хранение данных на Различных Носителях

Смотрите также
Комментарии
Написать

(обязательно)

(обязательно)

Это не спам (обязательно)