Смекни!
smekni.com

Управление информацией (стр. 3 из 4)

Связи баз данных

СВЯЗЬ БАЗ ДАННЫХ - это именованный объект, который описывает "путь" от одной базы данных к другой. Связи баз данных неявно используются при обращении к ГЛОБАЛЬНОМУ ИМЕНИ ОБЪЕКТА в распределенной базе данных.

Блоки данных, экстенты и сегменты

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

Блоки данных ORACLE На самом низком уровне, данные базы данных ORACLE хранятся в БЛОКАХ ДАННЫХ. Один блок данных соответствует специфическому числу байт физического пространства на диске. Размер блока данных указывается для каждой базы данных ORACLE при ее создании. База данных использует и распределяет свободное пространство в блоках данных ORACLE.

Экстенты Следующий уровень логического пространства в базе данных называется экстентом. ЭКСТЕНТ - это специфическое число непрерывных блоков данных, полученных за одно распределение и используемых для хранения специфического типа информации.

Сегменты Уровень логического пространства в базе данных, следующий за экстентом, называется сегментом. СЕГМЕНТ - это набор экстентов, распределенных для конкретной логической структуры. Например, различные типы сегментов включают:

Сегмент данных Каждая некластеризованная таблица имеет сегмент данных. Все данные таблицы хранятся в экстентах ее сегмента данных

Каждый кластер имеет сегмент данных

Данные каждой таблицы кластера хранятся в сегменте данных этого кластера.

Сегмент индекса Каждый индекс имеет сегмент индекса, в котором хранятся все данные индекса.

Сегмент отката Администратор создает в базе данных один или несколько сегментов отката для временного хранения информации "отмены"

· Эта информация служит:

· для генерации согласованных по чтениюобразов информации базы данных

· для восстановления базы данных

· для отката неподтвержденныхтранзакций пользователей.

Временный сегмент Временные сегменты создаются ORACLE, когда предложению SQL требуется временная рабочая область для своего выполнения. После выполнения предложения экстенты временного сегмента возвращаются системе.

ORACLE распределяет память для всех типов сегментов экстентами

Когда существующие экстенты сегмента заполняются, ORACLE распределяет очередной экстент для данного сегмента по мере необходимости. Ввиду того, что память выделяется при необходимости, экстенты данного сегмента могут не быть непрерывными на диске.

Физические структуры

Последующие секции объясняют физические структуры базы данных ORACLE, включая файлы данных, файлы журнала повторения работы и управляющие файлы.

Файлы данных

Каждая база данных ORACLE имеет один или более физических ФАЙЛОВ ДАННЫХ. Эти файлы содержат все данные базы данных. Данные логических структур базы данных, таких как таблицы и индексы, физически хранятся в файлах данных, распределенных для базы данных.

Файлы данных имеют следующие характеристики:

· Файл данных может быть ассоциирован лишь с одной базойданных.

· Однажды созданный файл данных не может изменить свойразмер.

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

Использование файлов данных

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

Модифицированные или новые данные необязательно записываются в файл данных немедленно. Чтобы уменьшить объем дисковых операций и увеличить производительность, данные накапливаются в памяти, и записываются в соответствующие файлы данных одномоментно, как определяется фоновым процессом ORACLE, называемым DBWR.

Файлы журнала повторения

Каждая база данных ORACLE имеет набор из двух или более ФАЙЛОВ ЖУРНАЛА ПОВТОРЕНИЯ РАБОТЫ. Комплект файлов журнала повторения работы для одной базы данных совместно называется ЖУРНАЛОМ ПОВТОРЕНИЯ (redo log). Основная функция журнала повторения - регистрация всех изменений, осуществляемых в данных. Все изменения, выполняемые в базе данных, записываются в журнал повторения. Если в результате сбоя модифицированные данные не удастся постоянно записать в файлы данных, эти изменения можно получить из журнала повторения, так что работа никогда не теряется.

Файлы журнала повторения критичны в вопросе защиты базы данных от сбоев. Чтобы защититься от таких сбоев, которые затрагивают сам журнал повторения, ORACLE допускает ЗЕРКАЛЬНЫЙ ЖУРНАЛ ПОВТОРЕНИЯ, так что две или более копий журнала повторения можно поддерживать одновременно на разных дисках.

Использование файлов журнала повторения

