Учебное пособие Для студентов университетов Специальностей «Информатика», «Прикладная математика»



Pdf көрінісі
бет91/177
Дата15.02.2022
өлшемі2,58 Mb.
#25567
түріУчебное пособие
1   ...   87   88   89   90   91   92   93   94   ...   177
11.4. АРХИТЕКТУРА БАЗЫ ДАННЫХ ORACLE 
 
105


 
Термин  база  данных Oracle  используется  для  обозначения  физиче-
ской  и  логической  структур  данных  совместно  со  всей  служебной  ин-
формацией.  Чтобы  разделить  описание  логической  организации  данных 
от  способов  их  хранения  и  доступа  к  ним,  в Oracle используется  двух-
уровневая  организация  БД.  Объекты  верхнего  (логического)  уровня  на-
зываются  логическими  структурами,  а  объекты  нижнего  (физического) 
уровня – физическими структурами БД.  
Опишем  физическую  организацию  БД Oracle. Физически  БД Oracle 
организована как совокупность файлов, создаваемых  обычными средст-
вами  операционной  системы.  Таким  образом,  основой  физического 
уровня является файл.  
Все  компоненты  физического  уровня  БД  можно  разделить  на  две 
большие группы – системные объекты, используемые внутри системы и 
необходимые СУБД для выполнения ее функций, и объекты пользовате-
ля. Системные файлы создаются и настраиваются администратором БД и 
не могут быть доступны пользователю в явном виде. В число системных 
объектов входят: 
1)  файл параметров инициализации; 
2)  управляющий файл; 
3)  файлы журнала регистрации транзакций; 
4)  файлы трассировки. 
К пользовательским объектам физического уровня БД относятся фай-
лы данных.  
Файл параметров инициализации Init.оra содержит список параметров 
и ключей настройки, каждый из которых связан с определенной функци-
ей системы или компонентом БД и представляет собой  обычный тексто-
вый файл. Этот файл считывается перед запуском БД, формировании эк-
земпляра Oracle и считывании управляющих файлов. Значения парамет-
ров, которые заданы в Init.оra, определяют характеристики формируемо-
го экземпляра Oracle и создаваемой БД. В частности, здесь заданы пара-
метры  распределения  памяти  для  разделяемого  пула,  кэш-буфера  дан-
ных,  буфера  журнала  транзакций,  характеристики  автоматически  запус-
каемых фоновых процессов, считываемых управляющих файлов, сегмен-
тов отката и т. д. 
Управляющий файл содержит информацию о файлах данных и файлах 
журналов регистрации транзакций, о наборе символов, используемом для 
хранения  данных,  о  статусе  и  датах  обновления  всех  файлов  данных,  а 
также  прочую  аналогичную  информацию.  Большинство  параметров, 
хранящихся в управляющем файле, формируются при создании БД. При 
отсутствии  корректного  управляющего  файла  БД  не  открывается,  и  ее 
 
106


 
информация  становится  недоступной.  Поэтому  внутри  СУБД  преду-
смотрен  поддерживаемый  сервером Oracle механизм  тиражирования 
управляющего файла. Рекомендуется иметь до трех копий управляющего 
файла. 
Файлы  журнала  регистрации  транзакций  делятся  на  оперативные  и 
архивные.  Оперативные  файлы  журнала  регистрации  транзакций  ис-
пользуются  для  записи  содержимого  буфера  журнала  транзакций.  Эти 
журналы хранят сведения обо всех транзакциях, которые так или иначе 
связаны  с  изменениями  содержимого  БД  и  при  необходимости  могут 
быть  использованы  для  восстановления  БД.  Минимальное  количество 
оперативных  файлов  журнала  регистрации  транзакций  равняется  двум. 
Запись в них производится поочередно. Файл журнала регистрации тран-
закций, в который производится запись, называется активным. После за-
полнения  одного  файла  журнала  регистрации  транзакций  система  пере-
ключается  на  следующий  файл,  а  информация  первого  файла  начинает 
перезаписываться  в  архивные  файлы  журнала  регистрации  транзакций. 
Архивные файлы журнала регистрации транзакций совместно с создавае-
мой  регулярно  копией  БД  позволяют  полностью  восстановить  содержа-
ние базы, если произойдет искажение или потеря информации БД. В це-
лях обеспечения бесперебойной работы системы создаются группы (как 
минимум две) оперативных файлов журнала регистрации транзакций, где 
каждая группа состоит из множества одинаковых элементов. Как только 
группа  становится  активной,  очередная  запись  в  журнале  производится 
параллельно во все элементы группы. 
В файлах трассировки регистрируются системные сообщения, ошиб-
ки и сведения обо всех главных событиях системы. Именно в этих фай-
лах следует искать информацию при анализе причин возникновения той 
или  иной  нестандартной  ситуации.  Здесь  фиксируются  все  критические 
сбои системы, а также сообщения о запуске или прекращении работы с 
БД,  переключении  файлов  журнала  транзакций  и  других  событиях. 
Пользовательские и фоновые процессы могут сформировать свои собст-
венные файлы трассировки. 
Файлы  данных  предназначены  для  хранения  как  служебной,  так  и 
пользовательской  информации.  К  служебной  информации  относятся 
словарь данных и другие служебные таблицы и представления, к пользо-
вательской – объекты, созданные пользователем. Файл данных является 
обычным  двоичным  файлом  операционной  системы.  Файлы  данных 
формируются  при  создании  или  модификации  табличных  пространств, 
являющихся объектами логической структуры БД Oracle. При  первона-
чальном создании файлы данных разбиваются сервером на блоки Oracle
 
