Программирование и комп-ры

Системная архитектура и структура RDBMS ORACLE


Содержание


          Базы данных и управление информацией................ 2
          Структура базы данных и управление пространством.... 4
            Реляционные СУБД.................................. 4
              Открытые и закрытые базы данных................. 5
              Структура базы данных........................... 5
            Логические структуры.............................. 5
              Табличные пространства.......................... 5
              Схемы и объекты схем............................ 6
              Блоки данных, экстенты и сегменты............... 11
            Физические структуры.............................. 12
              Файлы данных.................................... 12
              Файлы журнала повторения........................ 12
              Управляющие файлы............................... 13
            Словарь данных.................................... 14
          Системная архитектура ORACLE........................ 14
            Структуры памяти и процессы....................... 14
            Структуры памяти.................................. 15
              Глобальная область системы (SGA)................ 15
              Глобальная область программы (PGA).............. 16
            Процессы.......................................... 16
              Пользовательские процессы (клиенты)............. 17
              Процессы ORACLE................................. 17
            Программный интерфейс............................. 19
              Коммуникационное программное обеспечение и
                SQL*Net....................................... 19
            Инстанция ORACLE.................................. 20
              Параллельный сервер ORACLE: системы с несколькими
                инстанциями................................... 20



Базы данных и управление информацией

        Программное обеспечение баз данных - это ключ к решению  проблем
        управления информацией.  Вообще говоря, система управления базой
        данных (СУБД)  должна быть  способна надежно  управлять большими
        объемами данных  в многопользовательской  среде, так,  чтобы все
        пользователи  могли  одновременно  обращаться  к  одним и тем же
        данным.   Все  это  должно  достигаться  при обеспечении высокой
        производительности пользователей базы данных.  СУБД также должна
        быть  защищена   от  несанкционированного   доступа,  и   должна
        предоставлять эффективные решения  для восстановления от  сбоев.
        Сервер ORACLE обеспечивает эффективные и действенные решения для
        основных средств баз данных:

управление большими базами данных
и контроль управления пространством

        ORACLE поддерживает  самые большие  базы данных,  потенциального
        размера  до  сотен   гигабайт.   Чтобы  обеспечить   действенный
        контроль за использованием дорогостоящих дисковых устройств,  он
        предоставляет полный контроль распределения пространства.

много одновременных
пользователей базы данных

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

высокая производительность
обработки транзакций

        ORACLE  поддерживает  все  описанные  выше  средства,   сохраняя
        высокую    степень    суммарной    производительности   системы.
        Пользователи    базы    данных    не    страдают    от    низкой
        производительности обработки.

высокая степень готовности

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

управляемая доступность

        ORACLE  может  выборочно  управлять  доступностью данных, как на
        уровне базы данных,  так и на  более низких уровнях.   Например,
        администратор может отключить доступ к конкретному приложению (с
        тем,  чтобы  можно  было  осуществить  перезагрузку данных этого
        приложения), не затрагивая других приложений.

промышленные стандарты

        ORACLE удовлетворяет  промышленно принятым  стандартам по  языку
        доступа   к   данным,   операционным   системам,   интерфейсам с
        пользователем  и  сетевым  протоколам.   Это "открытая" система,
        которая защищает инвестиции заказчика.

        Сервер  ORACLE7   был  сертифицирован   Национальным  институтом
        стандартов и технологий  США как 100%-совместимый  со стандартом
        ANSI/ISO  SQL89.   ORACLE7  полностью  удовлетворяет требованиям
        правительственного стандарта США FIPS127-1 и имеет "маркировщик"
        для подчеркивания нестандартных применений SQL.

        Кроме того,  ORACLE7 был  оценен Правительственным  национальным
        центром  компьютерной  безопасности  (NCSC)  как  совместимый  с
        критериями  защиты  Оранжевой  книги;  сервер  ORACLE7 и Trusted
        ORACLE7 отвечают  соответственно как  уровням C2  и B1 Оранжевой
        книги,  так  и  сравнимым  с  ними  европейским критериям защиты
        ITSEC.

управляемая защита

        Для защиты от несанкционированного доступа к базе данных  ORACLE
        предоставляет   защищенные   от   сбоев   средства безопасности,
        лимитирующие  и  отслеживающие  доступ  к  данным.  Эти средства
        позволяют  легко  управлять   даже  наиболее  сложными   схемами
        доступа.

автоматизированное обеспечение целостности

        ORACLE автоматически  поддерживает целостность  данных, соблюдая
        "организационные    правила",    которые    диктуют    стандарты
        приемлемости  данных.   Как  следствие,  устраняются  затраты на
        кодирование   и   сопровождение   проверок   в    многочисленных
        приложениях базы данных.

окружение клиент/сервер
(распределенная обработка)

        Чтобы  извлечь  максимум  преимуществ  из  данной   компьютерной
        системы  или  сети,  ORACLE  позволяет  разделять  работу  между
        сервером базы  данных и  прикладными программами  клиентов.  Вся
        тяжесть управления  совместно используемыми  данными может  быть
        сосредоточена в  компьютере, выполняющем  СУБД, в  то время  как
        рабочие   станции,   на   которых   работают   приложения, могут
        сконцентрироваться на интерпретации и отображении данных.

системы распределенных
баз данных

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

переносимость

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

совместимость

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

связываемость

        Программное   обеспечение   ORACLE   позволяет   различным типам
        компьютеров   и   операционных   систем   совместно использовать
        информацию посредством сетей.



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

        Этот раздел  описывает архитектуру  базы данных  ORACLE, включая
        физическую и логическую структуры, которые образуют базу данных.
        Это  обсуждение  даст  вам  понимание  того,  как  ORACLE решает
        проблемы управляемой доступности данных, разделения физической и
        логической  структур  данных  и  тонкого контроля за управлением
        дисковой памятью.


