FICHEROS DE TRAZAS Y LOG ALERT
Los ficheros de traza y de alerta se localizan según el valor del parámetro BACKGROUND_DUMP_DEST.
1 Fichero de traza
Son generados por varios procesos de background, normalmente cuando tienen algún error.
Registran todas las modificaciones realizadas sobre la base de datos.
Se organizan en grupos escritos de manera circular; por tanto, por defecto, la información guardada se elimina periódicamente.
2. Alert Log
El alert log es un archivo XML que contiene un log cronológico de los mensajes de la instancia y de la base de datos. Se almacena en ADR e incluye los siguientes mensajes:
Errores críticos (incidencias).
Todo error interno de instancia.
Operaciones administrativas como levantar la base de datos o pararla.
Errores en la actualización de vistas materializadas.
Cualquier corrupción de bloques de datos detectada.
Todo comando ALTER SYSTEM.
Otros eventos en la base de datos.
El Alert Log se puede consultar a través del EM (Entrepise Manager) o con la utilidad ADRCI. Existe también una versión en formato texto, pero Oracle recomienda que no se utilice porque está desestructurada y puede cambiar de versión a versión.
El fichero tiene la nomenclatura alert_SID.log donde SID se corresponde con el nombre de la instancia.
Para trabajar con una base de datos Oracle tenemos que tener en cuenta que es necesario configurar 3 variables de entorno:
ORACLE SID
ORACLE BASE
ORACLE HOME
Según como configuremos estas variables estaremos trabando con una u otra base de datos, y si se configuran mal, pues no podremos trabajar con ninguna y además, tampoco podremos trabajar con otros programas.
Lo primero tenemos que conocer la forma de ver las variables de entorno, y esto se puede hacer con el comando printenv, por lo que si escribimos printenv:
Y presionamos intro, entonces podemos ver una lista de las variables de entorno de nuestro sistema:
Para que solo se muestren las variables de entorno que contengan el literal Oracle escribimos:
Si lo ejecutamos, podemos ver que no se muestra ninguna variable:
Esto sucede porque no tengo configurada mi sesión para que exporte estas variables, cuando entréis en el linux e intentéis ver las variables de entorno de oracle, veréis que no están configuradas, si estas variables no están configuradas muchas de las aplicaciones de oracle no van a funcionar por el ejemplo el sql plus, que es una de las herramienta que nos permite trabajar con base de datos.
Para dar valor a una variable, debemos usar el comando export, seguido de la variable de entorno, el signo igual (sin usar espacios), el valor de la variable y por último presionamos intro. Debajo, podemos ver cómo asignar el valor a la variable ORACLE_BASE (/u01/app/oracle):
Si ahora ejecutamos printenv | grep ORACLE, podemos observar la variable ORACLE_BASE con el valor que recién le dimos:
Configuremos ahora la variable ORACLE_HOME:
Generalmente no se suele escribir grandes rutas, si ya existe una variable que contiene parte de esa ruta, se puede hacer referencia a esa variable. Para ello debemos poner el signo $ delante de la variable que queremos hacer referencia, así Linux sabe que queremos el valor de la variable y no su literal.
Por ejemplo, si observamos las variables ORACLE_BASE y ORACLE_HOME, vemos que en ORACLE_HOME se puede eliminar la parte de la ruta que está contenida en ORACLE_BASE, y en su lugar poner una referencia a la misma.
Entonces podemos configurar la variable ORACLE_HOME de la siguiente manera:
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/db_1
Ahora asignemos un valor a la variable ORACLE_SID, que no es más que el nombre de la base de datos en la cual queremos trabajar, por ejemplo, orcl1:
export ORACLE_SID=orlc1
Si ejecutáramos el comando printenv | grep ORACLE nuevamente, veremos que ya están las tres variables de entorno correctamente configuradas.
Siempre que queramos cambiar la base de datos con la necesitamos trabajar, debemos configurar estas variables de entorno. Esto es muy importante, porque puede pasar que estemos trabajando con una base de datos X, y en realidad queramos trabajar con otra base de datos, toda vez que estas variables de entorno estén apuntando a una base diferente a la que queremos usar.
Oracle, para hacernos más amena la operativa de modificar estas variables, nos ofrece un archivo ejecutable llamado oraenv (de Oracle Enviorement). Para ejecutarlo no es necesario ir a la carpeta que contiene el archivo oraenv, ya que existen unas variables de entorno que cuando ejecutamos un archivo, primero consulta si dicho archivo existe en el directorio actual. Si hacemos un listado con el comando ls del contenido actual de la carpeta podemos ver que no existe ningún archivo llamado oraenv.
Por lo que al intentar ejecutarlo tendría que dar un error de archivo no encontrado, pues estas variables de entorno tienen una serie de rutas y si el fichero que queremos ejecutar no existe en el directorio actual, va a buscar ese fichero en las ruta que contienen y si existe las ejecuta.
Para recordar la ruta del fichero oraenv, vamos a ir a la carpeta bin del usr, por lo que tecleamos:
cd /usr/local/bin
Y si listamos con ls, podemos ver que aquí, sí existe el fichero oraenv. Además, Linux nos indica con un color verde los archivos ejecutables:
Para ejecutarlo, escribimos: . oraenv. Al dejar un espacio entre el punto y el nombre del ejecutable, le estamos indicando a Linux que ejecute el archivo y además, todas las variables de entorno que genere, se guarden. Si presionamos intro, entonces podemos modificar las variables de entorno a nuestro antojo, preguntándonos primero contra qué base de datos queremos trabajar:
Si nos fijamos, pone entre corchetes orcl1, para indicarnos el valor que tiene en ese momento la variable, o sea, el nombre de la base de datos a la cual está apuntando. Si cambiamos el nombre de la base de datos, por ejemplo a orcl y presionamos intro, nos muestra un mensaje indicando que nuestro ORACLE_BASE es u01/app/oracle, ¿Cómo sabe que esta es la ruta correcta para el ORACLE_BASE de la base de datos orcl? Pues lo sabe con los datos que están en el ORACLE INVENTORY y el fichero oratab.
Ahora podemos comprobar si efectivamente las variables de entorno están apuntando a la base de datos deseada. Para ello vamos a listar todas las variables de entorno que contengan el literal ORACLE:
Y podemos observar que la variable ORACLE_SID tiene el nombre de la base de datos orcl, y que ORACLE_BASE y ORACLE_HOME también tienen las rutas correctas.
Es muy recomendable cuando vamos a trabajar con una base de datos, ejecutar el archivo oraenv, ya que podemos estar trabajando con la base de datos equivocada, ya que podemos tener más de una base de datos en una máquina y puede pasar que queramos trabajar con una base de datos y las variables de entorno estén apuntando a otra.