107


 
Информация  обо  всех  файлах  данных,  составляющих  физическое  про-
странство 
БД, 
хранится 
в 
представлении 
словаря 
данных 
DBA_DATA_FILES. 
Блоки Oracle являются элементами низшего в системе уровня иерар-
хии хранения данных, представляя собой наименьшие адресуемые серве-
ром Oracle единицы  хранения  (наименьшие  единицы  внешней  памяти). 
Объемы объектов в БД и размеры блоков в кэш-буфере данных устанав-
ливаются  в  блоках Oracle. Блоки Oracle нумеруются  последовательно, 
начиная с единицы, для каждого файла данных. В словаре данных Oracle 
ведет список свободных блоков для каждого файла данных. Блоки Oracle 
формируются  из  блоков  операционной  системы.  Размер  блока Oracle 
должен  быть  кратен  размеру  блока  данных,  который  используется  опе-
рационной  системой  для  ввода  и  вывода  данных  на  диск.  Размер  блока 
Oracle  устанавливается  при  создании  базы  данных  и  в  дальнейшем  не 
может быть изменен.  
В каждом блоке Oracle предусмотрено место для заголовка, будущих 
обновлений данных блока и реально существующих строк данных. Заго-
ловок    содержит    информацию  о  том,  какому  сегменту  данных  (какой 
таблице,  индексу  и  т.  д.)  принадлежат  строки,  хранящиеся  в  блоке,  о 
максимальном числе транзакций, которые могут быть одновременно ад-
ресованы к данным блока. Строки данных, помещенные в блок, нумеру-
ются. Некоторая часть блока остается свободной. Размер свободной час-
ти блока задается параметром PCTFREE при создании таблицы и указы-
вается в процентах. Это свободное пространство резервируется для воз-
можного  увеличения    объема  строк  данных,  хранящихся  в  блоке,  в  ре-
зультате модификации. 
Для  более  гибкой  политики  использования  пространства  блока  ис-
пользуется  параметр PCTUSED, также  задаваемый  при  создании  табли-
цы. Этот параметр указывает, какая часть объема блока должна освобо-
диться,  прежде  чем  блок  будет  вновь  включен  в  список  доступных  для 
ввода  новых  строк.  Освобождение  пространства  блока  возможно  в  ре-
зультате удаления строк и сокращения объема хранящейся в них инфор-
мации после обновления данных. 
Информационная часть блока содержит строки данных. При помеще-
нии очередной строки в блок для нее формируется внутренняя информа-
ционная структура Oracle – ROWID, представляющая собой физический 
адрес размещения строки. Этот адрес остается неизменным до удаления 
строки 
или 
реорганизации 
сегмента 
и 
имеет 
формат: 
BBBBBBBB.RRRR.FFFF, где: BBBBBBBB – шестнадцатеричный номер 
блока в файле данных, в котором находится строка; RRRR – шестнадца-
 
108


 
теричный номер строки в блоке; FFFF – шестнадцатеричный номер фай-
ла, содержащего блок. 


Достарыңызбен бөлісу:
1   ...   87   88   89   90   91   92   93   94   ...   177




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет