Tutorial para DBAs: Uso de crsctl para Configurar SPFILE en ASM (Versiones 11g-19c)

Introducción:
Como DBAs de Oracle, sabemos que el SPFILE es parte del corazón de nuestra base de datos Oracle y en la botica cuidamos la salud de las BBDD y para ello almacenar los parámetros de inicialización, y su correcta gestión es vital. En entornos ASM, modificar el SPFILE requiere un entendimiento profundo de crsctl y ASMCMD. En este artículo, te guiaré a través del proceso.
Revisando el SPFILE Actual en ASM:
Antes de realizar cualquier modificación, es fundamental conocer el SPFILE actual en uso. Aquí te muestro cómo hacerlo:
Usando crsctl:
[grid@laboratoriodelabotica ~]$ crsctl stat res ora.boticadb.db –pEste comando muestra los atributos del recurso de la base de datos, incluyendo la ubicación del SPFILE.
Copiando el SPFILE a un Archivo Temporal:
ASMCMD> cp +DISKGROUPMIRROR/BOTICADBA/PARAMETERFILE/spfile.270.1032718459 /tmp/sptemp.oraCopiamos el SPFILE a un archivo temporal para su edición.
Verificando el Estado de los Recursos:
crsctl stat res –tEste comando muestra el estado de todos los recursos del cluster.
Confirmando la Ubicación del SPFILE con SQL:
SQL> show parameter spfileEste comando confirma la ubicación del SPFILE que la base de datos está utilizando.
Modificando el SPFILE:
Editando el Archivo Temporal:
Edita el archivo
/tmp/sptemp.oracon los cambios (solo si es necesario)Reemplazando el SPFILE en ASM:
Aquí es donde la sintaxis de ASMCMD se vuelve crucial. Dependiendo de la versión de Oracle, los comandos pueden variar ligeramente:
Oracle 11g/12c:
ASMCMD> rm +DISKGROUPMIRROR/BOTICADBA/PARAMETERFILE/spfile.270.1032718459 ASMCMD> cp /tmp/sptemp.ora +DISKGROUPMIRROR/BOTICADBA/PARAMETERFILE/spfile.new
Actualizando el Recurso de la Base de Datos:
crsctl modify res ora.boticadb.db -attr "PARAMETER_FILE=+DISKGROUPMIRROR/BOTICADBA/PARAMETERFILE/spfile.new"Actualizamos el recurso de la base de datos para que utilice el nuevo SPFILE.
Reiniciando la Base de Datos:
Deteniendo la Base de Datos:
[oracle@laboratoriodelabotica ~]$ srvctl stop database -d boticadbIniciando la Base de Datos:
[oracle@laboratoriodelabotica ~]$ srvctl start database -d boticadbVerificando el Nuevo SPFILE:
SQL> show parameter spfileVerificamos que la base de datos esté utilizando el nuevo SPFILE.
Verificando la Configuración del Cluster con crsctl check config:
Después de modificar el SPFILE y reiniciar la base de datos, es crucial verificar la configuración del cluster para asegurar que todo funcione correctamente.
Ejecutando
crsctl check config:[grid@laboratoriodelabotica ~]$ crsctl check configEste comando verifica la integridad de la configuración del cluster, incluyendo la red, el almacenamiento y los recursos.
Interpretando los Resultados:
Salida Exitosa:
Si la configuración es correcta, el comando no mostrará errores.
Errores Comunes y Soluciones:
Error:
CRS-4639: Could not contact Oracle High Availability Services:Este error indica un problema con los servicios de alta disponibilidad.
Solución: Verifica que los servicios CRS estén en ejecución:
[root@laboratoriodelabotica ~]# crsctl start crs
Error:
CRS-4535: Cannot communicate with Cluster Synchronization Services daemon:Este error indica un problema con el daemon CSS.
Solución: Verifica el estado de CSS y reinicia el cluster si es necesario:
[root@laboratoriodelabotica ~]# crsctl check css [root@laboratoriodelabotica ~]# crsctl stop crs -f [root@laboratoriodelabotica ~]# crsctl start crs
Error:
CRS-4000: Command check failed, or completed with errors:Este error genérico indica que la verificación falló. Revisa los logs de CRS para obtener más detalles:
/u01/app/grid/diag/crs/boticadb1/crs/trace/ocssd.log/u01/app/grid/diag/crs/boticadb2/crs/trace/crsd.logSolución: Los logs te darán pistas sobre la causa del error. Sigue las recomendaciones de Oracle Support para resolver problemas específicos.
Consejos:
Sintaxis ASMCMD Completa:
ASMCMD> cp [opciones] origen destino: Copia archivos entre ASM y el sistema de archivos local.ASMCMD> rm [opciones] nombre_archivo: Elimina archivos de ASM.ASMCMD> ls [opciones] [ruta]: Lista el contenido de un directorio ASM.ASMCMD> mkdir [opciones] nombre_directorio: Crea un directorio en ASM.ASMCMD> pwd: Muestra el directorio actual en ASM.
Diferencias de Versión:
Siempre consulta la documentación específica de tu versión de Oracle para conocer las últimas actualizaciones y cambios en ASMCMD.
- Presta especial atención a las opciones de los comandos, ya que pueden variar entre versiones.
Ejemplos Específicos de Parámetros del SPFILE:
Modificando
memory_target:SQL
ALTER SYSTEM SET memory_target=8G SCOPE=SPFILE;Modificando
processes:SQL
ALTER SYSTEM SET processes=500 SCOPE=SPFILE;
Verificando la Integridad del SPFILE:
Después de modificar el SPFILE, verifica que no esté corrupto:
SQL> CREATE PFILE='/tmp/verify.ora' FROM SPFILE='+DISKGROUPMIRROR/BOTICADBA/PARAMETERFILE/spfile.new';Si el comando se ejecuta sin errores, el SPFILE es válido.
Conclusión:
Modificar el SPFILE en ASM puede parecer complejo, pero con un conocimiento sólido de crsctl y ASMCMD, y siguiendo las mejores prácticas, podemos realizar esta tarea de manera eficiente y segura.
En laboticadeldba.com, te queremos acompañar en el cuidado y dedicación por las bases de Datos Oracle, espero este articulo ayude a mejorar la salud de tus bases de datos en compromiso con la excelencia y la calidad de tus entornos Oracle.