Реляционные СУБД
----------------

        Системы   управления    базами   данных    эволюционировали   от
        иерархических к сетевым, а затем к реляционным моделям.  Сегодня
        наиболее   широко   принятой   моделью   базы   данных  является
        реляционная модель.  Эта модель имеет три главных аспекта:

        Структуры               Структуры  -  это  хорошо   определенные
                                объекты,  хранящие  данные  базы данных.
                                Структурами  и  данными,  хранящимися  в
                                них,  можно  манипулировать  посредством
                                операций.

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

        Правила целостности     Правила   целостности   -   это  законы,
                                которые   определяют,   какие   операции
                                допускаются  над  данными  и структурами
                                базы   данных.    Правила    целостности
                                защищают структуры и данные базы данных.

        Реляционные СУБД обладают следующими достоинствами:

            *  независимость физической структуры данных и логической
               структуры базы данных
            *  изменяемый и легкий доступ ко всем данным
            *  полная гибкость в проектировании базы данных
            *  уменьшение расхода памяти и сокращение избыточности
               данных

        БАЗА ДАННЫХ ORACLE -  это коллекция данных, рассматриваемая  как
        единица.   Главная  цель  базы  данных  -  хранение и извлечение
        взаимосвязанной информации.

Открытые и закрытые базы данных

        База данных  ORACLE может  быть ОТКРЫТА  (доступна) или  ЗАКРЫТА
        (недоступна).   В  обычных  ситуациях  база  данных  открыта   и
        доступна   для   использования.    Однако   иногда   база данных
        закрывается для специфических административных функций,  которые
        требуют,   чтобы   данные   в   базе   данных   были  недоступны
        пользователям.

Структура базы данных

        База  данных  ORACLE  имеет  как  физическую,  так  и логическую
        структуру.  За счет разделения физической и логической структуры
        базы  данных   достигается  возможность   управления  физической
        структурой данных, не затрагивая доступа к логическим структурам
        данных.

    Физическая структура базы данных

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

    Логическая структура базы данных

        Логическая структура базы данных ORACLE определяется:

            *  одним или несколькими табличными пространствами

            *  объектами схем базы данных (таблицами, обзорами,
               индексами, кластерами, последовательностями, хранимыми
               процедурами)

        Логические структуры  хранения, включая  табличные пространства,
        сегменты  и  экстенты,  определяют,  как используется физическое
        пространство базы данных.  Объекты  схем и отношения между  ними
        формируют реляционную структуру базы данных.


Логические структуры
--------------------

        Последующие подразделы  объясняют логические  структуры, включая
        табличные пространства, объекты схемы, блоки данных, экстенты  и
        сегменты.

Табличные пространства

        База  данных   разделяется  на   логические  единицы   хранения,
        называемые  ТАБЛИЧНЫМИ  ПРОСТРАНСТВАМИ.   Табличное пространство
        служит  для  того,  чтобы  группировать  вместе  взаимосвязанные
        логические структуры.  Например, в табличном пространстве обычно
        группируются все объекты  приложения, чтобы упростить  некоторые
        административные операции.

    Базы данных, табличные пространства и файлы данных

        Связи между базами  данных, табличными пространствами  и файлами
        данных иллюстрируются на рис.1-1.

Рис.1-1
Базы данных, табличные пространства и файлы данных

                         База данных

          Табличное   |
          пространство|  Табличное пространство DATA
          SYSTEM      |
                      |

            Файл         Файл                     Файл
            данных       данных                   данных
            1 (2 MB)     2 (2 MB)                 3 (2 MB)



             Устройство 1            Устройство 2

        Этот рисунок иллюстрирует следующие факты:

            *  Каждая  база  данных  логически  разделяется  на одно или
               более табличных пространств.

            *  Для каждого табличного  пространства явно создаются  один
               или более файлов  данных, чтобы физически  хранить данные
               всех логических структур табличного пространства.

            *  Общая емкость памяти табличного пространства определяется
               суммой размеров файлов данных, составляющих это табличное
               пространство (на рисунке SYSTEM имеет емкость 2M, а  DATA
               - 4M).

            *  Суммарная емкость всех табличных пространств базы  данных
               составляет общую емкость базы данных (6M).


    Онлайновые и офлайновые табличные пространства

        Табличное  пространство  может  находиться  в  состояниях ОНЛАЙН
        (доступно)   или   ОФЛАЙН   (недоступно).    Обычно    табличное
        пространство  находится  в  онлайне,  так что пользователи имеют
        доступ к информации в нем.  Однако иногда табличное пространство
        может переводиться  в офлайн,  чтобы сделать  часть базы  данных
        недоступной,  сохраняя  в  то  же  время  нормальный  доступ   к
        остальной части  базы данных.   Это облегчает  выполнение многих
        административных задач.

