Skip to main content

Command Palette

Search for a command to run...

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

Updated
4 min read
Tutorial para DBAs: Uso de crsctl para Configurar SPFILE en ASM (Versiones 11g-19c)
M
Bienvenidos a "La Botica del DBA" Donde la pasión por las bases de datos Oracle se transforma en conocimiento y excelencia. Este espacio está diseñado para ser el laboratorio de ideas, soluciones y estrategias que todo DBA necesita para optimizar, innovar y liderar en el mundo de las bases de datos. Desde los fundamentos hasta las últimas tendencias, aquí encontrarás guías prácticas, análisis profundos y herramientas que impulsarán tu carrera y tus proyectos al siguiente nivel.

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:

  1. Usando crsctl:

     [grid@laboratoriodelabotica ~]$ crsctl stat res ora.boticadb.db –p
    

    Este comando muestra los atributos del recurso de la base de datos, incluyendo la ubicación del SPFILE.

  2. Copiando el SPFILE a un Archivo Temporal:

     ASMCMD> cp +DISKGROUPMIRROR/BOTICADBA/PARAMETERFILE/spfile.270.1032718459 /tmp/sptemp.ora
    

    Copiamos el SPFILE a un archivo temporal para su edición.

  3. Verificando el Estado de los Recursos:

     crsctl stat res –t
    

    Este comando muestra el estado de todos los recursos del cluster.

  4. Confirmando la Ubicación del SPFILE con SQL:

     SQL> show parameter spfile
    

    Este comando confirma la ubicación del SPFILE que la base de datos está utilizando.

Modificando el SPFILE:

  1. Editando el Archivo Temporal:

    Edita el archivo /tmp/sptemp.ora con los cambios (solo si es necesario)

  2. 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
    
  1. 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:

  1. Deteniendo la Base de Datos:

     [oracle@laboratoriodelabotica ~]$ srvctl stop database -d boticadb
    
  2. Iniciando la Base de Datos:

     [oracle@laboratoriodelabotica ~]$ srvctl start database -d boticadb
    
  3. Verificando el Nuevo SPFILE:

     SQL> show parameter spfile
    

    Verificamos 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.

  1. Ejecutando crsctl check config:

     [grid@laboratoriodelabotica ~]$ crsctl check config
    

    Este comando verifica la integridad de la configuración del cluster, incluyendo la red, el almacenamiento y los recursos.

  2. 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.log

        • Solució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.

More from this blog

L

La botica del DBA

24 posts

Configurar SPFILE en ASM: Guía para DBAs