Файлы базы данных
Перед тем как приступить к изучению способов создания баз данных, рассмотрим какие файлы на уровне файловой системы ассоциированы с базой данных OpenEdge.
База данных OpenEdge состоит из множества различных файлов, которые принадлежат отдельным её компонентам. На рисунке приведена схема файловой структуры, а назначение каждого её компонента описано далее.
Файл описания структуры содержит информацию о структуре базы данных. Это текстовый файл с расширением «.st». Его использует утилита PROSTRCT CREATE, создающая области хранения и их экстенты. За создание .st файла отвечает администратор базы данных. Если при создании базы данных такого файла не будет, то СУБД автоматически создаст его с минимальным набором компонентов.
Журнал событий базы данных (далее лог-файл) – текстовый файл с расширением «.lg». Он содержит информацию о значимых для базы данных событиях, включая запуск и останов сервера, подключение и отключение пользователей, и прочую информацию о событиях, происходящих в базе.
Контрольная область базы данных (Control Area) представляет собой один бинарный файл с расширением «.db», который содержит информацию о структуре экстентов базы данных. Контрольная область – это фактически таблица-оглавление, используемая базой данных для идентификации имени и пути размещения каждого экстента областей хранения данных.
Область Primary Recovery или Before Image (далее BI) может состоять из одного или более экстентов, у которых файлы имеют расширение «.bn». Файлы BI содержат заметки обо всех изменениях в данных. В случае возникновения какого-либо сбоя база данных использует эти заметки для отката незавершённых транзакций, тем самым обеспечивая целостность базы данных.
Область Schema Area состоит из минимум одного экстента переменного размера, файлы которого имеют расширение «.dn». Область содержит мастер-блок и блоки секвенций, а также системные таблицы. По умолчанию все пользовательские данные будут храниться в этой области, что по определённым причинам затрудняет управление этими данными.
Область поддерживает только архитектуру SAT-I (Storage Area Type I). Поэтому рекомендуется размещать пользовательские данные в отдельных дополнительных областях хранения.
Дополнительные пользовательские области хранения данных – каждая такая область может содержать от одного до нескольких экстентов, файлы этих экстентов имеют расширение «.dn». При этом только последний экстент области может быть переменного размера. Эти области предназначены для хранения пользовательских данных, таких как таблицы, индексы, а также поля BLOB или CLOB. Область может иметь тип архитектуры SAT-I или SAT-II (Storage Area Type II). Создавая такие области, можно улучшить производительность за счёт размещения различных объектов на различных дисках, а также за счёт возможности использования архитектуры SAT-II и тонкой настройки параметров отдельных областей хранения.
Область After-Image Area (далее AI), файлы экстентов этой области имеют расширение «.an», и могут быть как фиксированного, так и переменного размера. Экстенты этой области необходимы для работы механизма After-imaging. Благодаря этой области, в случае возникновения аппаратного сбоя, с помощью резервной копии и AI-файлов можно восстановить базу данных на любой момент времени. Фактически каждый AI-экстент – это отдельная область, которая имеет свой уникальный номер в пределах базы данных.
Область Transaction Log используется, если активирован механизм Two-Phase Commit. Она может состоять из одного и более экстентов фиксированного размера, которые имеют расширение «.tn». Этой областью не поддерживаются экстенты переменного размера. Её файлы содержат информацию о завершённых транзакциях механизма Two-Phase commit.
Все перечисленные выше файлы – это и есть База данных. Все они должны рассматриваться как единое неделимое целое. Например, фраза «создать резервную копию базы данных» означает, что необходимо сформировать резервную копию всех файлов базы.
Помимо указанного стандартного набора файлов базой данных могут использоваться и другие файлы с различными расширениями. Одни из них создаются лишь на короткий период времени, другие во время активации дополнительных механизмов СУБД и используются в течение всего периода работы этих механизмов, а некоторые создаются администратором, например, файлы настройки сервера репликации. В таблице приведён список возможных дополнительных типов файлов и их краткое описание.
Файл |
Описание |
.abd | Архивный бинарный дамп данных аудита |
.bd | Файл бинарного дампа данных (таблиц) |
.bld | Файл данных для полей BLOB или CLOB |
.cf | Файл кэша схемы (Schema Cache) |
.cp | Файл, содержащий двоичный код скомпилированной кодовой страницы |
.dfsql | Описание данных в SQL-формате |
.dsql | Дамп данных в SQL-формате |
.d | Дамп таблицы в ABL-формате |
.df | Описание данных в ABL-формате |
.fd | Файл описания для ABL Bulk Load |
.lic | Файл отчёта об использовании лицензий |
.lk | Файл блокировки |
.repl.properties | Файл настроек OpenEdge Replication |
.repl.recovery | Файл OpenEdge Replication, содержащий системную информацию по процессу репликации |