from:DBA手记

select subpool, name, sum(bytes), round(sum(bytes) / 1048576, 2) mb

from (select 'shared pool(' ||


decode(to_char(ksmdsidx), '0', '0-unused', ksmdsidx) || '):' subpool,


ksmssnam name,


ksmsslen bytes


from x$ksmss


where ksmsslen > 0


and lower(ksmssnam) like lower('%free memory%'))


group by subpool, name


order by subpool asc, sum(bytes) desc


;