ASM | ORA-00020: maximum number of processes (n) exceeded

Backup screenshot

Image via Wikipedia

Cuando trabajamos en un ambiente donde tenemos multiples Bases de Datos que se conectan al storage por medio de ASM, puede ocurrir que el Párametro PROCESS se encuentre desbordado.

Muchas veces cuando finalizan la implementación , los instaladores no toman en cuenta cuantas instancias de Bases de Datos serán ( aproximadamente ) instaladas.  Generalmente dejan los valores default que le asigna al párametro el valor 40. Con estos valores de incio generalmente podemos trabajar con una instancia o dos , pero al momento de abrir procesos desde la instacia hacia la instancia ASM, puede que tengamos problemas como ocurrio en el caso que presentamos :

Problema:

Cuando voy a recuperar una base de datos , que ya comparte el storage con otras instancias más en el mismo servidor, arroja el siguiente error:

ORA-00020: maximum number of processes () exceeded

Vemos el ejemplo en directo: 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

Bug 7208364: ORA-4031 (“SHARED POOL” % )”,”ASM extent pointer array”) On Stanby DataBase

Hace un tiempo que estoy siguiendo algunos errores con el dataguard que tengo en cluster, con la version 10gR2 10.2.1.0.4, y ellos ocurren en horarios aleatorios en el site donde tengo la contingencia.

Los sintomas son los siguientes:

  • Caida de la instancia dataguard que esta aplicando en maxima disponibilidad, con el error “shared pool”,”unknown object”,”sga heap(1,1)”,”ASM extent pointer array”.
  • El Dataguard broker levanta las instancias , pero no aplica más.

Sigue leyendo

ASM – Administering ASM Disk Groups

Hoy vamos a trabajar un poco con las instancias de ASM y la manera en que podemos desenvolvernos con la linea de comandos.
Vamos a comenzar cargando las variables de ambiente.

$ cat asm.sh
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_asm
export ORACLE_SID=+ASM
export PATH=$PATH:$ORACLE_HOME/bin
export EDITOR=vi

$. ./asm.sh

Comenzamos por loguearnos a la terminal de administracion de ASM usamos el comando asmcmd.

$ asmcmd
ASMCMD>

Sigue leyendo

ORA-15077: could not locate ASM instance serving a required diskgroup

Cuando agregamos diskgroups en el ASM, debemos revisar que se haya registrado correctamente en el spfile de ASM,
ya que este archivo es leido por la instancia al inicio y monta todos los discos que se encuentran alli especificados.

Es asi, que al levantar las instancias de BAse de Datos que tengamos disponibles, cada cual con su diskgroup asignado correctamente,
alguna Base no levante si no puede montar los discos previamente.

Veamos que sucede con este ejemplo , donde tengo dos nodos de RAC, y Dos Bases.

En el primer nodo la instancia de Base primer base levanto sin problemas, mientras que la segunda base , solo pudo levanta la instancia del primer nodo.

[oracle@saturno02 bin]$ srvctl start database -d DARPRO
PRKP-1001 : Error starting instance DARPRO1 on node saturno01
CRS-0215: Could not start resource 'ora.DARPRO.DARPRO1.inst'.

Sigue leyendo

Resolving Archive Gap – Detection and Resolution

Oracle Data Guard

Image by Fenng(dbanotes) via Flickr

DATAGUARD NOT APPLIED

Cuando trabajamos con un sitio de contingencia, tenemos que estar atentos a que en el site donde radica la base stanby se esten aplicando los logs.

Para ello podemos tener algunas herramientas desde el grid control cuando tenemos el broker configurado, donde podemos monitorear varias cosas como si hay logs encolados o si hay gaps. Tambien si nos esta faltando un archive.

Sigue leyendo

ASM – ORA-15055 failure to process file ab_ASM1.dat

Corrupción de archivo ab_ASM1.dat

Hoy vamos por un nuevo post y que el escenario ocurre cuando trabajamos con instancias en RAC y administramos el storage de oracle bajo el modelo ASM.

Una tarde despúes de ocurrido un backup cold que se había tomado , la instancia del segundo nodo no levanto más.

Ok. Siempre guardo log’s de las operaciones y cuando reviso el evento me encuentro con esto:

RMAN> RMAN> 2> 3> + srvctl start database -d DACO
PRKP-1001 : Error starting instance DACO2 on node sdat2103lx
CRS-0215: Could not start resource 'ora.DACO.DACO2.inst'.
+ srvctl start service -d DACO
+ RC=0
+ [[ 0 -ne 0 ]]
+ exit 0

Sigue leyendo