Взаимодействие с Базой данных Oracle

Рубрика: Архитектура БД Oracle

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

Взаимодействие с Базой данных Oracle: Память, Процессы и Хранение
  • 1. Экземпляр запущен на узле, где установлена База данных Oracle, часто называемом хост-сервером или сервером базы данных.

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

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

  • 4. Пользователь выполняет SQL-оператор типа DML и фиксирует транзакцию. Например, пользователь изменяет адрес заказчика в таблице и фиксирует изменение.

  • 5. Серверный процесс получает оператор и проверяет разделяемый пул (компонент SGA) на наличие любой разделяемой области SQL, которая содержит идентичный SQL-оператор. Если такая разделяемая область SQL находится, серверный процесс проверяет права доступа пользователя к запрошенным данным, и затем используется существующая разделяемая область SQL, чтобы обработать оператор. Если разделяемая область SQL не находится, для оператора выделяется новая разделяемая область SQL так, чтобы он мог быть разобран и обработан.

  • 6. Серверный процесс получает все необходимые значения данных, или непосредственно от файла данных (таблицы) или из значений, сохраненных в буферном кэше Базы данных.

  • 7. Серверный процесс модифицирует данные в SGA. Поскольку транзакция фиксируется, процесс записи в журнал (LGWR) сразу записывает транзакцию в файл журнала повторов. Процесс записи в Базу данных (DBWn) записывает модифицированные блоки на диск, когда это можно будет сделать эффективным образом.

  • 8. Если транзакция успешна, серверный процесс отправляет сообщение по сети приложению. В противном случае передается сообщение об ошибке.

  • 9. В каждый момент этой вышеописанной процедуры работают другие фоновые процессы, наблюдая за событиями, которые требуют вмешательства. Кроме того, сервер базы данных управляет транзакциями других пользователей и предотвращает разногласия между транзакциями, которые запрашивают те же самые данные.

Далее: Просмотр Журнала предупреждений

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

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

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

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