« Como borrar archives por el lado del servidor de StandByAdiós Itanum »

Centralizando el spfile en un RAC



Tengo un RAC con ASM pero cada instancia de base de datos posee su propio archivo de inicialización
¿Cómo lo centralizo en mi instancia ASM?



Al ejecutar la consulta de mi spfile en una de las instancias del RAC aparece lo siguiente :

SQL> show parameter pfile

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string



Cuando accedo a la instancia ASM mediante el ASMCMD , veo lo siguiente

[oracle@baliinfr03 ~]$ asmcmd

ASMCMD> ls
DISKGRP1/
DISKGRP2/
ASMCMD> cd DISKGRP1
ASMCMD> ls
DB_UNKNOWN/
IASDB/
ASMCMD> cd IASDB
ASMCMD> ls -ltr
Type      Redund  Striped  Time             Sys  Name
                                            Y    CONTROLFILE/
                                            Y    DATAFILE/
                                            Y    ONLINELOG/
                                            Y    PARAMETERFILE/
                                            N    datafilesysaux01.dbf => +DISKGRP1/IASDB/DATAFILE/SYSAUX.260.746407073
                                            N    datafileundotbs01.dbf => +DISKGRP1/IASDB/DATAFILE/UNDOTBS1.263.746409565
                                            N    datafileundotbs02.dbf => +DISKGRP1/IASDB/DATAFILE/UNDOTBS2.262.746409567
                                            N    datafileusers01.dbf => +DISKGRP1/IASDB/DATAFILE/USERS.261.746407073
ASMCMD>



Pues bien , elijo el diskgroup donde va a quedar y ejecuto el siguiente comando

SQL> create spfile='+DISKGRP1' from pfile;

File created.

SQL>



Y cuando voy a visualizar nuevamente el diskgroup aparece una nueva carpeta llamada PARAMETERFILE y dentro de esa carpeta aparece mi archivo de inicialización

ASMCMD> ls
CONTROLFILE/
DATAFILE/
ONLINELOG/
PARAMETERFILE/
datafilesysaux01.dbf
datafileundotbs01.dbf
datafileundotbs02.dbf
datafileusers01.dbf

ASMCMD> cd PARAMETERFILE

ASMCMD> ls -ltr
Type Redund Striped Time Sys Name
PARAMETERFILE UNPROT COARSE MAR 24 21:00:00 Y spfile.275.746659845

ASMCMD> pwd
+DISKGRP1/IASDB/PARAMETERFILE
ASMCMD>



Pues bien , ahora debemos apuntar nuestras instancias a ese archivo de inicialización
Para ello , dentro del archivo de inicialización colocamos el siguiente código

SPFILE='+DISKGRP1/IASDB/PARAMETERFILE/spfile.275.746659845'



Y realizamos una bajada y subida de los servicios, seteando el ORACLE_HOME donde esta instalado el Clusterware

[oracle@baliinfr03 ~]$ crs_stop -all



Y validamos los resultados

[oracle@baliinfr03 ~]$ crs_stat -t

Name           Type           Target    State     Host
------------------------------------------------------------
ora....SM1.asm application    OFFLINE   OFFLINE
ora....03.lsnr application    OFFLINE   OFFLINE
ora....r03.gsd application    OFFLINE   OFFLINE
ora....r03.ons application    OFFLINE   OFFLINE
ora....r03.vip application    OFFLINE   OFFLINE
ora....SM2.asm application    OFFLINE   OFFLINE
ora....04.lsnr application    OFFLINE   OFFLINE
ora....r04.gsd application    OFFLINE   OFFLINE
ora....r04.ons application    OFFLINE   OFFLINE
ora....r04.vip application    OFFLINE   OFFLINE
ora.iasdb.db   application    OFFLINE   OFFLINE
ora....b1.inst application    OFFLINE   OFFLINE
ora....b2.inst application    OFFLINE   OFFLINE



Después subimos los servicios

[oracle@baliinfr03 ~]$ crs_start -all



Y validamos los resultados

[oracle@baliinfr03 ~]$ crs_stat -t

Name           Type           Target    State     Host
------------------------------------------------------------
ora....SM1.asm application    ONLINE    ONLINE    baliinfr03
ora....03.lsnr application    ONLINE    ONLINE    baliinfr03
ora....r03.gsd application    ONLINE    ONLINE    baliinfr03
ora....r03.ons application    ONLINE    ONLINE    baliinfr03
ora....r03.vip application    ONLINE    ONLINE    baliinfr03
ora....SM2.asm application    ONLINE    ONLINE    baliinfr04
ora....04.lsnr application    ONLINE    ONLINE    baliinfr04
ora....r04.gsd application    ONLINE    ONLINE    baliinfr04
ora....r04.ons application    ONLINE    ONLINE    baliinfr04
ora....r04.vip application    ONLINE    ONLINE    baliinfr04
ora.iasdb.db   application    ONLINE    ONLINE    baliinfr03
ora....b1.inst application    ONLINE    ONLINE    baliinfr03
ora....b2.inst application    ONLINE    ONLINE    baliinfr04



Hay que tener en claro que el archivo de inicialización de las instancias debe ser un pfile y dentro de este archivo se debe colocar el puntero al SPFILE que está en el ASM

NO PUEDE SER UN SPFILE apuntando a otro SPFILE, dado que si hacemos esto cualquier cambio que hagamos quedará solo en el nodo donde ejecutamos el comando ALTER SYSTEM

Explicandolo en español, dentro del $ORACLE_HOME/dbs de cada nodo, debe exitir un init.ora y dentro de eso el código SPFILE='DISKGROUP/nombre de spfile'

by Ligarius
24.03.11. 19:31:47. 574 words, 4194 views. Categories: ASM (Automatic Storage Management) ,