- Este tópico contém 5 respostas, 4 vozes e foi atualizado pela última vez 15 anos, 6 meses atrás por
vieri.
-
AutorPosts
-
31 de agosto de 2010 às 4:19 pm #95795
mpungan
ParticipanteE dai pessoal, tudo certo, é o seguinte preciso saber como se calcula a memória que cada processo que o usuário consome no servidor de Banco de Dados. Com isso tenho como avaliar/prever o comportamento do servidor antes de novas aplicações (conexões) entrarem em produção e dar um parecer se o servidor suportará a demanda.
Se alguém tiver alguma dica para enviar desde já agradeço.Att.
MPUNGAN
31 de agosto de 2010 às 8:05 pm #95810jspaulonci
ParticipanteTente isso, some as duas últimas colunas, lembrando que essa query não está customizada para RAC
SELECT e.SID, e.username, e.status, a.UGA_MEMORY, b.PGA_MEMORY
FROM (select y.SID,
TO_CHAR(ROUND(y.value / 1024/1024), 99999999) UGA_MEMORY
from v$sesstat y, v$statname z
where y.STATISTIC# = z.STATISTIC#
and NAME = ‘session uga memory’) a,
(select y.SID,
TO_CHAR(ROUND(y.value / 1024/1024), 99999999) PGA_MEMORY
from v$sesstat y, v$statname z
where y.STATISTIC# = z.STATISTIC#
and NAME = ‘session pga memory’) b,
v$session e
WHERE e.sid = a.sid
AND e.sid = b.sid
ORDER BY e.status, a.UGA_MEMORY desc1 de setembro de 2010 às 12:54 am #95814mpungan
ParticipanteEsses valores que vc colocou gera um resultado em megabytes? Gostaria de confirmar essa informação. Obrigado pela dica.
1 de setembro de 2010 às 2:33 pm #95817jspaulonci
ParticipanteSim é mb
1 de setembro de 2010 às 3:04 pm #95820CleitonHanzen
ParticipanteOpá…
Não se esqueça de verificar os Hits de memória do banco também, não adianta o “servidor” suportar novas conexões, se a SGA não suportará mais conexões. Se os Hits estiverem tranquilos, adicione as conexões “em lotes” (ex: de 20 em 20, de 30 em 30, etc…) e acompanhe o comportamento do banco através dos relatórios do AWR…. 😉
1 de setembro de 2010 às 7:48 pm #95830vieri
Participante==========================
PGA – PROGRAM GLOBAL AREA
SET LINESIZE 145
SET PAGESIZE 9999COLUMN sid FORMAT 999 HEADING ‘SID’
COLUMN oracle_username FORMAT a12 HEADING ‘Oracle User’ JUSTIFY right
COLUMN os_username FORMAT a9 HEADING ‘O/S User’ JUSTIFY right
COLUMN session_program FORMAT a18 HEADING ‘Session Program’ TRUNC
COLUMN session_machine FORMAT a8 HEADING ‘Machine’ JUSTIFY right TRUNC
COLUMN session_pga_memory FORMAT 9,999,999,999 HEADING ‘PGA Memory’
COLUMN session_pga_memory_max FORMAT 9,999,999,999 HEADING ‘PGA Memory Max’
COLUMN session_uga_memory FORMAT 9,999,999,999 HEADING ‘UGA Memory’
COLUMN session_uga_memory_max FORMAT 9,999,999,999 HEADING ‘UGA Memory MAX’SELECT s.SID SID, LPAD (s.username, 12) oracle_username,
LPAD (s.osuser, 9) os_username, s.program session_program,
LPAD (s.machine, 8) session_machine,
(SELECT ss.VALUE FROM v$sesstat ss, v$statname sn
WHERE ss.SID = s.SID
AND sn.statistic# = ss.statistic#
AND sn.NAME = ‘session pga memory’) session_pga_memory,
(SELECT ss.VALUE FROM v$sesstat ss, v$statname sn
WHERE ss.SID = s.SID AND sn.statistic# = ss.statistic#
AND sn.NAME = ‘session pga memory max’) session_pga_memory_max,
(SELECT ss.VALUE
FROM v$sesstat ss, v$statname sn
WHERE ss.SID = s.SID
AND sn.statistic# = ss.statistic#
AND sn.NAME = ‘session uga memory’) session_uga_memory,
(SELECT ss.VALUE FROM v$sesstat ss, v$statname sn
WHERE ss.SID = s.SID AND sn.statistic# = ss.statistic# AND sn.NAME = ‘session uga memory max’) session_uga_memory_max
FROM v$session s
ORDER BY session_pga_memory DESCselect sum(Trunc(b.value/1024)) AS memory_kb_total , a.username, a.machine,count(*) as “nu_sessoes”
from
gv$session a,
gv$sesstat b,
gv$statname c
WHERE a.sid = b.sid
AND a.inst_id = b.inst_id
AND b.statistic# = c.statistic#
AND b.inst_id = c.inst_id
AND c.name = ‘session pga memory’
–AND a.program IS NOT NULL
–and program like ‘%SQL%’
group by a.inst_id,a.username, a.machine
ORDER BY memory_kb_total DESC;Teste estas também…
A unica fez na vida que usei essas querys, foi para provar que conexões via ferramenta Client TOAD consome mais MEM do que as demais.
E num relatóri gerencial para aprovar proibir ferramentas client em base de prod, pois consomem memôria do servidor mesmo sem rodar nada.
Tuning de memória da intância existem outros métodos mas eficazes de ser fazer, alêm de análisar quanto cada sessão consome .
-
AutorPosts
- Você deve fazer login para responder a este tópico.