kcrr.c Error 1031 received logging on to the standby | Oracle standby

PING[ARC1] heartbeat failed to connect to standby . error is 1031

Water supply in Buenos Aires was provided by a...
Water supply in Buenos Aires was provided by a private company from 1993 to 2006. (Photo credit: Wikipedia)

En la semana anduve Auditando un Dataguard en una Empresa de Servicios en Buenos Aires y el motivo de mi visita era ayudar al DBA local con un problema que habia surgido a partir de la reinstalacion de su SECONDARY SITE.

El error se basaba en que el proceso ARCHIVER de la base primaria estaba fallando .

Revisando el alert de la base me econtre con el siguiente error:

Errors in file /u01/app/oracle/admin/ORCL/bdump/orcl1_arc1_8881.trc:
ORA-01031: insufficient privileges
PING[ARC1]: Heartbeat failed to connect to standby 'ORCLDG'. Error is 1031.

Como tenia seguridad de que estaba ocurriendo, me diriji al trace que despliega el proceso ARC  y lo edite para mostrar al DBA que ocurria:

*** 2012-05-16 13:27:50.745 60680 kcrr.c
Error 1031 received logging on to the standby
Error 1031 connecting to destination LOG_ARCHIVE_DEST_2 standby host 'ORCLDG'
Error 1031 attaching to destination LOG_ARCHIVE_DEST_2 standby host 'ORCLDG'
ORA-01031: insufficient privileges
*** 2012-05-16 13:27:50.748 60680 kcrr.c
LGWR: Error 1031 creating archivelog file 'ORCLDG'
*** 2012-05-16 13:27:50.749 58942 kcrr.c
kcrrfail: dest:2 err:1031 force:0 blast:1
*** 2012-05-16 13:27:51.696 70891 kcrr.c
Sending online log thread 1 seq 143 [logfile 1] to standby
Opening logfile [logno 1]
LGWR: Archivelog for thread 1 sequence 143 will NOT be compressed
*** 2012-05-16 13:27:51.940 71016 kcrr.c
Shutting down [due to no more ASYNC destination]
LNS1: Doing a channel reset for next time around...

El problema se encontraba aqui: ORA-01031: insufficient privileges.

Entonces reviso en el SECONDARY SITE y descubro que no se encontraban los pwfile correspondientes.

Como era un Cluster de tres Nodos, habian copiado los pwfile con el mismo nombre de instancia en cada uno de los nodos secundarios y en otro caso no se encontraban.

Es asi que me dispuse a recrearlos con sus nombre correspondientes.

Podemos ver en este tutorial del blog como hacerlo para ambientes unix o windows.

Pero si no esta con tiempo les dejo aqui el modo

Ambientes tipo Unix:

$ orapwd file=$ORACLE_HOME/dbs/orapw $ORACLE_SID password=<pasword_from_primary>

Ambientes tipo Windows :

orapwd file=orapwd file=%ORACLE_HOME%\database\orapw%ORACLE_SID% 

Despues de ello paso los archivos al SECONDARY SITE con sus respectivos nodos.

Les dejo un ejemplo (Recuerden que esto es un ejemplo de RAC, pero en el caso de single intance lo vemos mas abajo) :

Creo el password file en el $ORACLE_HOME/dbs  del primer nodo del PRIMARY SITE & luego lo copio en el $ORACLE_HOME/dbs

scp orapwORCL1 oracle@server2:/ORACLE_HOME/dbsorapwORCL2 
scp orapwORCL1 oracle@server3:/ORACLE_HOME/dbsorapwORCL3 
scp orapwORCL1 oracle@serverco1:/ORACLE_HOME/dbsorapwORCLDG1 
scp orapwORCL1 oracle@serverco2:/ORACLE_HOME/dbsorapwORCLDG2 
scp orapwORCL1 oracle@serverco3:/ORACLE_HOME/dbsorapwORCLDG3

Primary Site

ORCL1 = orapwORCL1 
ORCL2 = orapwORCL2 
ORCL3 = orapwORCL3 

Secondary Site

ORCLDG1 = orapwORCLDG1 
ORCLDG2 = orapwORCLDG2 
ORCLDG3 = orapwORCLDG3 

Nos estamos Viendo !

2 thoughts on “kcrr.c Error 1031 received logging on to the standby | Oracle standby

  1. A veces ver lo evidente es lo más difícil. Muchas gracias por la aclaración.
    Un saludo, Lorenzo H.

    Like

Comments are closed.