Обзор методов доступа к базе данных
Статьи про 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 происходи в три этапа:
- Запуск инстанции.
- Монтирование (присоединение) базы данных.
- Открытие базы данных.
Как работает Oracle
-
Следующий пример очень упрощенно описывает события, протекающие в Oracle. Пример иллюстрирует конфигурацию Oracle, при которой пользователь и
серверные процессы работают на разных компьютерах (соединены по сети).
- На компьютере с установленным Oracle (часто называется host или сервер базы данных) запускается инстанция.
- На компьютере пользователя (локальном компьютере) запускается клиентское приложение и создается пользовательский процесс. Клиентское приложение запрашивает соединение с сервером, используя средства Oracle Net Services.
- На сервере также работает Oracle Net Services. Сервер обнаруживает запрос клиентского приложения и создает специальный серверный процесс от имени пользовательского процесса.
- Пользователь выполняет SQL-запрос и завершает трансакцию. Например, пользователь изменяет имя в записи таблицы.
- Серверный процесс получает запрос и проверяет Share pool на наличие похожего SQL-запроса. Если запрос найден в пуле, серверный процесс проверяет права пользователя на доступ к запрашиваемым данным и, используя информацию пула, выполняет пользовательский запрос. Если запрос не найден, в пуле выделяется новая SQL область для запроса, запрос разбирается и выполняется.
- Серверный процесс извлекает необходимые данные из datafile'а (таблицы) и помещает их в SGA.
- Серверный процесс изменяет данные в SGA. Процесс DBWn записывает измененные блоки на диск. Т.к. трансакция уже завершена, процесс LGWR немедленно заносит трансакцию в файл истории отката.
- Сообщение о результатах трансакции (успешно закончилась или нет) отправляется клиентскому приложению.
- Одновременно с описанными действиями, сервер базы данных управляет другими пользовательскими трансакциями и предупреждает коллизии, которые могут возникнуть при обращении разных трансакций к одному набору данных.
Петрелевич Сергей
petrelevich@yandex.ru
Метки: Oracle Concepts
Внимание.
Комментировать могут только зарегистрированные пользователи.
Возможно использование следующих HTML тегов: <a>, <b>, <i>, <br>.