Обзор методов доступа к базе данных

Статьи про Oracle -> Архитектура

Обзор методов доступа к базе данных

Предлагаю вам мой перевод части документации Oracle Database Concepts 10g Release 2 (10.2) B14220-02.

v:1.0 20.09.2007

В этой части рассматривается Oracle Net Services (сетевые службы Oracle) и процесс запуска базы данных.

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

Сетевые коммуникационные протоколы определяют способ получения и передачи данных по сети. Сетевые службы Oracle поддерживают все основные протоколы, включая TCP/IP, HTTP, FTP и WebDAV.

Используя Oracle Net Services, разработчик приложения не должен беспокоиться о поддержке сетевых коммуникаций приложением. Если используется новый протокол, администратор базы данных должен сделать некоторые минимальные настройки, при этом приложение не требует изменений.

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

Запуск базы данных

    В любой системе запуск сервера базы данных Oracle происходи в три этапа:
  1. Запуск инстанции.
  2. Монтирование (присоединение) базы данных.
  3. Открытие базы данных.
Администратор базы данных может выполнить эти три шага, используя инструкцию STARTUP SQL*Plus или Enterprice Manager. Во время запуска инстанции Oracle считывает серверный конфигурационный файл (SPFILE) для определения значений инициализационных параметров. После этого выделяется память под SGA и создаются фоновые процессы.

Как работает Oracle

    Следующий пример очень упрощенно описывает события, протекающие в Oracle. Пример иллюстрирует конфигурацию Oracle, при которой пользователь и серверные процессы работают на разных компьютерах (соединены по сети).
  1. На компьютере с установленным Oracle (часто называется host или сервер базы данных) запускается инстанция.
  2. На компьютере пользователя (локальном компьютере) запускается клиентское приложение и создается пользовательский процесс. Клиентское приложение запрашивает соединение с сервером, используя средства Oracle Net Services.
  3. На сервере также работает Oracle Net Services. Сервер обнаруживает запрос клиентского приложения и создает специальный серверный процесс от имени пользовательского процесса.
  4. Пользователь выполняет SQL-запрос и завершает трансакцию. Например, пользователь изменяет имя в записи таблицы.
  5. Серверный процесс получает запрос и проверяет Share pool на наличие похожего SQL-запроса. Если запрос найден в пуле, серверный процесс проверяет права пользователя на доступ к запрашиваемым данным и, используя информацию пула, выполняет пользовательский запрос. Если запрос не найден, в пуле выделяется новая SQL область для запроса, запрос разбирается и выполняется.
  6. Серверный процесс извлекает необходимые данные из datafile'а (таблицы) и помещает их в SGA.
  7. Серверный процесс изменяет данные в SGA. Процесс DBWn записывает измененные блоки на диск. Т.к. трансакция уже завершена, процесс LGWR немедленно заносит трансакцию в файл истории отката.
  8. Сообщение о результатах трансакции (успешно закончилась или нет) отправляется клиентскому приложению.
  9. Одновременно с описанными действиями, сервер базы данных управляет другими пользовательскими трансакциями и предупреждает коллизии, которые могут возникнуть при обращении разных трансакций к одному набору данных.

Петрелевич Сергей
petrelevich@yandex.ru

Метки: Oracle Concepts  

Комментарии.

Внимание.
Комментировать могут только зарегистрированные пользователи.
Возможно использование следующих HTML тегов: <a>, <b>, <i>, <br>.