ORA-00201: control file version 10.2.0.4.0 incompatible with ORACLE version 10.2.0.3.0

DSCN0023

Image by Gianluca d'Arcangelo ☁ via Flickr

Problemas de compatibilidad entre versiones.

Cuando restoreamos un backup generado en una version superior ( en nuestro caso 10.2.0.4 ) y lo desplegamos en un ambiente que está en la misma versión , podemos incurrir en un problema si no tenemos en cuenta que los parametros esten bien configurados.

[oracle@linuxdat128 diario]$ rman target /

Recovery Manager: Release 10.2.0.4.0 - Production on Thu Nov 18 17:58:19 2010

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

connected to target database: ABAP (not mounted)

RMAN> startup nomount

database is already started

RMAN> restore controlfile from '/ch01/tsm/prepro/20101118_ABAP_DIARIO_DBID2419644494_s15541_p1_ctl';

Starting restore at 18-NOV-10
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=168 devtype=DISK

channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:27
output filename=+SAPA_DG1/sapa/controlfile/current.432.735415149
Finished restore at 18-NOV-10

RMAN> alter database mount;

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of alter db command at 11/18/2010 17:59:55
ORA-00201: control file version 10.2.0.4.0 incompatible with ORACLE version 10.2.0.3.0
ORA-00202: control file: '+SAPA_DG1/sapa/controlfile/current.432.735415149'

RMAN> quit

(más…)

ORA-02291: integrity constraint (RMAN.RLH_F1) violated

PROBLEMAS CON RMAN : REGISTER DATABASE – UNREGISTER DATABASE

Me disponia a realizar la tarea de agregar una base de desarrollo a los backups automaticos con RMAN por una solictud de gente de ese departamento ya que hace un tiempo la tenian abandonada y estaban teniendo una fuerte actividad developer. Mi sorpresa fue mayuscula cuando me intento loguear para registrarla en el catalogo de RMAN y probrar un backup de controlfile arrojandome el error ORA-02291

[oracle@dat1010lx bin]$ rman target / catalog=rman@catrman

Recovery Manager: Release 10.2.0.4.0 - Production on Thu Nov 4 16:29:34 2010

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

connected to target database: POTDESA (DBID=3043094951)
recovery catalog database Password:
connected to recovery catalog database

RMAN> register database;

starting full resync of recovery catalog
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of register command at 11/04/2010 16:29:46
RMAN-03014: implicit resync of recovery catalog failed
RMAN-03009: failure of full resync command on default channel at 11/04/2010 16:29:46
ORA-02291: integrity constraint (RMAN.ORL_F1) violated - parent key not found

RMAN> quit

El error estaba ocurriendo por que los chicos del team habian registrado la base para automatizar la tarea, y mientras se resincornizaba
(más…)

Command srvctl without SUDO – CRS-0254: authorization failure

Siguiendo desde un poco con el tema de seguridad a nivel usuarios de OS, por politica tambien puede ocurrir que no podamos hacer sudo a comandos de administración impersonandonos en el usuario oracle.

Cuando trabajamos en RAC la cosa se pone un poco mas dificil, ya que debemos utilizar comandos de cluster que suben y bajan instancias , entre otras tareas.

Vamos a trabajar en nuestro ejemplo con el comando srvctl que es el más familiar, por lo que venimos posteando y por que es el mismo concepto para el resto de los comandos que precisamos.

Si quisieramos ejecutar comandos de oracle con nuestro usuario ( en este ejemplo useros ) deberiamos:

  • Verificar que estemos en el grupo oinstall para ejecucion de algunos comandos que no impliquen logueranos a la base.
  • Verificar que estemos en el grupo dba en el caso que nuestro usuario se pueda loguear a la base con privilegios dba.
  • Verificar que tengamos algun script que exporte las variables de entorno , para poder ejecutar estos comandos.

Ahora que verificamos estos pasos, estamos en condiciones de hacer :

sqlplus /
lsnrctl
dgmgrl
dbca
netca
emca
emctl
rman /
srvctl

Y todos los comandos que se encuentran en el $ORACLE_HOME/bin

Ahora bien, como dijimos antes algunas cosas se ponen dificiles por que cuando voy a ejecutar el comando srvctl sufro el error:

 CRS-0254:  authorization failure.

Como ? no habiamos chequeado los permisos y grupos ? (más…)