Схемы и объекты схем

        СХЕМА - это коллекция объектов.  ОБЪЕКТЫ СХЕМЫ - это  логические
        структуры,  непосредственно  относящиеся  к  данным базы данных.
        Объекты  схемы  включают  такие  структуры, как таблицы, обзоры,
        последовательности,  хранимые   процедуры,  синонимы,   индексы,
        кластеры и связи баз  данных.  (Не существует взаимосвязи  между
        табличным пространством и схемой;  объекты одной и той  же схемы
        могут находиться в разных  табличных пространствах, и одно  и то
        же  табличное  пространство  может  содержать  объекты из разных
        схем.)

    Таблицы
        ТАБЛИЦА -  это основная  единица хранения  данных в  базе данных
        ORACLE.   Таблицы  базы  данных  хранят  все  данные,  доступные
        пользователям.

        Данные таблицы хранятся в виде СТРОК и СТОЛБЦОВ.  Каждая таблица
        определяется  с  ИМЕНЕМ  ТАБЛИЦЫ  и  набором  столбцов.  Каждому
        столбцу дается ИМЯ СТОЛБЦА, ТИП ДАННЫХ (такой как CHAR, DATE или
        NUMBER), а также ШИРИНА (которая может быть предопределена типом
        данных, как в  случае DATE) или  МАСШТАБ и ТОЧНОСТЬ  (только для
        типа данных  NUMBER).  После  того, как  таблица создана,  в нее
        могут быть вставлены строки действительных данных.  После  этого
        строки таблицы можно опрашивать, удалять или обновлять.

        Чтобы учредить организационные  правила для данных  таблицы, для
        таблицы  можно  также   определить  ограничения  целостности   и
        триггеры.

    Обзоры
        ОБЗОР - это настроенное по заказу представление данных из  одной
        или нескольких таблиц.  Обзор можно рассматривать как  "хранимый
        запрос".

        Обзоры в действительности не  содержат данных; вместо этого  они
        доставляют данные из  тех таблиц, на  которых они основаны  (так
        называемых  БАЗОВЫХ  ТАБЛИЦ  обзоров).   Базовые таблицы, в свою
        очередь, могут быть как таблицами, так и обзорами.

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

        Широкое применение обзоров обусловлено следующими их свойствами:

            *  Обзоры   предоставляют   дополнительный   уровень  защиты
               таблиц,  ограничивая  доступ  предопределенным множеством
               строк и столбцов базовой таблицы.  Например, обзор  можно
               составить так, что  столбцы со специфической  информацией
               (скажем,   сведениями   о   зарплате)   не   включаются в
               определение обзора.

            *  Обзоры  позволяют  скрыть  сложность  данных.   Например,
               единственный   обзор   может   служить   для   построения
               СОЕДИНЕНИЯ, которое является отображением взаимосвязанных
               столбцов или  строк из  нескольких таблиц.   Однако такой
               обзор скрывает  тот факт,  что эти  данные на  самом деле
               принадлежат разным таблицам.
            *  Обзоры  помогают  упростить  команды  для   пользователя.
               Например, с  помощью обзора  пользователь может  выбирать
               информацию   из   нескольких   таблиц,   не   зная,   как
               осуществлять сложный коррелированный запрос.
            *  Обзоры представляют данные с  иной точки зрения, чем  они
               представлены в таблице.  Например, с помощью обзора можно
               переименовать  столбцы,  не  затрагивая  самих таблиц, на
               которых базируется обзор.
            *  Обзоры позволяют составлять и сохранять сложные  запросы.
               Например, запрос может  выполнять обширные вычисления  по
               информации  таблицы.   Благодаря  тому,  что  этот запрос
               сохраняется  как  обзор,  вы  выполняете  эти  вычисления
               только при обращении к обзору.

    Последовательности

        ПОСЛЕДОВАТЕЛЬНОСТЬ  генерирует  уникальные  порядковые   номера,
        которые  могут  использоваться  как  значения  числовых столбцов
        таблиц  базы  данных.   Последовательности  упрощают  прикладное
        программирование,  автоматически  генерируя  уникальные числовые
        значения для строк одной или нескольких таблиц.

        Например,  предположим,  что  двое  пользователей   одновременно
        вставляют строки  о новых  сотрудниках в  таблицу EMP. Благодаря
        использованию   последовательности   для   генерации  уникальных
        номеров сотрудников для  столбца EMPNO, никто  из них не  должен
        ожидать  другого,   чтобы  ввести   очередной  свободный   номер
        сотрудника.     Последовательность    автоматически   генерирует
        правильное значение для каждого из пользователей.

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

    Программные единицы

        ПРОЦЕДУРА  или  ФУНКЦИЯ  -  это  совокупность  предложений SQL и
        PL/SQL,   сгруппированных   вместе   как   выполнимая   единица,
        исполняющая специфическую  задачу.

        Процедуры  и  функции  сочетают   легкость  и  гибкость  SQL   с
        процедурными возможностями языка структурного  программирования.
        С помощью PL/SQL  такие процедуры и  функции можно определять  и
        сохранять  в  базе  данных  для  продолжительного использования.

        Процедуры и функции  похожи друг на  друга, с той  разницей, что
        функция  всегда  возвращает  вызывающей  программе  единственное
        значение, тогда как процедура не возвращает значения.

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

    Синонимы

        СИНОНИМ -  это алиас  (дополнительное имя)  для таблицы, обзора,
        последовательности  или  программной  единицы.   Синоним не есть
        объект,  но  он  является  прямой  ссылкой  на объект.  Синонимы
        используются для:

            *  маскировки действительного имени и владельца объекта

            *  обеспечения общего доступа к объекту

            *  достижения прозрачности местоположения для таблиц,
               обзоров или программных единиц удаленной базы данных

            *  упрощения кодирования предложений SQL для пользователей
               базы данных

        Синоним   может   быть   общим   или   личным.    Индивидуальный
        пользователь  может  создать  ЛИЧНЫЙ  СИНОНИМ,  который доступен
        только этому пользователю.  Администраторы баз данных чаще всего
        создают ОБЩИЕ СИНОНИМЫ,  благодаря которым объекты  базовых схем
        становятся доступными для общего пользования всем  пользователям
        базы данных.

    Индексы, кластеры и хэшированные кластеры

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

        Индексы  создаются  по  одному  или нескольким столбцам таблицы.
        Однажды   созданный,   индекс   автоматически   поддерживается и
        используется  ORACLE.   Изменения  в  данных  таблицы (такие как
        добавление   новых   строк,   обновление   или   удаление строк)
        автоматически отражаются  во всех  соответствующих индексах  при
        полной прозрачности для пользователей.

        Индексы логически  и физически  независимы от  данных.  Их можно
        удалять  и  создавать  в  любой  момент,  не оказывая влияния на
        другие таблицы или другие  индексы.  После удаления индекса  все
        приложения будут  функционировать по-прежнему;  однако доступ  к
        ранее индексированным данным может быть замедлен.

        КЛАСТЕРЫ  предоставляют  необязательный  способ  хранения данных
        таблиц.  Кластер -  это группа из  одной или нескольких  таблиц,
        физически хранящихся вместе, так  как они имеют общие  столбцы м
        часто используются совместно.   Ввиду того, что  взаимосвязанные
        строки хранятся физически близко друг от друга, время  дискового
        доступа сокращается.

        Взаимосвязанные  столбцы  таблиц  в  кластере  называются КЛЮЧОМ
        КЛАСТЕРА.  Ключ кластера индексируется, так что строки  кластера
        могут  извлекаться  с  минимальными  затратами  на   ввод-вывод.
        Поскольку   данные   ключа   кластера   в   индексированном  (не
        хэшированном)  кластере  хранятся  в  одном  экземпляре для всех
        таблиц кластера, достигается экономия пространства по  сравнению
        с    обычными    (некластеризованными)    таблицами.     Рис.1-2
        иллюстрирует,   как   физически   хранятся   кластеризованные  и
        некластеризованные данные.



