Re: [oracle_br] Re: Tempo de Resposta de SQL no Banco

2008-02-07 Por tôpico Danilo de Novais Silveira
Só uma dica pra você pensar: você analisar uma query no sqlplus é MUITO
diferente de analisar uma query na aplicação. Uma query pode ter uma
resposta de menos de 1 segundo no sqlplus, mas na hora da aplicação demorar
1minuto. Depende do estado do banco.

Não sei se adianta muito pra você, mas a sugestão do amigo de olhar a
v$session_longops é a mais adequada, na minha opinião.

Em 07/02/08, dhvillegas <[EMAIL PROTECTED]> escreveu:
>
>   O intuito disso é fazer uma analise em todas as consultas das
> aplicaçoes existentes, ago parecido com o que eu ja tenho numa base
> em postgress.
> Montei um relatorio baseado em todas as conexões efetuados durante o
> dia, sumarizando todas as consultas e mostrando a media do tempo
> gasto de cada view, com isso consigo saber se ha alguma coisa errada
> com alguma aplicacao que pode provocar a lentidao do servico.
>
> precisava de algo assim:
>
> select * from tables 34ms
> select * from users where id_user = 1 23ms
>
> Obrigado
> Denis
>
> --- Em oracle_br@yahoogrupos.com.br ,
> "rei_do_delphi"
> <[EMAIL PROTECTED]> escreveu
> >
> > Denis, não tenho acesso ao Oracle aqui no serviço, mas se muito não
> me
> > engano, você consegue essas informações na v$sql.
> > Vallew.
> > --- Em oracle_br@yahoogrupos.com.br ,
> "dhvillegas" 
> > escreveu
> > >
> > > Pessoal,
> > >
> > > Preciso saber se existe alguma consulta ou query que esteja
> rodando e
> > o
> > > tempo seja maior que 1 segundo, pra fins de analise, isso é
> possivel,
> > > consigo estrair essa informação?
> > >
> > > abs
> > > Denis
> > >
> >
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Re: Tempo de Resposta de SQL no Banco

2008-02-07 Por tôpico Gleyson Melo
Fala Denis!

Deixa eu ver se entendi o que você quer.. lendo a sua mensagem, você quer
saber se existe alguma consulta demorando mais de um segundo. Essa é uma
pergunta muuuito específica.

Se fossem consultas demoradas de verdade, eu te recomendaria olhar na
v$session_longops. Já que você está falando em um tempo muito pequeno, eu te
recomendo fazer um sql_trace, se você tiver possibilidade.

alter session set sql_trace=true;
select * from tabela1;
select * from tabela1;
select * from tabela1;
alter session set sql_trace=false;

Depois você olha no user_dump_dest e procura o arquivo de trace.
Encontrando, você usa a ferramenta tkprof para convertê-lo para um formato
mais amigável e analisa por lá. Só não lembro se iniciando o trace dessa
forma ele te gera os tempos.

Essa abordagem do trace considera que você tem como monitorar um conjunto
específico de consultas para saber quanto tempo cada uma está demorando.

Em 07/02/08, rei_do_delphi <[EMAIL PROTECTED]> escreveu:
>
>   Denis, não tenho acesso ao Oracle aqui no serviço, mas se muito não me
> engano, você consegue essas informações na v$sql.
> Vallew.
> --- Em oracle_br@yahoogrupos.com.br ,
> "dhvillegas" <[EMAIL PROTECTED]>
> escreveu
> >
> > Pessoal,
> >
> > Preciso saber se existe alguma consulta ou query que esteja rodando e
> o
> > tempo seja maior que 1 segundo, pra fins de analise, isso é possivel,
> > consigo estrair essa informação?
> >
> > abs
> > Denis
> >
>
>  
>



-- 
Atenciosamente,
Gleyson Melo
Oracle Database 10g Administrator Certified Professional


[As partes desta mensagem que não continham texto foram removidas]