Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Пример работы Oracle

Глобальная область системы (SGA)

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

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

ГЛОБАЛЬНАЯ ОБЛАСТЬ СИСТЕМЫ (SGA) - это область памяти разделяемой между процессами. Область SGA и фоновые процессы ORACLE составляют инстанцию ORACLE. SGA распределяется при запуске инстанции и освобождается при закрытии инстанции. Для оптимальной производительности SGA должна быть максимально большой (пока позволяет реальная память), чтобы держать как можно больше данных в памяти и минимизировать дисковые операции. Информация, хранящаяся в SGA, подразделяется на несколько типов структур памяти, включая: буфера базы данных, буфера журнала повторения и разделяемый пул. Эти области имеют фиксированные размеры и создаются при запуске инстанции. Буферный кэш базы данных БУФЕРА БАЗЫ ДАННЫХ в SGA хранят наиболее недавно использовавшиеся блоки данных из базы данных; все множество буферов базы данных в инстанции составляет БУФЕРНЫЙ КЭШ БАЗЫ ДАННЫХ.

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

  1. ЭКЗЕМПЛЯР - работает на том компьютере, на котором выполняется ORACLE (часто называемом ХОСТОМ или СЕРВЕРОМ БАЗЫ ДАННЫХ, информацию о текущем состоянии сервера БД, экземпляре, можно получить по V$INSTANCE)

ЭКЗЕМПЛЯР (INSTANCE она же инстанция) СУБД Oracle √ это набор серверных процессов, объединенных единой глобальной системной областью и связанных с общим набором совместно используемых файлов данных. К примеру если на сервере работает две независимые базы данных, и каждая обладает своей глобальной системной областью и независимым набором сервисных процессов то у нас будет два экземпляра базы данных Oracle; каждому из экземпляров присваевается системный идентификатор SID (system identifier)

  1. Компьютер, используемый для приложений (ЛОКАЛЬНАЯ МАШИНА или РАБОЧАЯ СТАНЦИЯ КЛИЕНТА) выполняет приложение в рамках пользовательского процесса. Приложение-клиент пытается установить соединение с сервером, используя подходящий драйвер SQL*Net.
  2. Сервер также выполняет соответствующий драйвер SQL*Net. Сервер обнаруживает запрос на соединение от приложения и создает (выделенный) процесс сервера от имени пользовательского процесса.
  3. Пользователь выполняет предложение SQL и подтверждает свою транзакцию. Например, пользователь изменяет данные в строке таблицы.
  4. Процесс сервера принимает это предложение и проверяет разделяемый пул, чтобы отыскать в нем разделяемую область SQL, содержащую идентичное предложение SQL. Если такая разделяемая область SQL найдена, процесс сервера проверяет пользовательские привилегии доступа к запрашиваемым данным и использует существующую разделяемую область SQL для обработки предложения; если нет, то для предложения распределяется новая разделяемая область SQL, в которой осуществляется разбор и исполнение предложения.
  5. Процесс сервера извлекает все необходимые значения данных из файла данных (таблицы) или получает их из SGA.
  6. Процесс сервера модифицирует данные в SGA. Процесс DBWR записывает модифицированные данные на диск для постоянного хранения, если сочтет это необходимым. Поскольку транзакция подтверждена, процесс LGWR немедленно регистрирует транзакцию в онлайновом файле журнала повторения.
  7. Если транзакция успешна, процесс сервера посылает сообщение через сеть приложению. В противном случае передается соответствующее сообщение об ошибке.
  8. Во время всей описанной процедуры работают другие фоновые процессы, наблюдая за условиями, которые могут потребовать вмешательства. Кроме того, сервер базы данных управляет транзакциями других пользователей и предотвращает соперничество между транзакциями, запрашивающими одни и те же данные.

Эти шаги описывают лишь самый основной уровень операций, которые осуществляет ORACLE.

<== предыдущая лекция | следующая лекция ==>
Структуры памяти и процессы | Журнал Повторений
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 442; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.