- Este tópico contém 13 respostas, 5 vozes e foi atualizado pela última vez 16 anos, 9 meses atrás por
berlotto.
-
AutorPosts
-
11 de outubro de 2008 às 12:09 am #83150
Susu
ParticipanteOlá Pessoal,
Eu recebi um alerta no meu banco:
43,4 -> A execução de código PL/SQL consumiu um tempo de banco de dados significativo.
Fui ver qual a instrução que estava sendo executadaBEGIN EMD_NOTIFICATION.QUEUE_READY(:1, :2, :3); END;
E estava consumindo CPU(96%)O que eu poderia fazer para resolver esse problema, que tipo de query é essa?
Obrigada
Suzana11 de outubro de 2008 às 3:03 pm #83153Ricardo Portilho Proni
ParticipanteNão sei o que esta procedure faz, mas consumir 96% do tempo do seu banco não quer dizer muita coisa, se seu banco não estivesse fazendo quase nada.
Ou p servidor estava com osoutros processos lentos mesmo?13 de outubro de 2008 às 5:16 pm #83161Ricardo Portilho Proni
ParticipanteDescobri o que este SQL faz, ele eh chamado pelo proprio Enterprise Manager.
Se este SQL estah deixando seu banco lento, desligue o EM.13 de outubro de 2008 às 6:12 pm #83165Susu
ParticipanteMas como vou monitorar? Se eu uso o Enterprise 🙁
Não entendi muito.
Vc usa alguma outra ferramenta sem ser o Enterprise?Abraços
Suzana13 de outubro de 2008 às 6:25 pm #83167Ricardo Portilho Proni
ParticipanteUso o SQL*Plus 🙂
Mas seu servidor estah lento mesmo?9 de junho de 2009 às 4:01 pm #87228berlotto
ParticipanteOlá Ricardo e Susu,
Estou com o mesmo problema no meu banco de dados, tenho este processo que roda volta e meia e fica trancando sua sessão por muito tempo e deixando o banco muito lento.
Como desabilito o enterprise manager no linux, alguem sabe ?
Obrigado pela ajuda…9 de junho de 2009 às 5:27 pm #87237David Siqueira
ParticipanteSalve Berlotto, Susu e Brother Portilho…
Berlotto use essas informações pra entender e como proceder para retirar e colocar no ar ( se preciso) seu entreprise manager:http://download-west.oracle.com/docs/html/B12013_03/emctl.htm
Abraço á todos!!!
David
9 de junho de 2009 às 5:30 pm #87238berlotto
ParticipanteCaro Drbs,
Muito obrigado pelo Link !
Vou averiguar se desabilitando o DM vai parar aquele processo mesmo …9 de junho de 2009 às 5:34 pm #87240Marcio68Almeida
Participante[quote=”Susu”:1t1xutim]Mas como vou monitorar? Se eu uso o Enterprise 🙁
Não entendi muito.
Vc usa alguma outra ferramenta sem ser o Enterprise?Abraços
Suzana[/quote]Pessoal, é MUITO importante aprender a monitorar o Oracle fora das ferramentas gráficas, por dois motivos simples.
1. Ferramentas gráficas são pesadas e degradam o próprio banco, como vocês puderam notar.
2. Quando tiverem que dar suporte remoto, não vão ter essas ferramentas para salva-los…9 de junho de 2009 às 5:58 pm #87244berlotto
ParticipanteEu utilizo bastante o conhecimento via linha de comando.
Utilizo mais o Oracle SQLDeveloper mesmo para criar as querys e fazer o explain plan…
Mas como não fico o tempo todo cuidando o Oracle, quando dá uns pipinos assim eu me aperto… hehehAgora só quero matar um job que está rodando com o seguinte comando:
BEGIN EMD_NOTIFICATION.QUEUE_READY(:1, :2, :3); END;Mas quando tento derrubar o EM (emctl stop agent) diz que não foi possível…
TZ set to Brazil/East
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.
This will stop the Oracle Enterprise Manager 10g Database Control process. Continue [y/n] :y
Stopping Oracle Enterprise Manager 10g Database Control …
— Failed to shutdown DBConsole Gracefully —
failed.
unable to stop Oracle Enterprise Manager 10g Database Control.Alguma dica ? Este processo está matando minha maquina…
9 de junho de 2009 às 6:04 pm #87245Marcio68Almeida
Participante[quote=”berlotto”:15iwtxqn]Alguma dica ? Este processo está matando minha maquina…[/quote]
Por que não dá kill -9 no processo ???9 de junho de 2009 às 6:09 pm #87246berlotto
ParticipanteBoa..
Seria este processo ?
/u01/app/oracle/product/10.2.0/db_1/bin/emagentAcho que sim neh .. o agente do EM ! 😮
9 de junho de 2009 às 6:17 pm #87247Marcio68Almeida
Participante[quote=”berlotto”:3aja445h]Boa..
Seria este processo ?
/u01/app/oracle/product/10.2.0/db_1/bin/emagentAcho que sim neh .. o agente do EM ! 😮 [/quote]
No v$session você tem o PID do processo a ser morto.
Uma consulta boa para ajudar a verificar os processos ativos :
Select p.spid, s.sid, s.serial#, s.username, s.osuser, s.status, s.logon_time,
TO_CHAR (TRUNC (last_call_et / 3600), '009') || ':' ||
Case When TRUNC (last_call_et / 3600) >= 1 Then
TO_CHAR (MOD ((last_call_et - (3600 * TRUNC (last_call_et / 3600))) / 3600, 2) * 60, '09')
Else
TO_CHAR (MOD (last_call_et / 3600, 2) * 60, '09')
End inatividade, s.machine, s.program, sql.sql_text, s.server, c.buffer_gets, c.sorts, c.rows_processed, t.status,
p.pga_used_mem, p.pga_alloc_mem, p.pga_freeable_mem, pga_max_mem
From v$session s, v$process p, v$sqlarea c, v$transaction t,
(Select distinct sql_text, address
From v$sql sql ) sql
Where s.username is not null
And s.status = 'ACTIVE'
-- And s.status not in ('SNIPED', 'KILLED')
And s.paddr = p.addr (+)
And s.saddr = t.ses_addr (+)
And s.sql_address = sql.address (+)
And s.sql_address = c.address
Order by s.last_call_et desc;
9 de junho de 2009 às 6:24 pm #87248berlotto
ParticipantePô .. valeu !
otima query !Vou utilizar bastante …
deu certo, aquele processo morreu e parou de rodar…
Obrigado a todos pela ajuda ! -
AutorPosts
- Você deve fazer login para responder a este tópico.