rem ************************************************************* rem * Author : Les Corbett/Keef Healey rem * Desc : Calculates the size of SGA needed according to number of rem * : users. rem ************************************************************* accept username prompt 'User to use?? ' accept numusers prompt '# of users ?? ' set term on set verify off set heading off col a new_value snum select sid a from v$session s, v$process p where p.addr = s.paddr and s.username = upper('&username'); col b new_value pumem select value b from v$sesstat where statistic# = 16 and sid = &snum; col c new_value spl select sum(sharable_mem) c from v$sqlarea; col d new_value size1 col e new_value size2 select (&pumem*&numusers+&spl) d, (&pumem*&numusers+&spl)+3/10*(&pumem*&numusers+&spl) e from dual; col pmem form 999,999,990 col nu like pmem col sss like pmem col tmu like pmem col s1 like pmem col s2 like pmem set term on prompt prompt prompt prompt ==================================================== select 'Per User Memory Requirement: ', &pumem pmem from dual; select 'Number of Users : ', &numusers nu from dual; prompt ==================================================== select 'Total Memory for Users : ', &numusers*&pumem tmu from dual; select 'Size of stuff in Shared SQL: ', &spl sss from dual; prompt ==================================================== select 'Base Shared Pool Size : ', &size1 s1 from dual; select 'Pool Size with 30% Free : ', &size2 s2 from dual; prompt ==================================================== set heading on