Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы_ЧАСТЬ III (Восстановлен).docx
Скачиваний:
12
Добавлен:
01.04.2025
Размер:
1 Мб
Скачать
☆
  1. Программная архитектура субд. Объекты бд Oracle. Sga, pga. Основные фоновые процессы Oracle.

Объект БД - это нечто с чем взаимодействуют пользователи БД.

  • Таблицы

  • Представления (результаты запросов)

  • Последовательности

  • Определение пользовательских типов

  • Индексы

  • Ограничения

  • Синонимы

  • Табличные пространства

  • Секции

  • Кластеры

  • Триггеры

  • Пакеты

  • Процедуры

  • Функции

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

Информация в SGA состоит из следующих компонентов (каждый из которых создается в памяти при запуске экземпляра):

  • кэш буферов БД - здесь хранятся последние открытые блоки данных. Эти блоки могут содержать данные, которые изменились, но еще не были записаны на диск (грязные блоки); данные, которые не изменялись либо были записаны на диск после изменения (чистые блоки). Наиболее активно используемые блоки постоянно остаются в памяти (тем самым, снижая дисковый ввод/вывод и увеличивая производительность системы).

  • буфер журнала изменений - хранит данные об изменениях БД. Буфер журнала изменений записывается в файл журнала изменений настолько. Журнал изменений используется для восстановления экземпляра СУБД Oracle в случае сбоя системы.

  • разделяемый пул - Это область SGA, в которой хранятся такие структуры разделяемой памяти, как разделяемые SQL-области в библиотечном кэше и внутренняя информация словаря данных. Разделяемый пул состоит из библиотечного кэша и кэша словаря данных (храниться информация о логической и физической структуре БД).

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

  • пространство стека - это память, хранящая переменные сеансов, массивы сеансов и т.д.

  • информация сеанса - если Oracle работает не в мультинитевом режиме, то информация сеанса хранится в PGA. В противном случае, информация сеанса хранится в SGA.

  • приватная SQL-область - это часть PGA, где хранятся связанные переменные и буферы реального времени.

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

  • Пользовательские - это пользовательские соединения с БД; процесс управляет вводом и выводом и взаимодействует с серверными процессами oracle через программный интерфейс.

  • Процессы oracle выполняют функции для пользовательских процессов

    • Серверные процессы (теневые) выполняют функции для активных процессов.

    • Фоновые используются для выполнения функций СУРБД в целом.

Семь основных фоновых процессов:

  1. DBWR (database writer) - ответственен за запись грязных блоков из блоковых буферов на диск.

  2. LGWR (log writer) - записывает данные из журнального буфера в журнал транзакций (изменений).

  3. CKPT (check point) - дает сигнал процессами DBWR о необходимости выполнения контрольной точки и обновлении всех файлов данных и управляющих файлов. Контрольная точка - это событие, когда все измененные буферы БД записываются на диск.

  4. PMON (process monitor) - используется для поддержания остальных процессов и перезапуска преждевременно погибших. Он очищает неиспользуемые области буфера и освобождает те ресурсы, которые могут быть еще заняты.

  5. SMON (system monitor) - это процесс, который выполняет проверку экземпляра при его запуске. Сюда включают очистку временных сегментов и восстановление незаконченных транзакций. Дефрагментирует БД.

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

  7. ARCH (archiver) - копирует файлы транзакций при их заполнении в архивные файлы.