Обзор и архитектура СУБД — Итоги
Single-Instance архитектура
Oracle server это экземпляр БД подключенный к БД
Экземпляр БД – это область разделяемой памяти и набор процессов
БД – это набор файлов на диске
Пользовательская сессия – это пользотельский процесс соединённый с серверным процессом
Структуры памяти экземпляра БД
Разделяемая (общая) память называется system global area (SGA)
Неразделяемая (частная) память сессий – это program global area (PGA)
SGA состоит из подсруктур, часть из которых обязательные (кэш буфера БД (database
buffer cache), буфер логов, разделяемая область (shared pool)) и которые необязательные (large pool, Java pool, Streams pool)
Структуры SGA могут динамический изменять размера и управляться автоматически, за исключением буфера логов.
Процессы экземпляра БД
Серверный процесс (для сессии) запускается когда пользователь подключается
Фоновые процессы запускаются когда стартует экземпляр БД и существуют до его остановки
Серверные процесс ы читают информацию из БД; фоновые процессы записывают изменения в БД
Некоторые фоновые процессы писутствуют во всех серверах БД (SMOM, PMON, DBWn, LGWR, CKPT и MMON); остальные будут или не будут запущены в зависимости от найстроек сервера
Структуры хранения БД
Существуют три необходимых типа файлов в БД: controlfile, online redo log файлы и файлы данных
Controlfile хранит ограничители целостности и указатели для работы со всей БД
Online redo log файлы содержат последние вектора изменений (change vectors)
Сами данные хранятся в файлах данных
Дополнительные файлы как файл параметров запуска (parameter file pfile and spfile), файлы паролей, архивные логи (archive redo logs) и log and trace файлы.
Логические структуры (segment-ы) асбтрагированы от физической информации на диске (файлов данных) с помощью понятия табличное пространство (tablespace)
Табличное пространство может включать в стебя много файлов данных
Сегменты (таблицы, индексы и т.д.) состоят из списка extent-ов, каждый из которых есть не что иное, как набор блоков Oracle, которые в свою очередь состоят из одного или более блоков операционной системы.
Сегменты могут храняться в нескольких различных файлах данных