by admin
В СУБД Oracle есть различные типы процессов (серверные и фоновыхе процессы Oracle). К фоновым процессам относятся: LGWR, DBWR, PMON и SMON, действующих во время запуска экземпляра базы данных Oracle, и их функции.
Каждый процесс Oracle будет выполнять конкретную задачу или набор задач, и каждому из них для выполнения его задачи будет выделена внутренняя память (память PGA). Вообще в экземпляре Oracle существуют три обширных класса процессов:
• Серверные процессы. Эти процессы выполняют свои задачи в зависимости от запроса клиента. Мы уже до определенной степени ознакомились с выделенным и разделяемым сервером. Они относятся к серверным процессам.
• Фоновые процессы. Эти процессы запускаются при запуске базы данных и выполняют различные служебные задачи, такие как запись блоков на диски, поддержание оперативных журналов повторения, очистка после прерванных процессов,
обслуживание AWR (Automatic Workload Repository - автоматический репозиторий рабочей нагрузки) и т.п.
• Подчиненные процессы. Эти процессы аналогичны фоновым, но выполняют дополнительную работу от имени либо фонового, либо серверного процесса.
Фоновые процессы Oracle
Экземпляр Oracle образован двумя компонентами: памятью SGA и фоновыми процессами. Фоновые процессы выполняют рутинные задачи по обслуживанию, необходимые для поддержания базы данных в рабочем состоянии. Например, существует процесс, который обслуживает кэш буферов блоков, по мере необходимости записывая блоки в файлы данных. Другой процесс Oracle отвечает за копирование файла оперативного журнала повторения при его заполнении в каталог архива. Еще один процесс выполняет очистку за прерванными процессами и т.д. Каждый из этих процессов в достаточной степени специализирован для решения своей задачи, но работает с учетом всех остальных процессов. Например, когда процесс, отвечающий за запись журнальных файлов заполнит один журнал и перейдет к следующему, он сообщит процессу, отвечающему за архивирование заполненного журнального файла, о наличии задачи, которую нужно выполнить.
Процессы Oracle: Блокировка и защелкивание данных
В различных базах данных задачи решаются по-разному (то, что подходит для SQL Server, может не годиться для Oracle), и понимание особенностей реализации блокировки и управления параллелизмом - абсолютно необходимое условие успешной работы приложения. В этой главе рассматривается общий подход, используемый в Oracle для решения этих задач, типы блокировок, которые могут быть применены (DML, DDL и защелки), а также проблемы, которые могут возникать при неправильной реализации блокировки (взаимоблокировка, блокировка и эскалация).
Процессы Oracle: Параллелизм и многоверсионность
Многоверсионность это средство Oracle, которое оказывает влияние на управление параллелизмом и на всю структуру приложения.
Все базы данных отличаются друг от друга, а их конкретная реализация может влиять на структуру приложений. Многоверсионность - средство, позволяющее СУБД Oracle обеспечивать неблокирующие чтения базы данных.
Ссылки по теме