Рис.1-2
Кластеризованные и некластеризованные таблицы

    Кластер                             Таблица EMP

      Ключ кластера                       EMPNO  ENAME    DEPTNO  ...
      (DEPTNO)                            -----  -----    ------
                                          932    KEHR     20      ...
         10   DNAME    LOC                1000   SMITH    10      ...
              -----    ---                1139   WILSON   20      ...
              SALES    BOSTON             1277   NORMAN   20      ...
                                          1321   JONES    10      ...
              EMPNO    ENAME    ...       1841   WARD     10      ...
              -----    -----              ...
              1000     SMITH    ...
              1321     JONES    ...
              1841     WARD     ...
                                            Таблица DEPT
         20   DNAME    LOC
              -----    ---                    DEPTNO  DNAME  LOC
              ADMIN    NEW YORK               ------  -----  ---
                                              10      SALES  BOSTON
              EMPNO    ENAME    ...           20      ADMIN  NEW YORK
              -----    -----                  ...
              932      KEHR     ...
              1139     WILSON   ...
              1277     NORMAN   ...
         ...

      Кластеризованные таблицы:          Некластеризованные таблицы:

      Связанные данные хранятся          Связанные данные хранятся
      вместе, более эффективно           отдельно, занимая больше места

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

        Как и индексы, кластеры не влияют на проектирование  приложений.
        Является ли таблица частью кластера или нет, остается прозрачным
        для   пользователей   и   приложений.    Данные,   хранящиеся  в
        кластеризованной таблице, доступны через те же операции SQL, как
        если бы они не были кластеризованы.

        ХЭШИРОВАННЫЕ  КЛАСТЕРЫ   похожи  на   обычные,  индексированные,
        кластеры.  Однако в  хэшированных кластерах строки  записываются
        не  на  основе  ключа  кластера,  а  на  основе значения ФУНКЦИИ
        ХЭШИРОВАНИЯ,  применяемой  к  ключу  кластера.   Все  строки   с
        одинаковым значением такого хэш-ключа хранятся на диске вместе.

        Хэшированные кластеры выигрывают по сравнению с  индексированной
        таблицей  и  индексированным  кластером,  когда  таблица   часто
        опрашивается на  равенство (например,  выбираются все  строки по
        отделу  10).   Для  таких  запросов  значения  указанного  ключа
        кластера хэшируются, и  результирующие значения хэш-ключа  прямо
        указывают на участок  диска, в котором  хранятся соответствующие
        строки.

    Связи баз данных

        СВЯЗЬ БАЗ  ДАННЫХ -  это именованный  объект, который  описывает
        "путь" от одной базы данных  к другой.  Связи баз данных  неявно
        используются  при  обращении  к  ГЛОБАЛЬНОМУ  ИМЕНИ  ОБЪЕКТА   в
        распределенной  базе  данных.

