Oracle RAC 11gR2 | ORA-00245: control file backup operation failed

 ORA-00245: Conociendo como ocurre el error

Oracle RAC

Oracle RAC (Photo credit: Fenng(dbanotes))

Desde la version de bases de datos oracle 11gR2 la copia de seguridad del controlfile sucede sin tener que holdear las colas de actualizacion del controlfile.

Cuando tenemos una base en single mode o mejor dicho standalone, esta situacion no cambia para nada.

Ahora si nosotros estamos trabajando en RAC (y debido a la cambios que se realizaron para las versiones de bases de datos 11gR2) provocan que cualquier instancia del cluster pueda escribir en el controlfile de manera instantanea.

Es asi que este snapshot del controlfile debe estar disponible (visible) para todas las instancias.

Por que ocurre el error ?

El snapshot del controlfile debe ser accesible para todos los nodos de una base de datos en RAC y si el snapshot no esta, o hay un error en el dispositivo compartido ocurrira que al momento de la copia de seguridad que realiza el RMAN mostrara un error.

Estos siempre ocurriran cuando tomemos un backup usando sqlplus, tengamos configurado un backup del controlfile como AUTOBACKUP o no poseamos una ubicacion compartida.

Ahora veamos unos ejemplos de errores comunes.

Ejemplo 1:

En un ambiente RAC, el controlfile autobackup falla con el error ORA-0245

Autobackup of controlfile in RMAN is failing with error:
RMAN-571: ===========================================================
RMAN-569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-571: ===========================================================
RMAN-3009: failure of Control File and SPFILE Autobackup command on
ORA_DISK_1 channel at 10/27/2010 15:08:59
ORA-245: control file backup operation failed

Sigue leyendo

Creating ASM Diskgroups with dbca

Vamos a crear un diskgroup nuevo utilizando la interfaz grafica , con el comando dbca.

Lo que primero debemos tener en cuenta que los discos se hallen publicados en el OS y con ello ya podemos comenzar a trabajar.

Con los comandos de oracle createdisk, y logueados con el usuario root creamos los discos.

[root@sdatpro01lx ~]# /etc/init.d/oracleasm createdisk SAN_DATA01p1 /dev/mapper/SAN_DATA01p1
Marking disk "SAN_DATA01p1" as an ASM disk:                [  OK  ]
[root@sdatpro01lx ~]# /etc/init.d/oracleasm createdisk SAN_DATA02p1 /dev/mapper/SAN_DATA02p1
Marking disk "SAN_DATA02p1" as an ASM disk:                [  OK  ]
[root@sdatpro01lx ~]# /etc/init.d/oracleasm createdisk SAN_DATA03p1 /dev/mapper/SAN_DATA03p1
Marking disk "SAN_DATA03p1" as an ASM disk:                [  OK  ]
[root@sdatpro01lx ~]# /etc/init.d/oracleasm createdisk SAN_DATA04p1 /dev/mapper/SAN_DATA04p1
Marking disk "SAN_DATA04p1" as an ASM disk:                [  OK  ]
[root@sdatpro01lx ~]# /etc/init.d/oracleasm createdisk SAN_DATA05p1 /dev/mapper/SAN_DATA05p1
Marking disk "SAN_DATA05p1" as an ASM disk:                [  OK  ]

Como segunda medida los listamos para verificar que el SO y oracle los pueden ver..

[root@sdatpro01lx ~]# /etc/init.d/oracleasm listdisks
SAN_DATA01P1
SAN_DATA02P1
SAN_DATA03P1
SAN_DATA04P1
SAN_DATA05P1

Seteamos las variables de ambiente de la instancia +ASM y ejecutamos el comando dbca que nos mostrara un menu grafico donde comenzaremos con nuestra creación del diskgroup +DATA.

$ dbca

El manager de dbca nos muestra tres opciones:

  • Crear una base.
  • Generar templetes de una base.
  • Configurar una instancia ASM.

Sigue leyendo

ORA-15186: ASMLIB error function

Oracle Automatic Storage Management Storage Layers

Image by Fenng(dbanotes) via Flickr

ORA-15186: ASMLIB error function = [asm_open],  error = [1],  mesg = [Operation not permitted]

Una tarde en un cliente estabamos realizando una tarea de mantenimiento de los server de bases de datos. La tarea por si misma requeria agregar un disco al diskgroup y el reinicio del server por una actualizacion del firmware de las placas. Agrego el disco y procedo a bajar todo prolijamente todo ya que era una base en RAC.

$ srvctl stop database -d PROJV
$ srvctl stop asm -n srprod01
$ srvctl stop asm -n srprod02
$ srvctl stop nodeapps -n srprod01
$ srvctl stop nodeapps -n srprod02

Cuando finaliza el rebooteo observo que las instancias no levantaron.
La primer instancia que reviso es la de ASM para ver que ocurria y revisando el alert me encuentro con el error ORA-15186.

Sigue leyendo

Oracle ASM | Add New Disk to Diskgroup

Oracle Automatic Storage Management Storage Layers

Image by Fenng(dbanotes) via Flickr

Oracle ASM – Agregar Discos a un DiskGroup existente

Como dijimos en algún momento, tener una instancia bajo ASM permite al DBA la administración del storage libre e independientemente de la intervención del  sysadmin, haciendo más dinámico el trabajo de ambos actores .

Levanta una instancia especial, que comunica a la instancia de Base de Datos con un set de disco compartidos

Una estructura de ASM se puede describir a nivel fisico y logico.

Cuando trabajamos en un ambiente con disco asignados por LUN adherir un disco al ASM tiene sus secretos. Lo primero que tenemos que tener en cuenta es si nuestra base es una SINGLE_INSTANCE o está en RAC.

En mi caso particular yo voy a trabajar con una base en RAC así que debo tener en cuenta que los pasos que voy a ilustrar a continuación deben repetirse en cada uno de los NODOS intergrantes.

Vamos a revisar si los discos (En mi caso vienen asignados por LUN) estan disponibles, haciendo un ls en el directorio /dev/mapper/  y cuales Discos son vistos por ASM, o sea discos que forman parte de un diskgroup. Para ello usamos el siguiente comando logueados como root /etc/init.d/oracleasm listdisks

Sigue leyendo

rman recovery – Recovery Enviroment with RMAN

Wireless Information System for Emergency Resp...

Image via Wikipedia

Recuperando Ambiente con RMAN

Hay momentos en los que tenemos que realizar algún tipo de recovery de ambientes productivos , o de testing sobre ambientes de desarrollo y las reglas de firewall existentes o las policy no nos permiten loguearnos de un host a otro para poder recuperar con el feature de RMAN clonate.

En nuestro caso vamos a plantear un ambientproductivo o de testing que se encuentra en ASM y con diskgroups distintos a los que tenemos en nuestros ambientes de desarrollo.

Entonces es donde recurrimos a otra forma de recovery mediante un backup hot o cold.

Sigue leyendo

Oracle ASM | Migrating datafiles from FileSystem to ASM instance

English: Oracle Table in a Tablespace

English: Oracle Table in a Tablespace (Photo credit: Wikipedia)

How To Migrating datafiles from FileSystem to ASM instance

La tecnología ASM en ORACLE nos permite a los administradores poder tener el control de los volúmenes de nuestro filesystem.

La semana pasada nos solicitaron reorganizar los filesystem de algunos hosts, en esa movida aprovechamos y propusimos migrar el entorno donde los datafiles se encontraban en filesystem (administrados por un volume group de Linux.) a un entorno ASM.

Vamos a ver de que se trata:

Sigue leyendo