Pular para o conteúdo
WaitScope Entrar Solicitar acesso (por e-mail) Menu

Achar o arquivo de trace no servidor

Marque o nome com tracefile_identifier, ache o caminho pelo V$DIAG_INFO ou pelo V$PROCESS e copie o .trc da pasta de trace do ADR para enviar.

Vale para: Oracle Database 11g ou mais novo (ADR)

O Oracle grava o trace no servidor do banco, na pasta de trace do ADR (Automatic Diagnostic Repository), com um nome como ORCL1_ora_4242.trc: o SID da instância, ora e o número do processo no sistema operacional. Marque o nome antes de ligar o trace, ache o caminho com uma consulta e copie o arquivo .trc.

Antes de começar

  • Acesso ao sistema operacional do servidor do banco, para copiar o arquivo, ou alguém que copie para você.
  • Permissão de consulta às views V$DIAG_INFO, V$SESSION e V$PROCESS.
  • Oracle 11g ou mais novo, que tem o ADR e essas views de diagnóstico.

Marcar o nome com tracefile_identifier

Na sessão que vai ser rastreada, antes de ligar o trace, dê um identificador ao arquivo:

alter session set tracefile_identifier = 'zz_exemplo';

Resultado: o trace seguinte da sessão sai com o identificador no nome, no formato sid_ora_pid_identificador.trc, por exemplo ORCL1_ora_4242_zz_exemplo.trc.

  • O parâmetro muda só com alter session: vale para a própria sessão, não para a de outra pessoa.
  • Cada troca do identificador abre um arquivo novo, e o Oracle marca nos dois que eles são do mesmo processo, com *** TRACE CONTINUES IN FILE e *** TRACE CONTINUED FROM FILE. Envie os arquivos juntos (analisar juntos).
  • O nome do arquivo vira o título do relatório: use um identificador neutro (o que conferir antes de enviar).

Em banco multitenant, o alter session vale também numa sessão conectada a um PDB. A referência do TRACEFILE_IDENTIFIER marca o parâmetro como Modifiable in a PDB: No, mas essa propriedade diz se o PDB pode ter um valor próprio, gravado com alter system (administração de PDBs); o tracefile_identifier só muda por sessão. Para conferir, a coluna TRACEID de V$PROCESS mostra o identificador em vigor no processo da sessão, e a TRACEFILE, o caminho do arquivo (achar o arquivo de outra sessão).

Achar o arquivo da própria sessão

select value
from v$diag_info
where name = 'Default Trace File';

Resultado: o caminho completo do trace da sessão em que você rodou a consulta, como /u01/app/oracle/diag/rdbms/orcl/ORCL1/trace/ORCL1_ora_4242.trc.

Achar o arquivo de outra sessão

O trace é do processo que atende a sessão. Junte V$SESSION e V$PROCESS pelo endereço do processo e filtre pelo SID:

select s.sid, s.serial#, p.tracefile
from v$session s
join v$process p on p.addr = s.paddr
where s.sid = 123;

Resultado: a coluna TRACEFILE traz o caminho do arquivo. Em RAC, use as views GV$ e junte também pela instância: o arquivo fica no servidor dela.

select s.inst_id, s.sid, s.serial#, p.tracefile
from gv$session s
join gv$process p on p.inst_id = s.inst_id and p.addr = s.paddr
where s.inst_id = 1
  and s.sid = 123;

Onde ficam os arquivos

O ADR fica no diretório do parâmetro DIAGNOSTIC_DEST, e a pasta de trace de cada instância segue o caminho diag/rdbms/<db_unique_name>/<SID>/trace a partir dele. Esta consulta devolve a pasta da instância em que você está:

select value
from v$diag_info
where name = 'Diag Trace';

Num banco multitenant, os traces das sessões de todos os PDBs ficam na pasta da instância. Em RAC, cada instância tem a sua pasta, no próprio servidor. As consultas desta página são as do guia de diagnóstico da Oracle.

Copiar o arquivo

  1. Desligue o trace antes de copiar: enquanto ele está ligado, o arquivo continua crescendo.
  2. Copie o .trc da pasta de trace para a sua máquina:
    scp oracle@db-exemplo:/u01/app/oracle/diag/rdbms/orcl/ORCL1/trace/ORCL1_ora_4242_zz_exemplo.trc .
  3. Deixe para trás o .trm de mesmo nome. Ele guarda os metadados da estrutura do trace, usados pelo ADR para busca e navegação, e o WaitScope o ignora.
  4. Se o arquivo for grande, compacte antes de enviar:
    gzip -k ORCL1_ora_4242_zz_exemplo.trc

Resultado: um .trc, ou .trc.gz, pronto para enviar pelo navegador ou pelo app Android.

Problemas comuns

  • O arquivo não existe. O trace não foi ligado, a sessão ainda não fez nenhuma chamada depois de ligar, ou, em RAC, você procura no servidor de outra instância.
  • O nome não tem o identificador. O identificador foi definido em outra sessão. Se ele foi definido depois de o trace começar, o começo da operação ficou no arquivo anterior: envie os dois juntos.
  • O mesmo processo deixou vários arquivos. A aplicação trocou o tracefile_identifier no meio da operação: envie todos juntos (analisar juntos).
  • O arquivo traz várias operações. O trace ficou ligado além da operação, ou o processo atendeu outras tarefas. Gere de novo, ligado só durante a operação (ligar e desligar na hora certa).

Próximos passos

Atualizado em 29/10/2026. Relatar erro nesta página