Блоки данных, экстенты и сегменты

        ORACLE   предоставляет    возможность   тонкого    контроля   за
        использованием  дисковой  памяти  через  структуры   логического
        хранения, включая блоки данных, экстенты и сегменты.

    Блоки данных ORACLE
        На самом  низком уровне,  данные базы  данных ORACLE  хранятся в
        БЛОКАХ ДАННЫХ.   Один блок  данных соответствует  специфическому
        числу  байт  физического  пространства  на  диске.  Размер блока
        данных  указывается  для  каждой  базы  данных  ORACLE  при   ее
        создании.   База  данных  использует  и  распределяет  свободное
        пространство в блоках данных ORACLE.

    Экстенты
        Следующий  уровень  логического   пространства  в  базе   данных
        называется  экстентом.   ЭКСТЕНТ   -  это  специфическое   число
        непрерывных блоков  данных, полученных  за одно  распределение и
        используемых для хранения специфического типа информации.

    Сегменты
        Уровень  логического  пространства  в  базе данных, следующий за
        экстентом, называется сегментом.  СЕГМЕНТ - это набор экстентов,
        распределенных для  конкретной логической  структуры.  Например,
        различные типы сегментов включают:

        Сегмент данных          Каждая некластеризованная таблица  имеет
                                сегмент  данных.   Все  данные   таблицы
                                хранятся в экстентах ее сегмента данных.
                                Каждый  кластер  имеет  сегмент  данных.
                                Данные каждой таблицы кластера  хранятся
                                в сегменте данных этого кластера.

        Сегмент индекса         Каждый индекс  имеет сегмент  индекса, в
                                котором хранятся все данные индекса.

        Сегмент отката          Администратор создает в базе данных один
                                или  несколько   сегментов  отката   для
                                временного хранения информации "отмены".
                                Эта информация служит:

                                *  для генерации согласованных по чтению
                                   образов информации  базы данных
                                *  для восстановления  базы данных
                                *  для      отката      неподтвержденных
                                   транзакций пользователей.

        Временный сегмент       Временные  сегменты  создаются   ORACLE,
                                когда    предложению    SQL    требуется
                                временная  рабочая  область  для  своего
                                выполнения.       После       выполнения
                                предложения экстенты временного сегмента
                                возвращаются системе.

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


Физические структуры
--------------------

        Последующие секции  объясняют физические  структуры базы  данных
        ORACLE, включая файлы данных, файлы журнала повторения работы  и
        управляющие файлы.

Файлы данных

        Каждая база данных ORACLE имеет один или более физических ФАЙЛОВ
        ДАННЫХ.   Эти  файлы  содержат  все  данные базы данных.  Данные
        логических структур  базы данных,  таких как  таблицы и индексы,
        физически  хранятся  в  файлах  данных,  распределенных для базы
        данных.

        Файлы данных имеют следующие характеристики:

            *  Файл данных может быть ассоциирован лишь с одной базой
               данных.

            *  Однажды созданный файл данных не может изменить свой
               размер.

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

    Использование файлов данных

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

        Модифицированные или новые  данные необязательно записываются  в
        файл данных немедленно.  Чтобы уменьшить объем дисковых операций
        и увеличить производительность, данные накапливаются в памяти, и
        записываются в  соответствующие файлы  данных одномоментно,  как
        определяется фоновым  процессом ORACLE,  называемым DBWR.

Файлы журнала повторения

        Каждая база данных ORACLE имеет  набор из двух или более  ФАЙЛОВ
        ЖУРНАЛА ПОВТОРЕНИЯ РАБОТЫ.   Комплект файлов журнала  повторения
        работы  для  одной  базы  данных  совместно  называется ЖУРНАЛОМ
        ПОВТОРЕНИЯ (redo  log).  Основная  функция журнала  повторения -
        регистрация  всех  изменений,  осуществляемых  в  данных.    Все
        изменения,  выполняемые  в  базе  данных,  записываются в журнал
        повторения.  Если в  результате сбоя модифицированные  данные не
        удастся постоянно записать в  файлы данных, эти изменения  можно
        получить  из  журнала  повторения,  так  что  работа  никогда не
        теряется.

        Файлы журнала повторения критичны  в вопросе защиты базы  данных
        от сбоев.  Чтобы защититься от таких сбоев, которые  затрагивают
        сам  журнал  повторения,  ORACLE  допускает  ЗЕРКАЛЬНЫЙ   ЖУРНАЛ
        ПОВТОРЕНИЯ, так что две или более копий журнала повторения можно
        поддерживать одновременно на разных дисках.

    Использование файлов журнала повторения

        Информация в  файле журнала  повторения используется  только для
        восстановления базы  данных после  сбоя системы  или носителя, в
        результате которого данные базы данных не могут быть записаны  в
        файлы данных.

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

        Процесс  применения  журнала  повторения  в  процессе   операции
        восстановления базы данных  называется ПРОКРУТКОЙ ВПЕРЕД.

Управляющие файлы

        Каждая  база  данных  ORACLE  имеет  УПРАВЛЯЮЩИЙ ФАЙЛ, в котором
        записывается  физическая  структура  базы  данных.  В частности,
        этот файл содержит следующую информацию:

            *  имя базы данных

            *  имена и местоположения файлов данных и файлов журнала
               повторения этой базы данных

            *  отметку времени создания базы данных

        Как  и  для  журнала  повторения,  ORACLE позволяет поддерживать
        зеркальные  управляющие   файлы  с   целью  защиты   управляющей
        информации.

    Использование управляющих файлов

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

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



Словарь данных
--------------

        Каждая база данных ORACLE имеет СЛОВАРЬ ДАННЫХ.  Он представляет
        собой набор таблиц и  обзоров, используемых как ТОЛЬКО  ЧИТАЕМОЕ
        представление базы данных.  Например, в словаре данных  хранится
        информация  о  логической  и  физической  структуре базы данных.
        Помимо  этой  важной  информации,  словарь  данных  хранит также
        следующую информацию:

            *  о действительных пользователях базы данных ORACLE

            *  об ограничениях целостности, определенных для таблиц
               базы данных

            *  о том, сколько пространства распределено для каждого
               объекта схемы, и сколько из него используется

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

----------------

Системная архитектура ORACLE

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

