A veces queremos conectarnos a una instancia Oracle, y lo hacemos , como no, con el usuario más poderoso que existe, con SYS como SYSDBA, pero ni eso resulta y simplemente no podemos conectarnos
Pues bien , para esos momentos de desdicha, podemos hacer dos cosas
Y como somos DBA de peso, queremos saber el por que, cierto??
Pues bien, para realizar esa gran tarea de análisis, ocupamos un comando no documentado de Sql*Plus llamado la conección preliminar, con lo cual no nos conectamos a la instancia Oracle, pero... tenemos acceso a muchas vistas del diccionario de datos >" class="middle"> , así tal cual , realizamos una conección pero sin conectarnos
Acá va el ejemplo de ello
Seteamos la opción oculta llamada "Conexión preliminar"
[oracle@oracle10g oracle]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.4.0 - Production on Thu Aug 26 04:20:56 2010
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
SQL> set _prelim on
Posterior a eso, realizamos la conexión a la base de datos, pero esto en realidad no realizará la conexión , de hecho si tratará de hacerlo se quedaría pegada.
SQL> conn / as sysdba
Prelim connection established
Si quisieramos ejecutar alguna consulta , aparecería el siguiente mensaje
SQL> select file_name from dba_data_files;
select file_name from dba_data_files
*
ERROR at line 1:
ORA-01012: not logged onSQL>
Y esto es porque en realidad, no hemos hecho la conexión, pero si podemos obtener información estadística, por ejemplo para hacer un trace de la sesión y así poder detectar el error.
Para realizar el comentado trace, podemos ocupar otro utilitario no documentado >" class="middle"> parece cuento , este utilitario es el oradebug , para ello ocupamos los siguientes comandos.
SQL>
SQL> oradebug setmypid
Statement processed.
SQL> oradebug unlimit
Statement processed.
SQL> oradebug hanganalyze 3
Hang Analysis in /u01/app/oracle/admin/orcl/udump/orcl_ora_5417.trc
Ahora viene la explicación de los comandos utilizados
Este nivel puede ser :
Y claro , ahora viene la revisión del archivo de trace generado , la visualización del problema y el reinicio de la instancia Oracle
El tamaño del archivo de trace esta dado por el parámetro MAX_DUMP_FILE_SIZE , pero si queremos un tamaño mayor , ejecutamos el comando
SQL> oradebug unlimit
Antes de hacer el debug del trace
No hay comentarios:
Publicar un comentario