PARÁMETROS DE ORACLE
La instancia de una base de datos se crea en la memoria y según los valores de los parámetros que se encuentra en el Fichero de Parámetros. Oracle para saber cómo tiene que estructurar una instancia, localiza el fichero de parámetros y configura la instancia según los valores de dichos parámetros.
1. Tipos de Fichero de Parámetro:
PFILE: Estático y permite su modificación directa en el archivo
SPFILE: Dinámico y no permite su modificación directa en el archivo ya que es un fichero binario.
2. Visualizando los parámetros
Cuando se abre una base de datos, los parámetros y sus valores se guardan en 2 vistas:
· V$PARAMETER: Esta vista contiene los valores actuales que afectan a la instancia.
· V$SPPARAMETER: Esta vista contiene los valores que están guardados en el fichero de parámetros.
Los parámetros se pueden clasificar en dos grupos:
· Estáticos: Los parámetros estáticos son fijados cuando se inicia la instancia, la modificación de su valor solo tendrá efecto cuando se reinicie la instancia.
· Dinámicos: Un cambio hecho a los parámetros dinámicos tendrá un efecto inmediato y puede ser opcionalmente escrito al spfile.
Si se modifica el valor de un parámetro en la vista V$PARAMETER, el efecto de la modificación varía según el tipo de parámetro:
· Parámetros estáticos cuya modificación es efectiva en el momento: La modificación se hará efectiva en el momento, pero al reiniciar la instancia volverá al valor original ya que la modificación no se ha realizado sobre el fichero de parámetros.
· Parámetros cuya modificación no es efectiva en el momento: La modificación nunca tendrá efecto, ya que se requiere que se reinicie la instancia y al ser reiniciada, volverá tener el valor original que está guardado en el fichero de parámetros.
Para visualizar los parámetros se pueden usar las siguientes sentencias:
· SELECT NAME, VALUE FROM V$PARAMETER ORDER BY NAME;
· SELECT NAME, VALUE FROM V$SPPARAMETER ORDER BY NAME;
Para visualizar los parámetros de la instancia considerados “básicos” se puede usar la siguiente consulta:
· SELECT NAME, VALUE FROM V$PARAMETER WHERE ISBASIC='TRUE' ORDER BY NAME;
3. Modificación de los parámetros
Los parámetros se pueden modificar de 2 formas:
· Usando el EM DB Control (Entrepise Manager).
· Usando el SQL*Plus: El comando ALTER SYSTEM, permite modificar el valor de los parámetros de una instancia.
4. Creación de los parámetros
Cuando una instancia de base de datos es primero creada, será construido con un pfile. Esto tiene que ser convertido a un spfile. El orden es:
· CREATE SPFILE [='SPFILENAME'] FROM PFILE [='PFILENAME'];
Para crear un fichero de parámetro pfile desde un spfile se puede usar la sentencia:
· CREATE PFILE [='PFILENAME'] FROM SPFILE [='SPFILENAME'];
Los comandos CREATE PFILE y CREATE SPFILE pueden ser ejecutados en SQL*PLUS en cualquier momento, hasta antes de que la instancia haya sido comenzada.
5. Diccionario de datos.
El Diccionario de Datos (DD) es un conjunto de metadatos que se almacenan en los tablespaces SYSTEM y SYSAUX y con esta información se define la base de datos.
6. Vistas del Diccionario de Datos:
Para poder entender la información de estos metadatos Oracle nos ofrece una serie de vistas, las cuales se pueden clasificar en 3 grupos.
USER_*: Las vistas que comiencen por USER_, solo tiene información de los objetos que pertenecen al usuario que la consulta.
ALL_*: Las vistas que comiencen por ALL_, tiene información de los objetos a los que tiene permiso el usuario que la consulta. Aquí podemos ver los datos que creamos y los que nos han dado permisos.
DBA_*: Las vistas que comiencen por DBA_, tiene toda la información de la base de datos, solo puede ser consultado por usuarios con privilegios.
Hay que entender, que una misma vista con diferente prefijo, devolverá datos diferentes. Ejemplo:
La vista USER_TABLE: Devuelve información de las tablas que tiene el usuario que la consulta, para un usuario devolverá unas tablas y para otro usuario devolverá otras tablas.
La vista ALL_TABLE: Devuelve información de las tablas que creo el usuario que la consulta y además las tablas que no creo pero a las cuales tiene permiso.
La vista DBA_TABLE: Devuelve información de todas las tablas de la base de datos. Este tipo de vista no puede ser consultado por usuario sin permisos.
7. Vistas más utilizadas
Existen cientos de vistas del Diccionario de Datos, algunas de las más utilizadas son:
USER_TABLES: Informa de las tablas que posee el usuario que la consulta.
DBA_OBJECTS: Contiene información de todos los objetos de la BD.
DBA_DATA_FILES: Contiene información de los ficheros de datos que forman la base de datos.
DBA_USERS: Contiene información de todos los usuarios.
DBA_TABLES: Contiene información de todas las tablas de la base de datos.
DBA_ALERT_HISTORY: Contiene información de las condiciones de alerta pasadas.