Структуры памяти и процессы
---------------------------

        Механизмы ORACLE работают через использование структур памяти  и
        процессов.  Все структуры памяти располагаются в основной памяти
        (иногда называемой виртуальной памятью или памятью произвольного
        доступа)   компьютеров,   составляющих   систему   базы  данных.
        ПРОЦЕССЫ  -  это  задания  или  задачи, работающие в памяти этих
        компьютеров.

        Рис.1-3 показывает типичный вариант структур памяти и  процессов
        ORACLE.  Все структуры памяти  и процессы, изображенные на  этой
        схеме, обсуждаются ниже.



Рис.1-3
Структуры памяти и процессы ORACLE


                            RECO       PMON       SMON

  LCK0

                    Глобальная область системы (SGA)

                                                  Буфер
                    Буферный кэш базы данных      журнала
Пользова-                                         повторения
тельские
процессы

                                                   CKPT       ARCH
                Разделяемый     Выделенный
 пользова-      серверный       серверный
 тельский       процесс         процесс
 процесс                                       DBWR       LGWR


                  D000      пользова-
                            тельский         Файлы        Файлы
                            процесс          данных       журнала


                                               Управл.     Офлайновые
                                               файлы       устройства



Структуры памяти
----------------

        ORACLE создает и использует свои структуры памяти для выполнения
        некоторых задач.  Например,  память используется для  размещения
        исполняемого  программного  кода  и  данных,  разделяемых  между
        пользователями.   С   ORACLE  ассоциируются   несколько  базовых
        структур памяти:  глобальная область  системы (которая  включает
        буфера базы  данных и  журнала повторения,  а также  разделяемый
        пул) и глобальные  области программ.  Следующие  секции подробно
        объясняют каждую из этих видов областей.

Глобальная область системы (SGA)
        ГЛОБАЛЬНАЯ  ОБЛАСТЬ  СИСТЕМЫ  (SGA)  -  это  область разделяемой
        памяти,  распределяемая  ORACLE,   которая  содержит  данные   и
        управляющую информацию для одной инстанции ORACLE.  Область  SGA
        и  фоновые  процессы  ORACLE  составляют инстанцию ORACLE.

        SGA  распределяется  при  запуске  инстанции и освобождается при
        закрытии инстанции.  Каждая  запускающаяся инстанция имеет  свою
        собственную область SGA.

        Данные  в  SGA  разделяются  (т.е. совместно используются) всеми
        пользователями, присоединенными к базе данных.  Для  оптимальной
        производительности  SGA  должна  быть  максимально большой (пока
        позволяет  реальная  память),  чтобы  держать  как  можно больше
        данных в памяти и минимизировать дисковые операции.  Информация,
        хранящаяся  в  SGA,  подразделяется  на несколько типов структур
        памяти, включая буфера базы данных, буфера журнала повторения  и
        разделяемый  пул.   Эти  области  имеют  фиксированные размеры и
        создаются при запуске инстанции.

    Буферный кэш базы данных
        БУФЕРА   БАЗЫ   ДАННЫХ    в   SGA   хранят    наиболее   недавно
        использовавшиеся  блоки  данных  из  базы  данных; все множество
        буферов базы  данных в  инстанции составляет  БУФЕРНЫЙ КЭШ  БАЗЫ
        ДАННЫХ.   Эти  буфера  могут  содержать модифицированные данные,
        которые  еще  не  записаны  на  диск  для  постоянного хранения.
        Поскольку  последние  использовавшиеся  (в  том числе и наиболее
        часто использующиеся) данные поддерживаются в памяти,  требуется
        меньше дисковых операций, и производительность увеличивается.

    Буфер журнала повторения
        БУФЕР ЖУРНАЛА ПОВТОРЕНИЯ в SGA хранит ЗАПИСИ ПОВТОРЕНИЯ - журнал
        изменений,  осуществленных  в  базе  данных.  Записи повторения,
        хранящиеся  в   буферах  журнала   повторения,  записываются   в
        онлайновый файл журнала, который используется при  необходимости
        восстановления базы данных.  Его размер статичен.

    Разделяемый пул
        Разделяемый  пул   -  это   часть  SGA,   содержащая  конструкты
        разделяемой   памяти,   такие   как   разделяемые   области SQL.
        Разделяемая  область   SQL  требуется   для  обработки   каждого
        уникального предложения  SQL, выданного базе данных. Разделяемая
        область SGA содержит такую информацию, как дерево разбора и план
        исполнения    для  соответствующего  предложения.   Единственная
        разделяемая область SGA используется всеми приложениями, которые
        выдают то же самое   предложение.    Это   позволяет   оставлять
        больше  разделяемой памяти для других целей.

    Курсоры
        КУРСОР  -  это  описатель  (имя  или  указатель) области памяти,
        ассоциированной  с  конкретным  предложением.   Хотя большинство
        пользователей  ORACLE  полагаются  на  автоматическую  обработку
        курсоров,   обеспечиваемую    утилитами   ORACLE,    программные
        интерфейсы предлагают  разработчикам приложений  большую степень
        контроля  над  курсорами.   Например,  при разработке приложений
        прекомпиляторов курсор является именованным ресурсом,  доступным
        программе,  и  может   специально  использоваться  для   разбора
        предложений  SQL,  встроенных  в  приложение.  Разработчик может
        написать   приложение   так,   чтобы   оно   контролировало фазы
        исполнения  предложения  SQL  и  за  счет  этого  повышало  свою
        производительность.

Глобальная область программы (PGA)

        ГЛОБАЛЬНАЯ  ОБЛАСТЬ   ПРОГРАММЫ  (PGA)   -  это   буфер  памяти,
        содержащий данные и управляющую информацию для процесса сервера.
        PGA создается ORACLE при запуске процесса сервера.  Информация в
        области PGA зависит от конфигурации ORACLE.

