Получение информации о табличном пространстве
Информация о табличном пространстве:
DBA_TABLESPACES
V$TABLESPACE
Информация о файле данных:
DBA_DATA_FILES
V$DATAFILE
Информация о временном файле:
DBA_TEMP_FILES
V$TEMPFILE
Политика управления табличными пространствами и файлами данных
Каждая база данных Oracle состоит из областей, так называемых табличных пространств, каждое из которых соответствует одному или более физическим файлам данных. Каждый файл
данных может принадлежать только одному табличному пространству, но одно табличное пространство может располагаться в нескольких файлах данных. По сути, вся информация хранится в соответствующем табличном пространстве. Например, метаданные хранятся в
табличном пространстве SYSTEM, которому соответствует файл данных по умолчанию - SystemOl.dbf; пользователи создаются в их собственном табличном пространстве - USERS; разработчики приложений размещают свои объекты в своих собственных табличных
пространствах и т.д. Файлы данных являются объектами управления операционной системы, а объекты БД - только Oracle. Для стыковки между операционной системой и Oracle в данном случае и применяются табличные пространства. Поэтому для таблиц, индексов и других объектов
СУБД выделяет память только в уже созданных табличных пространствах, и пользователь не выходит на уровень операционной системы.
Использование множественных табличных пространств позволит наиболее гибко организовать работу с базой данных. Такая организация хранения данных предоставляет следующие
возможности:
■ отделять пользовательские данные от данных словаря;
■ отделять данные одних приложений от данных других
приложений;
■ размещать файлы данных различных табличных
пространств на разных дисках, чтобы уменьшить
соперничество;
■ отделять данные сегментов отката от пользовательских
данных, предотвращая потерю информации в результате
единичного сбоя;
■ переводить индивидуальные табличные пространства в
неактивное состояние, продолжая нормальную работу с
другими табличными пространствами;
■ резервировать табличные пространства для специальных режимов использования базы данных, например, для периодов высокой активности, только для чтения, или для размещения
временных сегментов;
■ осуществлять резервное копирование индивидуальных табличных пространств, оставляя остальные пространства доступными для пользователей. Использование табличных пространств позволяет сгруппировать воедино объекты одного и того же типа и хранить в одной и той же логической области. Размещение различных табличных пространств на отдельных физических дисковых устройствах позволяет значительно увеличить производительность системы. Для того чтобы поддерживать табличные пространства, администратор должен знать, какие пространства были созданы и какие объекты размещены в каждом табличном пространстве. Следующий скрипт выводит список табличных пространств в базе данных:
SELECT tablespace_name, status
FROM dba_tablespaces
ORDER BY tablespace_name;
В столбце status (статус) указано, доступно ли табличное пространство в данный момент, находится ли оно в оперативном (online) или неактивном (offline) состоянии. Обычно табличные
пространства оперативно доступны, но могут быть вручную переведены администратором в неактивное состояние, когда требуется выполнить, например, резервирование или восстановление данных. Рекомендуется создавать не больше табличных пространств,
чем необходимо для нужд организации, и определять для каждого из них как можно меньше файлов. Если требуется увеличить размер табличного пространства, лучше добавить один или два
больших файла, чем много маленьких, потому что в первом случае требуется одновременно открывать меньшее число файлов. Здесь необходимо заметить, что очень большие файлы могут в
итоге не архивироваться или операционная система не сможет различить такой файл как один. Поэтому администратор должен регулярно проверять резервные копии на возможность
использования их для восстановления БД, особенно в случае больших файлов данных. Администратор может добавлять файлы данных к табличному пространству позднее, по мере его роста; кроме того, существует возможность увеличить или уменьшить размер файла данных.
При создании БД указывается максимальное число файлов данных, с тем, чтобы в контрольном файле было зарезервировано соответствующее количество памяти. Это ограничение задается
параметром MAXDATAFILES в предложении CREATE DATABASE. Этот максимум не может превышать ни системного ограничения Oracle, ни операционной системы. Если на момент создания базы данных трудно сказать, сколько файлов будет содержать система,
следует установить большое значение, чтобы избежать ненужного ограничения. Умалчиваемое значение зависит от операционной системы. При запуске экземпляра Oracle файл параметров базы данных указывает объем памяти SGA, резервируемый для информации файлов данных, максимальное число которых определяется параметром DB_FILES. Это ограничение налагается лишь на время существования экземпляра. Параметр DB_FILES может временно уменьшить верхнюю границу, установленную в контрольном файле (используемой по умолчанию), но не может увеличить ее. Параметры DB_FILES и MAXDATAFILES не являются обязательными. Если ни один из них не используется, то по умолчанию максимальное число файлов данных зависит от операционной системы. Файлы данных могут также создаваться в процессе восстановления базы данных от сбоя носителя. Местоположение табличного пространства определяется
физическим местоположением составляющих его файлов данных. Для успешного функционирования БД и возможности быстрого восстановления от сбоя, рекомендуется полностью использовать ресурсы оборудования и технического обеспечения и не
использовать сервер в качестве рабочей станции. Например, если для БД доступны несколько дисковых устройств, может оказаться полезным разместить данные таблиц в табличном пространстве на одном диске, а данные индексов этого табличного пространства - на другом диске. В этом случае, когда пользователи опрашивают информацию таблиц, оба устройства
могут работать одновременно, извлекая как табличные, так и индексные данные в одно и то же время. Не следует хранить файлы данных на одном диске с файлами
журнала повторения базы данных. Это увеличивает потери в случае сбоя одного диска. Если файлы журнала зеркализированы, то вероятность потери журнала невелика, поэтому в таком случае можно размещать файлы данных на одних дисках с файлами
журнала. При формировании нового табличного пространства указываются умалчиваемые параметры памяти для объектов, которые будут в нем создаваться. Параметры, памяти, задаваемые явно при создании объекта, перекрывают умалчиваемые параметры памяти табличного пространства. Однако, если явно не задавать параметры памяти при создании объекта, сегмент этого объекта будет автоматически использовать умалчиваемые параметры памяти для табличного пространства. Поэтому при создании табличного пространства
рекомендуется устанавливать параметры памяти в расчете на размер типичного объекта, который будет в нем содержаться. Создавая «нетипичный» объект, для него всегда можно указать явные параметры, отличные от умалчиваемых. С другой стороны, если не специфицировать умалчиваемые параметры памяти для табличного пространства, то Oracle сам устанавливает их по умолчанию. Администратор базы данных отвечает за назначение
пользователям необходимых привилегий и квот (разрешения на использование памяти). Поэтому только тем пользователям, которые будут создавать таблицы, кластеры, снимки, индексы и т.п., необходимо давать привилегии на создание этих объектов, а также квоты в соответствующих табличных пространствах. Сегментирование табличных пространств В 8-й версии Oracle появилось новое свойство табличных пространств - сегментирование (или разбиение на разделы). Сегментирование повышает производительность и улучшает поддержку в Oracle очень больших табличных пространств, так как сегментация подразумевает под собой разбиение таблиц и индексов на меньшие, и потому легче управляемые фрагменты, которые хранятся на уровне табличного пространства. Использование сегментированных табличных пространств дает
ряд преимуществ для работы СУБД:
■ повышается производительность базы данных;
■ повышается доступность данных;
■ упрощается резервное копирование и сокращается время восстановления. Можно выполнять резервное копирование разделов в оперативном режиме по отдельности и только в случае их изменения. Если потребуется восстановление, незатронутые разделы остаются доступными и
оперативными;
■ упрощается администрирование и управление.
С появлением возможности сегментирования можно распределить нагрузку ввода/вывода по дисководам иди дисковым массивам. Оптимизатор Oracle распознает разделы и выполняет
выборку только из тех, в которых хранятся необходимые данные. Создание табличных пространств и файлов данных Процедуры создания файлов данных сходны для разных
версий Oracle и операционных систем. В большинстве случаев администратор указывает размер и полностью специфицированные имена для файлов данных, когда создается база данных, табличное пространство, или производятся изменения табличного пространства, при добавлении в него дополнительных файлов данных.
Do'stlaringiz bilan baham: |