Pular para o conteúdo

Habilitando o Trace Para uma Determinada Sessão no Oracle

Habilitando o Trace Para uma Determinada Sessão no Oracle

Hoje estarei abordando como gerar um trace (que pode ser entendido com um relatório de tudo o que a sessão se executa no ambiente no período em que o trace estiver habilitado = true) de uma sessão. Para isso, estarei elaborando uma situação hipotética, no qual um cliente estará solicitando a geração de um trace através de uma e-mail. Sendo assim, segue:

“Bom dia!

Solicitamos a habilitação de um trace da sessão com o SID 3972, na nossa base de dados de produção. Após a habilitação do mesmo, favor entrar em contato conosco, para que possamos processar nossa rotina e, posteriormente, entraremos em contato para a desabilitação do trace da sessão aqui descrita.

Att, Cliente.”

Para se habilitar o trace de uma sessão, há dois dados importantes de uma sessão: SID e o SERIAL#. Para isso, basta se fazer um select na V$SESSION:

SQL> select SID, SERIAL# FROM V$SESSION WHERE SID = 3972;

SID SERIAL#
———- ———-
3972 16976

Posteriormente habilitar o trace:

SQL> execute sys.dbms_system.set_sql_trace_in_session(3972, 16976, TRUE);

PL/SQL procedure successfully completed.

##Cláusula:

execute sys.dbms_system.set_sql_trace_in_session(SID, SERIAL#, TRUE);

Por padrão, o trace será gerado ná área de user_dump_dest , com a nomenclatura
NOMEDOBANCO_ora_SpidDaSessaoNoSistemaOperacional.trc. Sendo assim , como o banco possui o nome de DBBRUNORS , logo o nome do trace é dbruno1_ora_númeroSpid.trc.

SQL> SHOW PARAMETERS DUMPNAME TYPE VALUE
—————————- ——– ———– ——————————
background_core_dump string partial
background_dump_dest string /dbbruno/worklogs/rdbms/dbbruno1/bdump
core_dump_dest string /dbbruno/worklogs/rdbms/dbbruno1/cdump
max_dump_file_size string 20480
shadow_core_dump string PARTIAL
user_dump_dest string /dbbruno/worklogs/rdbms/dbbruno1/udump
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 – 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
[oracle@brunors ~]$ cd /dbbruno/worklogs/rdbms/dbbruno1/udump
[oracle@brunors udump]$ ls -ltr
-rw-r—– 1 oracle oinstall 2649 Dec 23 08:59 dbruno1_ora_26520.trc

Após isso, esperar o tempo solicitado pelo cliente, e a confirmação do mesmo para que se possa desabilitar o trace.
Segue evidências:

SQL> execute sys.dbms_system.set_sql_trace_in_session(3972, 16976, FALSE);

PL/SQL procedure successfully completed.

##Cláusula:

execute sys.dbms_system.set_sql_trace_in_session(SID, SERIAL#, FALSE);

Espero tê-lo ajudado,

Abraços.

Bruno Reis

Bruno Reis

DBA ORACLE  na International Business Machines (IBM), fornecendo suporte para grandes clientes. Técnico em Informática pela Escola Técnica Polivalente de Americana e estudante de Ciência Computação . Mantenedor do Weblog sobre Banco de Dados Oracle e Gerenciamento de Serviços de TI: www.brunors.com

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

plugins premium WordPress