Utilizando o Automatic Diagnostic Repository.
Criando uma procedure sobre lock’s de library cache, agora a tarde me deparei com um erro ORA-07445 bem estranho.
Diante disso resolvi abrir um chamado para Oracle no metalink.
Para facilitar a coleta de todas as informações relevantes do erro em questao a Oracle disponibiliza o ADR a partir da versao 11.1.0.6, assim nos ajudando a detalhar e repassar melhor o problema no caso de um SR na Oracle.
Veja como funciona.
Para conectar no adr basta digitar adrci no path dos binarios
Mas vou mostrar para vocês desde o inicio do problema.
ERROR at line 213: ORA-03113: end-of-file on communication channel Process ID: 17123 Session ID: 149 Serial number: 251 SQL> exit Disconnected from Oracle Database 11g Release 11.2.0.2.0 - Production With the Real Application Clusters and Automatic Storage Management options [oracle@rac11g1 trace]$ adrci ADRCI: Release 11.2.0.2.0 - Production on Thu Feb 9 15:39:35 2012 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. ADR base = "/ora01/app"
Acima observem que entrei no repositório do ADR digitando adrci da pasta trace.
Isso é possivel pois o path esta exportado em meu linux conforme abaixo.
[oracle@rac11g1 trace]$ echo $PATH /usr/kerberos/bin:/ora01/app/product/11.2.0/db_1/bin:/usr/sbin:/usr/local/bin:/bin:/usr/bin:/home/oracle/bin [oracle@rac11g1 trace]$
Observe que em meu path contem exportado o caminho dos binarios do oracle.
/ora01/app/product/11.2.0/db_1/bin
Bom vamos ao que interessa.
Com o repositório adrci aberto eu listo os processos em que deram erro em meu banco.
Com o comando “show incidente”
ADR base = "/ora01/app" adrci> show incident ADR Home = /ora01/app/diag/rdbms/tkrac11g/tkrac11g1: ************************************************************************* INCIDENT_ID PROBLEM_KEY CREATE_TIME -------------------- ----------------------------------------------------------- ---------------------------------- 1537 ORA 600 [kgantc_1] 2011-08-09 13:39:41.260000 -03:00 2401 ORA 603 2011-08-09 13:41:13.149000 -03:00 24090 ORA 32701 2012-01-23 17:16:12.839000 -02:00 24091 ORA 32701 2012-01-23 17:46:56.073000 -02:00 24092 ORA 32701 2012-01-24 10:19:30.518000 -02:00 24093 ORA 32701 2012-01-24 10:52:24.897000 -02:00 26490 ORA 32701 2012-01-27 09:49:51.384000 -02:00 32730 ORA 7445 [evaopn3()+632] 2012-02-09 14:38:58.735000 -02:00 32731 ORA 7445 [evaopn3()+632] 2012-02-09 14:39:24.942000 -02:00 32794 ORA 7445 [evaopn3()+632] 2012-02-09 14:43:06.793000 -02:00 32874 ORA 7445 [evaopn3()+632] 2012-02-09 14:58:20.772000 -02:00 32875 ORA 7445 [evaopn3()+632] 2012-02-09 15:00:20.362000 -02:00 12 rows fetched
Observe que hoje “2012-02-09″houve varios erros “ORA 7445 [evaopn3()+632]”
Então vamos criar um pacote para enviar todo o diagnostico para a oracle, com o comando “IPS CREATE PACKAGE”
adrci> IPS CREATE PACKAGE INCIDENT 32875 Created package 1 based on incident id 32875, correlation level typical adrci> IPS CREATE PACKAGE Created package 2 without any contents, correlation level typical
Com o comando acima foi criado um pacote sobre o incidente 32875.
Ou você poderá utilizar esse comando para criar um pacote de todos os erros.
conforme segundo comando.
Agora vamos geralo em disco.
adrci> IPS GENERATE PACKAGE 1 IN /home/oracle Generated package 1 in file /home/oracle/ORA7445ev_20120209154203_COM_1.zip, mode complete adrci> exit [oracle@rac11g1 trace]$ ls -lrt /home/oracle/ORA7445ev_20120209154203_COM_1.zip -rw-r--r-- 1 oracle oinstall 7146751 Feb 9 15:46 /home/oracle/ORA7445ev_20120209154203_COM_1.zip [oracle@rac11g1 trace]$
A partir dai basta abrir um chamado com a oracle e anexar o arquivo.
Todos os arquivos contidos neste zip contem alguma informação relevante sobre o problema.
Caso você trabalhe de um rac 11G até mesmo logs de CRS serão enviados junto neste processo.
Existem algumas opções que você pode utilizar nesta ferramenta.
Criar um pacote sobre o problem_key.
Criar um pacote sobre o tempo.
Adicionar um novo problema ao pacote.
adrci>IPS CREATE PACKAGE PROBLEMKEY "problem_key" adrci>IPS CREATE PACKAGE SECONDS sec adrci>IPS CREATE PACKAGE TIME 'start_time' TO 'end_time' adrci>IPS ADD INCIDENT incident_number PACKAGE package_number
Referências.
Note Id 411.1 e Note Id 422893.1
Autor: Leandro Lana
Trabalho com banco de dados Oracle desde 2006, já trabalhei com as plataformas 9i, 10G, 11G, 12C, 18C, 19C e 21(ainda em testes).
Trabalhando atualmente como consultor Oracle na MigraTI Soluções em TI como administrador de banco de dados Oracle, SQL-Server, MySQL e Postgresql.
Contato: leandro.lana@migrati.com.br
Fone: (47) 9191-6052 / (47) 3328 0996
Certificações:
OCA 10G.
OCP 10G.
OCE Linux.
OCE RAC/Cluster.
MCP SQL-Server 2008.
MCITP SQL-Server 2008.
DB2 Fundamentals.
One thought on “Utilizando o Automatic Diagnostic Repository”