Читайте также:
|
|
Архитектура сервера ORACLE
В Oracle термином база данных описывается физическое хранилище
информации, а термином экземпляр - программное обеспечение, рабо-
тающее на сервере и предоставляющее доступ к информации в базе
данных.
База данных - физическая сущность: она состоит из файлов, храня-
щихся на дисках. Экземпляр - сущность логическая: он состоит из
структур в оперативной памяти и процессов, работающих на сервере.
[1, с. 81]
• база данных — набор физических файлов операционной системы;
• экземпляр — набор процессов Oracle и область SGA.
Физическая структура БД. Файлы БД
Базу данных образуют следующие файлы.
• Файлы данных. Собственно данные (в этих файлах хранятся таблицы, индексы и
все остальные сегменты).
• Файлы журнала повторного выполнения. Журналы транзакций.
Оперативные журналы
Файлы операционной системы, в которые Oracle последовательно
записывает изменения, произведенные в базе данных, циклически
перебирая файлы.
Архивные журналы
Копии заполненных оперативных журналов, создаваемые во избе-
жание потери данных при перезаписи оперативных журналов.
• Управляющие файлы. Определяют местонахождение файлов данных и содержат
другую необходимую информацию о состоянии базы данных.
• Временные файлы. Используются при сортировке больших объемов данных и для
хранения временных объектов.
• Файлы паролей. Используются для аутентификации пользователей, выполняющих
администрирование удаленно, по сети.
Файлы БД объединяются в одно или несколько табличных пространств (Table Space).
[2, с. 31]
Структура файлов данных
В любой реальной базе данных должно быть минимум два файла данных: один — для системных данных (табличное пространство SYSTEM), другой — для пользовательских (табличное пространство USER).
С точки зрения физической организации, файл данных представляет
собой набор блоков операционной системы. А с логической точки зре-
ния, в файлах данных можно выделить три структурных уровня: бло-
ки данных, экстенты и сегменты.
[2, с. 5]
Сегменты — это области на диске, выделяемые под объекты —
таблицы, индексы, сегменты отката и т.д. При создании таблицы создается сегмент таб-
лицы. При создании фрагментированной таблицы создается по сегменту для каждого
фрагмента. При создании индекса создается сегмент индекса и т.д. Каждый объект, за-
нимающий место на диске, хранится в одном сегменте. Есть сегменты отката, времен-
ные сегменты, сегменты кластеров, сегменты индексов и т.д.
Экстенты состоят из блоков. Блок — наименьшая единица выделения пространства в
Oracle. В блоках и хранятся строки данных, индексов или промежуточные результаты
сортировок. Именно блоками сервер Oracle обычно выполняет чтение и запись на диск.
Блоки в Oracle бывают размером 2 Кбайт, 4 Кбайт или 8 Кбайт (хотя допустимы также
блоки размером 16 Кбайт и 32 Кбайт).
Сегмент состоит из одного или более экстентов, а экстент — это группа следующих
подряд блоков.
Размер блока в базе данных с момента ее создания — величина постоянная, поэтому
все блоки в базе данных одного размера. Формат блока представлен ниже.
[1, с. 91]
Заголовок блока содержит информацию о типе блока (блок таблицы, блок индекса и
т.д.), информацию о текущих и прежних транзакциях, затронувших блок, а также адрес
(местонахождение) блока на диске. Каталог таблиц содержит информацию о таблицах,
строки которых хранятся в этом блоке (в блоке могут храниться данные нескольких таб-
лиц). Каталог строк содержит описание хранящихся в блоке строк. Это массив указате-
лей на строки, хранящиеся в области данных блока. Вместе эти три части блока называ-
ются служебным пространством блока. Это пространство недоступно для данных и
используется сервером Oracle для управления блоком. Остальные две части блока впол-
не понятны: в блоке имеется занятое пространство, в котором хранятся данные, и мо-
жет быть свободное пространство.
Итак, иерархия объектов, обеспечивающих хранение данных в Oracle, выглядит так.
1. База данных, состоящая из одного или нескольких табличных пространств.
2. Табличное пространство, состоящее из одного или нескольких файлов данных. Таб-
личное пространство содержит сегменты.
3. Сегмент (TABLE, INDEX и т.д.), состоящий из одного и более экстентов. Сегмент
привязан к табличному пространству, но его данные могут находиться в разных
файлах данных, образующих это табличное пространство.
4. Экстент — набор расположенных рядом на диске блоков. Экстент целиком нахо-
дится в одном табличном пространстве и, более того, в одном файле данных этого
табличного пространства.
5. Блок — наименьшая единица управления пространством в базе данных. Блок — наи-
меньшая единица ввода/вывода, используемая сервером.
Дата добавления: 2015-10-26; просмотров: 98 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
An original script by Luc Besson | | | Центральные и периферические аэробные компоненты, их вклад в работоспособность |