Top queries no PL/SQL

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
bizoca
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 14
Registrado em: Sex, 10 Out 2008 11:27 am
Localização: Sorocaba

Olá!

Pessoal, tenho acesso à algumas instâncias no Oracle Enterprise Manager (ferramenta gráfica) para verificar os snapshots de top queries vilãs em processos que rodam durante o dia no banco. Porém apareceu um problema numa instância onde não tenho acesso via grid, e necessito saber quais são as queries que tem custo alto para tentar melhorá-las.
Gostaria de saber se existe possibilidade de fazer isso através de linhas de comando no PL/SQL e quais posso utilizar para verificar o que está causando atraso nos jobs.

Obrigada!!!
bizoca
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 14
Registrado em: Sex, 10 Out 2008 11:27 am
Localização: Sorocaba

Então, pra explicar melhor, com a v$session, eu tenho as sessões abertas no banco. Preciso de uma view que me dê as queries que tem consumo elevado de recursos. Alguém sabe?
bizoca
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 14
Registrado em: Sex, 10 Out 2008 11:27 am
Localização: Sorocaba

Ninguém sabe??
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Tópico movido para forum de DBA !
(pois é uma questões de performance, etc)
gilbertoca
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 372
Registrado em: Ter, 24 Jan 2006 3:33 pm
Localização: Palmas - TO
Contato:

bizoca escreveu:Então, pra explicar melhor, com a v$session, eu tenho as sessões abertas no banco. Preciso de uma view que me dê as queries que tem consumo elevado de recursos. Alguém sabe?
Você pode executar o ADDM através do pl/sql.
Seu ponto de partida :Running ADDM using DBMS_ADVISOR APIs

Outra maneira é verifiar o momento em que o problema ocorre e a partir daí, colher/analisar o banco através de um script pré-definido: Diagnosing Database Performance Issues with ADDM

Gilberto
tapenatti
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Qui, 04 Dez 2008 11:10 pm
Localização: Rib. Preto / SP

acho que é isso:

Selecionar tudo

select username usr,
       a.disk_reads disco,
       a.executions exec,
       Round((a.disk_reads / decode(a.executions, 0, 1, a.executions)), 2) media,
       a.Rows_Processed linhas,       
       a.sql_text sql
  from v$sqlarea a, dba_users b
 where a.parsing_user_id = b.user_id
   and disk_reads >= 1000
 order by 2 desc, 4 desc;
bizoca
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 14
Registrado em: Sex, 10 Out 2008 11:27 am
Localização: Sorocaba

deu certo! ;D muitíssimo obrigada!!!
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 5 visitantes