Процессы
--------

        ПРОЦЕСС  -  это  "канал  управления",  механизм  в  операционной
        системе, который исполняет последовательность шагов.   Некоторые
        операционные  системы  используют  термины  ЗАДАНИЕ  или ЗАДАЧА.
        Процесс  обычно  имеет  собственную  область  личной  памяти,  в
        которой он работает.

        СУБД  ORACLE  имеет  два  общих типа процессов: пользовательские
        процессы и процессы ORACLE.

Пользовательские процессы (клиенты)

        ПОЛЬЗОВАТЕЛЬСКИЙ   ПРОЦЕСС   создается   и   поддерживается  для
        исполнения  программного  кода  прикладной  программы (такой как
        программа Pro*C)  или инструмента  ORACLE (такого  как SQL*DBA).
        Пользовательский  процесс  также  управляет  взаимодействием   с
        процессами  сервера.   Это  взаимодействие  осуществляется через
        программный интерфейс, описываемый ниже в этом разделе.

Процессы ORACLE

        ПРОЦЕССЫ ORACLE  вызываются другими  процессами для  того, чтобы
        выполнять   функции   от   имени   вызывающего   процесса.  Ниже
        обсуждаются различные типы  процессов ORACLE и  их специфические
        функции.

    Процессы сервера
        ORACLE создает ПРОЦЕССЫ  СЕРВЕРА, чтобы обрабатывать  запросы от
        присоединенных  пользовательских  процессов.   Процесс   сервера
        отвечает   за   связь   с   пользовательским   процессом   и  за
        взаимодействие с ORACLE для выполнения запросов ассоциированного
        пользовательского   процесса.    Например,   если   пользователь
        запрашивает данные, которых еще нет в буферах базы данных в SGA,
        то  ассоциированный  процесс  сервера  считывает соответствующие
        блоки данных из файлов данных в SGA.

        ORACLE можно конфигурировать на различное число пользовательских
        процессов на один  процесс сервера.  В  КОНФИГУРАЦИИ ВЫДЕЛЕННОГО
        СЕРВЕРА каждый  процесс сервера  обрабатывет запросы  для одного
        пользовательского   процесса.    КОНФИГУРАЦИЯ    МНОГОКАНАЛЬНОГО
        СЕРВЕРА  позволяет  многим  пользовательским процессам совместно
        использовать  небольшое  число  процессов  сервера,  минимизируя
        количество процессов сервера и максимизируя утилизацию доступных
        системных ресурсов.

        В  некоторых  системах  пользовательский  и  серверный  процессы
        разделены, тогда как в  других системах они объединены  в единый
        процесс.  Если система конфигурирована на многоканальный сервер,
        или  если  пользовательские  и  серверные  процессы  работают на
        разных машинах,  то пользовательский  процесс и  процесс сервера
        должны быть раздельными.

    Фоновые процессы

        ORACLE создает множество ФОНОВЫХ ПРОЦЕССОВ для каждой инстанции.
        В  фоновых  процессах  сосредоточены  те  функции, которые иначе
        пришлось бы  выполнять множеством  программ ORACLE,  запускаемых
        для  каждого   пользовательского  процесса.    Фоновые  процессы
        асинхронно выполняют операции ввода-вывода и отслеживают  другие
        процессы  ORACLE,  обеспечивая  лучший  параллелизм  и   улучшая
        производительность и надежность.

        Область SGA и фоновые процессы ORACLE в совокупности  составляют
        инстанцию ORACLE.
        Каждая  инстанция  ORACLE  может  использовать несколько фоновых
        процессов.   Эти  процессы  имеют  следующие  имена: DBWR, LGWR,
        CKPT,  SMON,  PMON,  ARCH,  RECO,  Dnnn  и LCKn.  Каждый из этих
        фоновых процессов описан ниже.

    Писатель базы данных (DBWR)

        ПИСАТЕЛЬ  БАЗЫ  ДАННЫХ  записывает  модифицированные  блоки   из
        буферного кэша базы данных  в файлы данных.  Благодаря  способу,
        которым  ORACLE  осуществляет  журнализацию,  процессу  DBWR  не
        требуется записывать  эти блоки  при завершении  транзакции
        Вместо этого DBWR оптимизирован
        так, чтобы  минимизировать обращения  к диску.   В общем случае,
        DBWR  выполняет  запись  лишь  тогда,  когда  в  SGA   требуется
        прочитать очередную порцию данных,  а в буферном кэше  недостает
        свободных буферов.   Первыми записываются  те данные,  к которым
        было самое давнее обращение.

    Писатель журнала (LGWR)

        ПИСАТЕЛЬ ЖУРНАЛА записывает  на диск записи  журнала повторения.
        Эти записи генерируются в буфере журнала повторения в SGA. Когда
        транзакция  завершается  и   буфер  журнала  заполняется,   LGWR
        переписывает   записи   журнала   повторения   в   файл  журнала
        повторения.

    Контрольная точка (CKPT)

        В специфические  моменты времени  все модифицированные  буфера в
        SGA  записываются  процессом  DBWR  в  файлы данных; это событие
        называется  контрольной   точкой.   Процесс   КОНТРОЛЬНОЙ  ТОЧКИ
        отвечает   за   своевременную   сигнализацию   процессу   DBWR о
        контрольных точках и обновление всех файлов данных и управляющих
        файлов базы данных, чтобы отразить последнюю контрольную  точку.
        Процесс CKPT  не обязателен;  если он  отсутствует, его  функции
        берет на себя процесс LGWR.

    Монитор системы (SMON)

        МОНИТОР СИСТЕМЫ осуществляет  восстановление инстанции во  время
        запуска  инстанции.   В  системе  с несколькими инстанциями (при
        использовании   Параллельного   сервера),   процесс   SMON одной
        инстанции   может   также   осуществлять   восстановление других
        сбившихся  инстанций.   SMON  также  очищает временные сегменты,
        которые  больше  не  используются,  и  восстанавливает   мертвые
        транзакции, пропущенные после сбоя и восстановления инстанции  в
        результате сбоев файлов или  офлайновых ошибок.  Процесс SMON  в
        конечном счете восстанавливает такие транзакции, когда табличное
        пространство или файл переводится в онлайн.  SMON также  сжимает
        свободные  экстенты  в  базе  данных,  чтобы  сделать  свободное
        пространство непрерывным и более доступным для распределения.

    Монитор процессов (PMON)

        МОНИТОР  ПРОЦЕССОВ  осуществляет  восстановление  процесса после
        сбоя пользовательского процесса.  PMON отвечает за очистку  кэша
        и освобождение ресурсов, использовавшихся процессом.  PMON также
        контролирует диспетчерские  и серверные  процессы, и
        рестартует их, если они сбиваются.

    Архиватор (ARCH)

        АРХИВАТОР  копирует  онлайновые   файлы  журнала  повторения   в
        архивную  память,  когда  они  переполняются.  ARCH активен лишь
        тогда, когда журнал повторения используется в режиме ARCHIVELOG.

    Восстановитель (RECO)

        ВОССТАНОВИТЕЛЬ   используется   для   разрешения  распределенных
        транзакций, зависших в результате сетевого или системного сбоя в
        распределенной базе данных.   В моменты, определяемые  таймером,
        локальный RECO пытается соединиться с удаленными базами данных и
        автоматически подтвердить или  отменить локальную порцию  каждой
        висящей распределенной транзакции.

    Диспетчер (Dnnn)

        ДИСПЕТЧЕРЫ - это  необязательные фоновые процессы,  существующие
        лишь в  конфигурации многоканального  сервера.  По  меньшей мере
        один диспетчерский процесс  создается для каждого  используемого
        коммуникационного   протокола   (D000,   ...,   Dnnn).    Каждый
        диспетчерский  процесс  отвечает  за  маршрутизацию  запросов от
        присоединенных    пользовательских    процессов    к   доступным
        разделяемым  серверным  процессам,  и  за  возвращение   ответов
        обратно в ассоциированные пользовательские процессы.

    Блокировка (LCKn)

        До десяти  процессов БЛОКИРОВКИ  (LCK0, ...,  LCK9) используются
        для межинстанционных  блокировок в  среде Параллельного  сервера
        ORACLE.


