Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СУБД Oracle / Лекции / Лек_ORAC / LCD / Хранение БД.doc
Скачиваний:
50
Добавлен:
16.04.2013
Размер:
173.06 Кб
Скачать

Сращивание свободного пространства в файлах данных табличной области

По мере создания и разрастания объектов хранения данных в табличной области свободные участки в её файлах данных могут фрагментироваться, и становиться меньше. Если свободные участки на диске недостаточно велики, Oracle, возможно, не сумеет выделить пространство для новых или уже существующих объектов. Для решения этой проблемы вOracleпредусмотрена возможность сращивания (coalesce) множества мелких смежных свободных участков дисковой памяти в большие области. Концепция сращивания свободного пространства проиллюстрирована на рис. $.4.

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

ALTER TABLESPACE rbseg

COALESCE;

Размеры файлов данных

Как правило, размер файла данных постоянен. Если при выделении файлового пространства объектам табличной области эти файлы запол­няются, то заполняется и табличная область. Когда приложение пытается ввести или обновить данные, а нужная табличная область заполнена, Oracleбудет возвращать сообщения об ошибке до тех пор, пока для этой области не будет выделено дополнительное пространство. Существует несколько способов повысить емкость полной табличной области:

  • Добавить один или несколько файлов данных к табличной области.

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

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

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

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

Повреждение файлов данных

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

Оперативные и отключенные файлы данных

Oracleосуществляет контроль за работой с файлами данных таблич­ных областей. Файл данных может быть либо оперативным (online), т.е. доступным, либо отключенным (offline), т.е. недоступным. В обычных условиях файлы данных являются оперативными. КогдаOracleпытается прочитать или записать файл, но не может этого сделать, файл автоматически отключается. При этом соответствующая табличная область остается оперативной, потому что другие её файлы данных могут быть доступны. Если возникает какая-либо проблема, файл данных можно отключить вручную, а когда она устранена (например, после восстановления файла данных), отключенный файл можно опять вручную сделать оперативным.

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