Архитектура баз данных
Оценить
(1 голос)
•             Пул совместного использования (разделяемый пул). Этот пул по расходованию памяти SGA занимает второе место после буферного кэша. Он содержит библиотечный кэш, или область совместного использования SQL, в которой находятся текст операторов SQL и синтаксически проанализированные операторы SQL, кэш-словарь и информация о сеансах, когда Shared Server является активным. Библиотечный кэш содержит также хранимую процедуру и код триггера. Размер пула совместного использования управляется параметром shared_pool_size (единицами которого являются байты) в файле init.ora. •             Кэш-словарь. В этом кэше хранится информация словаря, охватывающая все объекты в БД, включая пользователей, таблицы, индексы и объекты хранения наподобие табличных областей и сегментов. Информация, доступная в любой…
Оценить
(1 голос)
Базы данных Oracle для приложений OLTP и DSS реализованы как единое хранилище данных; Oracle не использует архитектуру, не предусматривающую совместное использование. Файлы табличной области хранят блоки базы данных (собственно данные, индекс, сегменты отката, место временного хранения), а журнальная информация содержится в файлах журналов отката. Информация о статусе файлов базы данных содержится в управляющих файлах. В этом разделе анализируются все эти типы файлов. Табличные области Данные содержатся в tablespaces (табличных областях, или табличных пространствах), которые охватывают один или более файлов данных. Файлы данных табличных областей могут относиться либо к файлам файловой системы, либо к низкоуровневым устройствам (то есть, необработанным разделам диска…
Оценить
(1 голос)
Модификации БД данных регистрируются в файлах журналов отката. Журнальные записи в файлах журналов отката включают записи изменений строк, внесенные теневыми процессами пользователей (показывающими строку до и после изменения), записи commit (завершения транзакций) и записи контрольных точек. Записи контрольной точки указывают на время, когда система выполняла синхронизацию буферного кэша с файлами табличной области, записывая на диск любые модифицированные блоки буферного кэша. Информация, хранящаяся в файлах журналов отката, защищает целостность данных. Если происходит сбой БД или системы, то журнальные записи возобновляются с места выполнения последней контрольной точки, что гарантирует актуальное обновление страниц данных. Если происходит фатальный сбой на диске, то могут быть…
Оценить
(1 голос)
Создаются при создании БД. Они содержат информацию о каждом файле БД и файле журнала отката, включая временные отметки и идентификатор базы данных. Без управляющих файлов БД не может быть успешно открыта. Oracle поддерживает и рекомендует использовать несколько управляющих файлов; их размещение указано в файле init.ora. Поскольку управляющие файлы являются критичными, то разумно будет сохранять их зеркальные копии на случай фатального сбоя носителя. Хранение логических данных Данные табличных областей Oracle сохраняются в сегментах, а внутри сегментов -в экстентах. Экстенты организуются блоками, которые формируют основную единицу доступа к SGA и из нее, а также к дискам.
Оценить
(1 голос)
Oracle использует 4 типа сегментов: сегменты данных, индексные сегменты, временные сегменты и сегменты отката. Табличная область может содержать один или более сегментов одного типа, и каждый сегмент полностью содержится в одной табличной области. После удаления сегмента внутри табличной области становится доступным свободное пространство, что приводит к возможной фрагментации данных внутри табличной области. Data segments - сегменты данных хранят таблицы и табличные данные. Особым видом сегмента данных являются кластеры, содержащиеся внутри которых строки расположены в отсортированном по столбцу порядке, предназначенном быть кластерным ключем. Для определения физического местонахождения строки в хэш-кластерах используется хэш-ключ. Кластеры более всего подходят для статических таблиц; если вы…
Оценить
(1 голос)
Данные внутри сегмента хранятся в виде extents - экстентов. Экстент представляет собой логическую единицу области хранения БД, состоящую из некоторого количества непрерывных блоков данных (блоки описываются в следующем разделе). Сегмент состоит из одного или более экстентов. Если свободное пространство сегмента исчерпано, то Oracle размещает новый экстент для сегмента. Размеры экстента по умолчанию могут быть определены для каждой БД; эти величины будут использоваться для объектов БД (таблиц, индексов или кластеров), если только вы не замените их, установив новые значения для каждого объекта. В качестве значений по умолчанию для табличной области может быть установлено три параметра хранения. Для каждого объекта параметр initial…
Оценить
(0 голоса)
Внутри экстентов данные сохраняются в blocks - блоках; размеры экстентов всегда округляются до целого количества блоков. Размер блока, или размер страницы БД, является минимальной единицей доступа к БД. Так для блока размером 2048 байт всякая операция чтения и записи будет пересылать 2 Кбайт, исключая особые случаи, подобные мультиблочному упреждающему чтению, когда одновременно считывается несколько блоков. Блоки могут иметь размер 2, 4, 8 или 16 Кбайт. Блоки не всегда полностью заполняются данными. Для каждой таблицы вы можете определить с помощью параметра pctf гее, какое количество свободного пространства следует зарезервировать внутри каждого блока. При выполнении обновления свободная область предоставляет возможность увеличить размер…
Оценить
(0 голоса)
Начиная с Огас1е8, для таблиц поддерживается горизонтальное разделение данных на разделы. Горизонтальное разделение означает, что таблицы могут быть расщеплены на несколько табличных областей, а строки размещаются в одной из табличных областей в соответствии со значением одного или нескольких столбцов. И хотя можно непосредственно обращаться и выполнять, независимо администрирование каждого раздела, Oracle позволяет трактовать таблицу прозрачным образом в виде единого объекта. При выполнении запроса оптимизатор СУБД Oracle либо автоматически ссылается ко всей таблице, либо игнорирует разделы, не содержащие данных, относящихся к запросу. При горизонтальном разделении Oracle использует partitions - разделы, основанные на диапазонах данных (разделение, или разбивка, по диапазонам). В качестве…
Оценить
(0 голоса)
Табличная область SYSTEM сохраняет таблицы словаря внутренних данных Oracle, которые содержат информацию о файлах данных, табличных областях, таблицах, индексах, кластерах, сегментах отката, представлениях, синонимах, пользователях, разрешениях (предоставлениях), хранимых процедурах, триггерах и других подобных данных. Как минимум, БД обладает табличной областью SYSTEM, хотя обычно создаются другие табличные пространства, а пользовательские данные хранятся вне табличной области SYSTEM. Пользовательские таблицы должны быть явным образом размещены в других табличных областях, иначе по умолчанию они разместятся в табличной области SYSTEM. Временные табличные области и сегменты отката, уже рассмотренные в этой главе, являются другими объектами, скорее непосредственно относящимися к системе, чем к действиям пользователей. Параллельная обработка…
Оценить
(0 голоса)
До появления PQO все работа выполнялась на стороне процесса приложения его теневым процессом. Главное заключался в том, что в выполнении запроса участие принимал только один ЦП, что приводило к очень продолжительным временам выполнения тех запросов, которые получали большие наборы данных. Характерной особенностью PQO является то, что при выполнении одного запроса удается подключить несколько процессоров, что также повышает степень параллелизма операций ввода/вывода при обработке. PQO организовывает такой параллелизм путем делегирования задачи чтения данных множеству query slaves - подчиненных запросов. Несмотря на то, что наше обсуждение не фокусируется на RAC (Real Application Clusters - кластерах реального приложения), известными ранее как Oracle Parallel…