SGA - это структура памяти на сервере, которая содержит пулы для хранения кода, SQL, классы, курсоры и т. Д. И кэши для хранения данных. Поэтому, когда клиент отправляет запрос на сервер, код и данные помещаются в SGA для обработки СУБД на сервере.
PGA является областью общей памяти для пользовательского серверного процесса и используется для временного хранения и рабочих областей. Oracle использует табличные пространства PGA и temp для работы с набором результатов, который передается обратно клиенту, а затем освобождает PGA для сеанса.
Нет никакого отношения между ними. Размер SGA определяется в зависимости от того, сколько кода и данных отправляется на сервер, а PGA является динамическим в зависимости от того, сколько процессов активно. Если есть тысячи процессов, PGA может легко удвоить SGA. SGA измерен ОЧЕНЬ тщательно, хотя; увеличение размера не обязательно делает его лучше по соображениям производительности.
Существует также UGA (глобальная область пользователя), которая является областью памяти для каждого клиентского (не серверного) процесса.