In Windows, i the ORACLE.exe process (which you can see in the Processes tab of the Task Mgr) the Total SGA + PGA??
I have a 12c Enterprise DB. The Oracle.exe (Oracle RDBMS Kernal Executable) is taking 1.1 GB. It showthe memory (Private working set) in the column.
I do this: I disable automatica memory mgt. (AMM) By doing this:
Instead of AMM, now we give fixed sizes to the SGA and PGA.
1ST DISABLE AMM.
SQL> SHOW PARAMETER memory_target
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
memory_target big integer 1600M
SQL> ALTER SYSTEM SET memory_target=0 SCOPE=SPFILE;
System altered.
SQL> show parameter memory_target
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
memory_target big integer 1600M
SQL> PROMPT "Now give our fixed low values for PGA + SGA"
"Now give our fixed low values for PGA + SGA"
SQL> ALTER SYSTEM SET pga_aggregate_target=350m SCOPE=SPFILE;
System altered.
SQL> ALTER SYSTEM SET sga_target=350m SCOPE=SPFILE;
System altered.
SQL>
Now, restart the service, Windows service isrestarting…………….
DB is started now.
Now the Oracle.exe process is only taking 500MB.
Does this mean that the Oracle.exe is the actual SGA + PGA?
ALSO, why is it not 700mb, since we set both PGA + SGA TO fixed values? Is It because PGA memory is allocated only when sessions connect and exeute SQL?
What is the actual SGA + PGA SIZES?
SQL> SELECT 'total_PGA_MB = ' ||
ROUND(SUM(value)/(1024*1024))
2 FROM v$sesstat NATURAL JOIN v$statname
3 WHERE LOWER(name) = 'session pga memory'
4 UNION
5 SELECT 'SGA_Size_MB = ' ||
ROUND(SUM(bytes)/(1024*1024))
6 FROM v$sgastat;
'TOTAL_PGA_MB='||ROUND(SUM(VALUE)/(1024*1024))
-------------------------------------------------------
SGA_Size_MB = 350
total_PGA_MB = 53
Oracle.exe process memory size is 507MB.
WHAT IS THE connection between Oracle.exe and SGA + PGA????