Программный интерфейс
---------------------

        ПРОГРАММНЫЙ  ИНТЕРФЕЙС  -  это  механизм,  посредством  которого
        пользовательский  процесс  общается  с  процессом  сервера.   Он
        выступает  как  метод   стандартной  коммуникации  между   любым
        инструментом  или  приложением  клиента  (таким как SQL*Forms) и
        программным обеспечением ORACLE.  Программный интерфейс должен:

            *  действовать как механизм коммуникации, форматируя запросы
               на  данные,  передавая  данные,  перехватывая и возвращая
               ошибки

            *  выполнять   преобразование   и   трансляцию   данных,   в
               частности,  между  разными  типами  компьютеров,  или  во
               внешние типы данных программы пользователя

Коммуникационное программное обеспечение и SQL*Net

        Если пользовательский и  серверный процессы находятся  на разных
        компьютерах   в   сети,   или   если   пользовательские процессы
        присоединяются   к   разделяемым   серверным   процессам   через
        диспетчерские  процессы,   то  программный   интерфейс  включает
        физическое   сетевое    соединение,   программное    обеспечение
        коммуникации  и  SQL*Net.   SQL*Net  -  это  интерфейс  ORACLE к
        стандартным коммуникационным протоколам, обеспечивающий  должную
        передачу данных между компьютерами.



Инстанция ORACLE
----------------

        Каждый  раз,  когда  запускается  база  данных,   распределяется
        область SGA и  запускаются фоновые процессы  ORACLE.  Комбинация
        этих процессов  и буферов  памяти называется  ИНСТАНЦИЕЙ ORACLE.
        Рис.1-4 иллюстрирует многопроцессную инстанцию ORACLE.

Рис.1-4
Инстанция ORACLE

    Пользовательские
    процессы             User      User      User      User    ...



                           Глобальная область системы (SGA)



Процессы
ORACLE          RECO      PMON      SMON      DBWR      LGWR      ARCH
(фоновые)

Параллельный сервер ORACLE: системы с несколькими инстанциями

        Некоторые  архитектуры  оборудования  (например,  слабосвязанные
        процессоры) позволяют нескольким компьютерам разделять доступ  к
        данным, программному  обеспечению или  периферийным устройствам.
        ORACLE с  опцией Параллельного  сервера использует  преимущества
        такой   архитектуры,   выполняя   несколько   инстанций, которые
        "разделяют" единую  физическую базу  данных.  В  соответствующих
        приложениях, Параллельный сервер  ORACLE предоставляет доступ  к
        одной базе данных  пользователей на разных  машинах, обеспечивая
        увеличенную производительность.


смотреть на рефераты похожие на "Системная архитектура и структура RDBMS ORACLE"