Existen tres tipos de parámetros en oracle:
- Parámetros “fijos”=> Son parámetros que una vez instalada la base de datos no se pueden volver a modificar / configurar. El juego de caracteres es un claro ejemplo.
- Parámetros Estáticos => Son parámetros que se pueden modificar, pero su modificación implica cerrar la base de datos y volverla a abrir para que los lea del fichero y pueda realizar el cambio.
- Parámetros Dinámicos=> Son parámetros cuyo valor se puede cambiar sin necesidad de cerrar la base de datos a diferencia de los estáticos.
Podemos asignar valores a los parámetros de la siguiente manera:
SQL> ALTER SYSTEM SET <parámetro> = <valor> [SCOPE = <ámbito>]
El valor del ámbito puede ser uno de los siguientes.
• spfile –> Fichero de parámetros
• memory –> En memória (en caliente)
• both –> En memória y en el fichero de parámetros spfile.
Ejemplo:
El ejemplo anterior sólo funciona a partir de la versión 9.
Para ver el valor actual de un parámetro.
SQL> show parameter <parámetro>
Existe una manera sencilla de verificar que parámetros son dinámicos y cuales son estáticos.
La vista V$PARAMETER nos proporciona este tipo de información.
La columna ISSYS_MODIFIABLE contiene tres (3) tipos de valores:
• Immediate
• Deferred
• False
Por ejemplo:
SQL> select distinct ISSYS_MODIFIABLE from V$PARAMETER;
ISSYS_MODIFIABLE
—————————
IMMEDIATE
DEFERRED
FALSE
IMMEDIATE: identifica aquellos parámetros dinámicos, es decir, los ajustes se realizan de manera inmediata.
DEFERRED: los ajustes pueden ser realizados en “caliente” pero tomarán efecto solo después de que la base de datos sea re-inicializada.
FALSE: obligatoriamente la base de datos debe bajarse para poder efectuar el cambio.
La siguiente sentencia nos permite conocer lo anterior mencionado:
Col NAME format a50
Col ISSYS_MODIFIABLE format a20
Select NAME, ISSYS_MODIFIABLE
From V$PARAMETER
Order by 1