tkprof - SqlTrace

Tuning de Banco, Tuning de SQL, Ferramentas de tuning
Responder
thiago.sousa
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 28
Registrado em: Sex, 09 Dez 2005 9:17 am
Localização: Itajai-SC
_______________________________________
Thiago Antonio
SCJP - Sun Certified Java Programer
SCJA - Sun Certified Java Associate

Pessoal,
alguém saberia me explicar como faço um trace no oracle?
e como formato isso utilizando o tkprof.

Minha maior dificuldade é utilizar o tkprof, não estou conseguindo usá-lo.
alguém poderia me ajudar?
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:

Thiago, esta semana estou fazendo um curso oracle (database tuning), que fala exatamente a maneira correta de ativar e gerenciar este tipo de atividade no banco.
Se você não tiver avechado, na sexta quando terminar o curso, te passo um resumo de como realizar um trace no banco.

Gilberto
ualex
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 9
Registrado em: Ter, 01 Nov 2005 1:25 pm
Localização: Bauru - SP

eu também tem muito interesse em saber utilizar essa ferramenta....
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:

Bom, não é bem o que eu gostaria de descrever! Mas como meu serviço está puxado, acho que este link http://www.oracle-base.com/articles/8i/ ... eTrace.php resume o que se pode fazer.

Espero que ajude!
Gilberto
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

É isso aí pessoal!
O TKPROF não é nada mais que um utilitário que converte os arquivos binários de TRACE para "texto entendível" por nós.

O que são traces ?
É um log de tudo que acontece no banco. Cada comando DML executado, os tempos, as estatísticas, etc. Esse arquivo fica gravado no servidor ORACLE. Para saber ONDE ele grava, rode esse SQL:

Selecionar tudo

SQL> select *
  2  from v$parameter
  3  where name like 'user_dump_dest'
  4  /

       NUM NAME              TYPE VALUE                            
---------- ----------------- ---------- -------------------------------
       750 user_dump_dest             2 /app/oracle/admin/tsas/udump     

1 row selected.
SQL>
O Oracle gera um arquivo sequencial para os arquivos trace. Talvez você tenha que saber o nome do arquivo pela DATA de criação. É claro, você deve ter priv de leitura nesse diretório pra acessá-lo.

Com esse arquivo, você roda o TKPROF, dessa forma:

Selecionar tudo

TKPROF <arquivo_origem.trc>  <seu_arq_de_saida.txt> 
Mas como eu ativo trace?
Existe várias formas!
No SQL*Plus você pode rodar o seguinte comando:

Selecionar tudo

ALTER SESSION SET SQL_TRACE = TRUE;
ALTER SESSION SET SQL_TRACE = FALSE;
Como ativar trace de uma outra sessão?

Selecionar tudo

EXEC SYS.DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION( <o_sid> ,  <o_serial#> ,true);
EXEC SYS.DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION( <o_sid> ,  <o_serial#> ,false);
Como ativar trace no Reports?
http://www.glufke.net/oracle/viewtopic.php?t=45

Como ativar trace level 12 ? (que é o mais detalhado de todos traces)

Selecionar tudo

EXEC SYS.DBMS_SYSTEM.SET_EV( <sid>, <serial#>,10046,12, '');
[]´s
thiago.sousa
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 28
Registrado em: Sex, 09 Dez 2005 9:17 am
Localização: Itajai-SC
_______________________________________
Thiago Antonio
SCJP - Sun Certified Java Programer
SCJA - Sun Certified Java Associate

obrigado pessoal....ótimo.
jlaudirt
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 37
Registrado em: Sáb, 30 Ago 2008 10:16 am
Localização: vilhena - ro

PRECISO SABER QUAL A SINTAXE PARA EU RODAR UM TRACE POR MÁQUINA. QUERO VER SE alguém ESTÁ UTILIZANDO SQL FORA DO PROGRAMA
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

Nesse caso, acho que a melhor forma é criar uma trigger a nível de BANCO - AFTER LOGON.

Daí você loga numa tabela as informações da sessão (coletada na V$SESSION).
Responder
  • Informação
  • Quem está online

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