Архитектура Oracle

Оценить
(2 голоса)
Доминирующее положение СУБД Oracle на рынке Unix объясняется огромной пользовательской базой на системах Sun. В этой главе мы проанализируем архитектуру Oracle, уделяя особое внимание модели процессов, управлению памятью и хранению данных. Также будут рассмотрены вопросы, касающиеся параллельной обработки. Модель процессов Oracle организуется на основе экземпляра, состоящего из памяти совместного использования и группы процессов системы БД. Экземпляром может быть открыта только одна база данных, хотя вначале экземпляр может быть запущен вообще без какой-либо смонтированной или открытой базы данных. Технология RAC (Real Application Clasters - кластеров реального приложения, известная ранее как Oracle Parallel Server, или OPS) разрешает нескольким экземплярам открывать одну и…
Оценить
(1 голос)
Эффективная выгрузка грязных блоков необходима для повышения производительности, поскольку она гарантирует доступность чистых блоков для новых транзакций. Если чистых блоков недостаточно, транзакции будут заблокированы до тех пор, пока DBWR не выполнит достаточной очистки. Как и в Огасlе8, редакторы БД используют запись DBW/г, отражая тем самым поддержку множества редакторов. В средах с интенсивным обновлением при наличии больших буферных кэшей множество DBWR позволяет Oracle поддерживать требования по очистке буферов. •             LGWR. Процесс Log Writer (редактора журнала) записывает элементы отката операций из буфера журнала отката в SGA в журналы отката на диске. Этот процесс также важен для производительности, поскольку фиксации транзакций не будут…
Оценить
(1 голос)
В дополнение к системным процессам Oracle каждое пользовательское подключение обладает специальным теневым процессом, или серверным процессом, который подсоединяется к SGA и считывает из БД файлы по команде пользовательского приложения. Каждый теневой процесс также обладает своей собственной областью памяти, называемой PGA (program global area - программной глобальной областью). На рисунке 9.1 показана 2п-архитектура одиночного сервера; клиентские приложения также могут выполняться в отдельных клиентских системах. Процессы приложений подсоединяются к теневым процессам, которые, в свою очередь, подключаются к SGA. Если процессы приложений, выполняемые на дистанционной клиентской системе, подсоединяются к Oracle, то запрос соединения обрабатывается процессом listener (слушатель). Listener запускает теневой процесс со стороны…
Оценить
(1 голос)
Oracle применяет выделенную область памяти, совместно используемую системными и теневыми процессами, и кроме этого персональные области памяти, используемые индивидуальными теневыми процессами. Область памяти совместного использования базы данных играет ключевую роль в функционировании экземпляра Oracle. Она предусматривает область хранения, которая совместно используется такими объектами, как блоки базы данных и оптимизированные операторы SQL, и может быть кэширована для использования другими процессами. Она также облегчает связь между системными процессами Oracle (например, информация о совместном блокировании). Oracle относится к этой области памяти совместного использования как к SGA (system global area - системной глобальной области). SGA состоит из следующих основных компонентов: •             Буферный кэш блоков…
Оценить
(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…
«ПерваяПредыдущая12СледующаяПоследняя»
Навигация