PGA: it fully serves server process. It is allocated when server process is created and released when server process is terminated. it is not shared and only serves this server process independently. (Private memory space of server process)
Purpose:
1. stores the private data and control files required for server process SQL Execution
2. Session space, storing session and other related information
3. SQL Workspace: sorting operations (orader by/group by/distinct/Union), multi-Table hash connections, bitmap connections, and creation of Bitmap
PGA Automatic Memory Management
The SQL workspace can be automatically and globally managed. DBA only needs to set the pga_aggregate_target parameter to specify the total size of the PGA memory of an instance.
After this parameter is set, Oracle regards it as a total global limit value and tries to make the total PGA memory of all Oracle service processes not exceed this value (as far as possible)
Memory size, assuming the total memory size is 4 GB, then we usually allocate it to Oracle 80%. Then,
OLTP system: (Oracle 80% = 3.2g) * 0.2 = 640 m for PGA, and 80% for SGA
Data Warehouse DSS: (Oracle 80% = 3.2g) * 0.5 = 1.6g to PGA, and the remaining 50% to SGA
After 11 GB, it will be simpler. You only need to set memory_target = PGA + SGA, and the rest will be skipped.
Special tutorial PGA