Информация в файле журнала повторения используется только для восстановления базы данных после сбоя системы или носителя, в результате которого данные базы данных не могут быть записаны в файлы данных.

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

Процесс применения журнала повторения в процессе операции восстановления базы данных называется ПРОКРУТКОЙ ВПЕРЕД.

Управляющие файлы

Каждая база данных ORACLE имеет УПРАВЛЯЮЩИЙ ФАЙЛ, в котором записывается физическая структура базы данных. В частности, этот файл содержит следующую информацию:

· имя базы данных

· имена и местоположения файлов данных и файлов журналаповторения этой базы данных

· отметку времени создания базы данных

Как и для журнала повторения, ORACLE позволяет поддерживать зеркальные управляющие файлы с целью защиты управляющей информации.

Использование управляющих файлов

При каждом запуске инстанции базы данных ORACLE ее управляющий файл используется для того, чтобы идентифицировать базу данных и файлы журнала повторения, которые должны быть открыты для продолжения работы базы данных. Когда физический состав базы данных изменяется (например, создается новый файл данных или файл журнала), ORACLE автоматически модифицирует управляющий файл, чтобы отразить это изменение.

Управляющий файл базы данных используется также в тех случаях, когда требуется восстановление базы данных.

Словарь данных

Каждая база данных ORACLE имеет СЛОВАРЬ ДАННЫХ. Он представляет собой набор таблиц и обзоров, используемых как ТОЛЬКО ЧИТАЕМОЕ представление базы данных. Например, в словаре данных хранится информация о логической и физической структуре базы данных

Помимо этой важной информации, словарь данных хранит также следующую информацию:

· о действительных пользователях базы данных ORACLE

· об ограничениях целостности, определенных для таблицбазы данных

· о том, сколько пространства распределено для каждогообъекта схемы, и сколько из него используется

Словарь данных создается при создании самой базы данных. Чтобы точно отражать состояние базы данных в любой момент, словарь данных автоматически обновляется ORACLE в ответ на специальные действия (такие как изменение структуры базы данных). Словарь данных критичен для работоспособности базы данных, ибо на нем основывается регистрация, верификация и управление текущей работой. Например, во время операций с базой данных ORACLE обращается к словарю данных для проверки того, что объекты схем существуют и что пользователи имеют к ним соответствующие права доступа.

Системная архитектура ORACLE

В этом разделе обсуждаются структуры памяти и процессов, которые используются ORACLE для управления базой данных. Среди прочего, архитектурные особенности, описываемые здесь, помогут вам понять, как ORACLE поддерживает многопользовательский доступ к базе данных, и как обеспечивается высокая производительность, требующаяся в многопользовательских, многозадачных системах баз данных.

Структуры памяти и процессы

Механизмы ORACLE работают через использование структур памяти и процессов. Все структуры памяти располагаются в основной памяти (иногда называемой виртуальной памятью или памятью произвольного доступа) компьютеров, составляющих систему базы данных

ПРОЦЕССЫ - это задания или задачи, работающие в памяти этих компьютеров.

Структуры памяти ----------------

ORACLE создает и использует свои структуры памяти для выполнения некоторых задач. Например, память используется для размещения исполняемого программного кода и данных, разделяемых между пользователями. С ORACLE ассоциируются несколько базовых структур памяти: глобальная область системы (которая включает буфера базы данных и журнала повторения, а также разделяемый пул) и глобальные области программ. Следующие секции подробно объясняют каждую из этих видов областей.

Глобальная область системы (SGA) ГЛОБАЛЬНАЯ ОБЛАСТЬ СИСТЕМЫ (SGA) - это область разделяемой памяти, распределяемая ORACLE, которая содержит данные и управляющую информацию для одной инстанции ORACLE. Область SGA и фоновые процессы ORACLE составляют инстанцию ORACLE.

SGA распределяется при запуске инстанции и освобождается при закрытии инстанции. Каждая запускающаяся инстанция имеет свою собственную область SGA.

Данные в SGA разделяются (т.е. совместно используются) всеми пользователями, присоединенными к базе данных. Для оптимальной производительности SGA должна быть максимально большой (пока позволяет реальная память), чтобы держать как можно больше данных в памяти и минимизировать дисковые операции. Информация, хранящаяся в SGA, подразделяется на несколько типов структур памяти, включая буфера базы данных, буфера журнала повторения и разделяемый пул. Эти области имеют фиксированные размеры и создаются при запуске инстанции.