Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы бд.doc
Скачиваний:
27
Добавлен:
04.11.2018
Размер:
1.37 Mб
Скачать
  1. Экземпляр Oracle. Sga, pga

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

Разделяемая память используется для кэширования данных, хранения индексов и программного кода.

Буфер - некоторый объём оперативной памяти.

Кэш – область памяти для быстрого доступа к данным.

Разделяемая память делится на несколько структур. Основные:

  1. Системная глобальная область. System Global Area, SGA

  2. Программная глобальная область. PGA

Системная глобальная область – та область выделяемой памяти, которая используется для хранения данных и управляющей информации одного конкретного экземпляра Oracle. SGA размещается в памяти при запуске экземпляра Oracle и освобождает память при останове. Каждый запущенный экземпляр Oracle имеет свою собственную SGA.

Кэш-буфер данных хранит последние открытые блоки данных двух видов: чистые и грязные. Грязные – те, которые изменились, но ещё не записаны на диск. Чистые – не изменённые или записанные на диск после изменений.

Буфер журнала транзакций хранит данные об изменениях БД. Это циклический буфер. Как только н заполнен и поступает новая информация, то происходит перезапись файла журнала транзакций.

Разделяемый пул – библиотечный кэш и кэш словаря данных.

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

Если несколько приложений отправляют одинаковые SQL-выражения, то разбирается это выражение только однажды, а последующие запросы используют данные кэша.

Кэш словаря данных содержит набор таблиц и представлений, используемых в качестве ссылок к БД Oracle. Здесь хранится информация о логической и физической структуре БД. Информация: пользовательская (привилегии), ограничения целостности для таблиц БД, данные о структуре объектов, данные об объёме памяти, определённом и используемом объектами схемы БД.

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

Программная глобальная область – область памяти, в которой хранятся данные и управляющая информация о серверных процессах Oracle.

  1. Процессы. 7 основных фоновых процессов Oracle

Процесс (нить, демон) – механизм выполнения программного кода. Несколько процессов могут работать одновременно.

Оракал работает с двумя видами процессов: пользовательские процессы и процессы Оракал.

Пользовательские (клиентские процессы) – пользовательские соединения с СУБД. Управляют вводом и взаимодействуют с серверными процессами Оракал через программный интерфейс. Процессы Оракал выполняют функции для пользовательских процессов.

Процессы Оракал (теневые или фоновые) выполняют внутренние задачи и всё такое.

DBWR (Database Writer) – записывает грязные блоки из блоковых буферов БД на диск.

LGWR (Log Writer) – записывает данные из журнального буфера в журнал изменений.

CRPT (ChecK PoinT) - даёт сигнал процессам DBWR о необходимости выполнения контрольной точки и обновления всех файлов данных и управляющих файлов.

Контрольная точка – событие, когда все изменённые буферы БД записываются на диск.

PMON (Process MONitor) – используется для поддержания остальных процессов и перезапуска преждевременно погибших.

SMON (System MONitor) – выполняет восстановление экземпляра при его запуске. Это включает очистку временных сегментов и восстановление незаконченных транзакций.

RECO (RECOvery) – очищает незаконченные транзакции в распределённой БД. Выполняет фиксацию или откат спорных транзакций.

ARCH (ARCHiver) – копирует файлы журнала изменений при их заполнении в архив.

Транзакция – логически завершённый фрагмент последовательности действий (одна или более SQL команд, завершённых фиксацией или откатом). Производительность часто оценивается в транзакциях в единицу времени.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]