Взаимодействие с БД Oracle

Следующий пример описывает операции БД Oracle на наиболее базовом уровне.

Взаимодействие с БД Oracle

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

  1. Экземпляр запущен на узле, где установлена БД Oracle, часто называемом хост-сервером или сервером базы данных.

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

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

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

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

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

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

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

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

Далее: Oracle BI Publisher

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

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

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

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