09.12.2009

Работа с файлами данных Oracle Database

Платформа 1С:Предприятие 8.2 при работе с СУБД Oracle Database создает следующие табличные пространства:

Табличные пространства создаются при создании информационной базы лишь в том случае, если их не существует. Это означает, что при создании первой информационной базы с использованием СУБД Oracle Database табличные пространства будут созданы, а все последующие информационные базы будут использовать эти табличные пространства.

Создаваемые табличные пространства содержат один файл данных (datafile в терминологии Oracle Database). Ввиду того, что создаваемое табличное пространство является обычным (без опции bigfile), файлы данных ограничены размером в 32ГБ (данное значение подразумевает использование блока величиной 8КБ - значение по умолчанию).

Отличие обычного табличного пространства от табличного пространства BIGFILE описано в таблице.

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

Может состоять из множества файлов данных.

Состоит из одного файла данных.

Каждый файл данных ограничен 32ГБ (по умолчанию).

Размер файла данных ограничен 32ТБ (по умолчанию).

Есть возможность использовать несколько дисков для одного табличного пространства.

Один файл подразумевает использование одного логического диска, а значит, не допускает распределения на несколько дисков.

Когда заполнение файла данных достигает 85% (значение по умолчанию), СУБД Oracle Database генерирует предупреждение в alert log. В это время необходимо добавить файл данных к табличному пространству. Если действия не предприняты, то при заполнении файла данных на 97% (значение по умолчанию) генерируется ошибка о том, что СУБД не смогла выделить следующий сегмент данных.

Типичный сценарий использования СУБД Oracle Database подразумевает, что администратор следит за состоянием alert log и предпринимает действия, необходимые для того, чтобы избежать простоя в работе информационной системы. Для того чтобы добавить файл данных в табличное пространство, необходимо исполнить команду.

Копировать в буфер обмена

SQL> ALTER TABLESPACE V81C_DATA ADD DATAFILE 'C:\ORACLE\PRODUCT\10.2.0\ORA1C\V81C_DATA2.DBF' SIZE 40M AUTOEXTEND ON NEXT 10M;

Существует способ создать табличное пространство с опцией bigfile, но следует помнить, что тогда администратор теряет контроль над распределением места для файлов данных Oracle Database (табличное пространство с опцией bigfile может состоять только из одного файла).  Для создания табличного пространства с опцией bigfile необходимо исполнить команду.

Копировать в буфер обмена

SQL> CREATE BIGFILE TABLESPACE V81C_LOB DATAFILE 'C:\ORACLE\PRODUCT\10.2.0\ORA1C\V81C_LOB.dbf' SIZE 64G;

Следует иметь в виду данные обстоятельства при загрузке больших информационных баз. Если загружаемая информационная база занимает пространства больше, чем 32ГБ, то стоит позаботиться о расширении табличных пространств заранее, до загрузки информационной базы. Создав табличное пространство с опцией BIGFILE до загрузки информационной базы, ограничение в 32ГБ будет сдвинуто до следующего предела - 32 ТБ (терабайта).