-- ############################################################################################# -- -- %Purpose: Monitor Private SQL Areas and PL/SQL space in the UGA and SGA -- -- PL/SQL allocates most memory from the UGA which is -- located in the SGA when shared servers are used -- -- UGA = User Global Area -- SGA = System Global Area -- -- Use: Needs Oracle DBA Access -- -- ############################################################################################# -- set feed off; set pagesize 10000; set wrap off; set linesize 200; set heading on; set tab on; set scan on; set verify off; set termout on; column NA head 'STATISTIC' format a29 column NR_SESS head '#USERS' format 9999 column C1 head 'SUM|[kbyte]' format 999990.90 column C2 head 'AVG|[kbyte]' format 999990.90 column C3 head 'MIN|[kbyte]' format 999990.90 column C4 head 'MAX|[kbyte]' format 999990.90 ttitle left 'Monitor Private SQL Areas and PL/SQL space' skip 2 spool monitor_private_SQL_areas.log select rpad (B.NAME, 29, '.') as NA, COUNT(*) as NR_SESS, SUM(A.VALUE)/1024.0 as C1, AVG(A.VALUE)/1024.0 as C2, MIN(A.VALUE)/1024.0 as C3, MAX(A.VALUE)/1024.0 as C4 from V$SESSTAT A, V$STATNAME B where A.STATISTIC# = B.STATISTIC# and (B.NAME like '%pga%' or B.NAME like '%uga%' or B.NAME like '%stored%') group by B.NAME /