Каждая работающая база данных Oracle связана с экземпляром Oracle, который включает в себя системную глобальную область (System Global Area, SGA), а так же фоновые процессы.
SGA – это область разделяемой памяти, в которой содержатся данные и управляющая информация экземпляра. В SGA входит:
1) Кэш буферов БД, содержащий выбираемые из БД блоки данных;
2) журнальный буфер, который кэширует используемую при восстановлении информацию до момента записи в журнальный файл;
3) разделяемый пул, предназначенный для кэширования различных структур, которые могут совместно использоваться пользователями;
4) большой пул (необязательная область);
5) Java-пул для расположения Java-кода сеансов и данных внутри виртуальной Java-машины;
6) пул потоков.
Важнейшие фоновые процессы:
1) Системный монитор (System monitor, SMON), выполняет восстановление после отказа экземпляра при последующем старте;
2) Монитор процессов (Process monitor, PMON), выполняет очистку после аварийного завершения пользовательского процесса;
3) Процесс записи в БД (Database writer, DBWn), пишет модифицированные блоки из кэша буферов БД в файлы на диске;
4) Процесс контрольной точки (Checkpoint, CKPT), изменяет все файлы данных и управляющий файлы, внося в них информацию о самой последней контрольной точке;
5) Процесс записи в журнал (Log writer, LGWR), пишет журнальные записи на диск;
6) Архиватор (Archiver, ARCn), копирует файлы оперативного журнала в архив после заполнения оперативных журнальных файлов или после выполнения переключения журнала.
БД разделена на логические компоненты хранения, называемые табличными пространствами. В них объединяются связанные между собой логические структуры. Например, в табличном пространстве могут быть сгруппированы все объекты приложения для упрощения административных операций. Можно создать табличное пространство для данных приложения и дополнительное табличное пространство для индексов приложения. Для каждого табличного пространства явно создается один или несколько файлов данных. Каждая БД содержит два обязательных табличных пространства SYSTEM и SYSAUX, создаваемые во время создания БД.
Такие объекта БД, как таблицы и индексы, хранятся в табличных пространствах в виде сегментов. Каждый сегмент состоит из одного или нескольких экстентов. Дополнительное выделение экстентов производится динамически, когда заполнены все экстенты сегмента, поэтому на диске экстенты одного и того же сегмента могут быть смежными и несмежными. Экстент состоит из смежных блоков данных, поэтому каждый экстент может находиться только в одном файле данных. Блоки данных - это наименьшая единица ввода/вывода в базе данных. Для каждого табличного пространства при его создании задается размер блока.