Oracle Patch | Database Patch Apply 9352164 on RAC

10.2.0.4.4 Patch Set Update on RAC

Applying the 10.2.0.4.1 Patch Set Update (PSU)

Ante todo los saludos desde Argentina a todos mis compatriotas IberoAmericanos & Anglos.

Oracle Database Disk Structures

Oracle Database Disk Structures (Photo credit: Wikipedia)

Gracias a todos por lograr llegar a las 60.000 visitas este trimestre en curso.

Tambien a la Comunidad Oracle Hispana de la cual estoy orgulloso de ser miembro y donde he cosechado buenos amigos.

Estuve bastante ocupado con migraciones de versiones, instalaciones de cluster, aplicaciones de parches, etc y con ello anduve corto de tiempo.
Pero entre todos los articulos con material que tengo para escribir y publicar me decidi comenzar con este.
EL motivo del articulo es dar a conocer como implemente un PSU en un RAC con su Standby correspondiente tambien montada sobre un RAC.

En el proximo articulo estare explicando los motivos de la implementacion del mismo, ya que fue un caso muy particular.

Debio ser instalado como consecuencia de la aparicion de bugs, despues de haber aplicado el parche 7442260.

Espero que les sea de utilidad.

Problema:
========

Cuando instalamos el patch 7442260, nuestra rdbms comenzo arrojar varios errores ORA-07445 y provoco en varias oportunidades hangs en el cluster.

ORA-07445: exception encountered: core dump [ksuklms()+527] [SIGSEGV]" 
appears in all nodes in production after that we applied the patch 7442260

Luego de investigacion y trabajo en conjunto , desde Oracle Support nos recomendaron realizar la instalacion del 9352164: DATABASE PSU 10.2.0.4.4 (INCLUDES CPUAPR2010)

Y de ahi es donde surge este articulo que cumple como objetivo escencial instalar un PSU de oracle en un ambiente interesante.

Grid Infraestructure (clusterware 11.2.0.2) Oracle Database 10.2.0.4 Dataguard Activo. 

Vamos entonces a lo tecnico. (más…)

Grid and Agents – ORA-20600: The specified target is in the process of being deleted.

PROBLEMAS AL AGREGAR UNA INSTANCIA YA ELIMINADA.

(ORA-20600: The specified target is in the process of being deleted.)

Algunas de las cosas que sigo sin comprender es por que tengo que recurrir a opciones manuales cuando GRID CONTROL de oracle tiene tantas cosas automatizadas.

Una de ellas se refiere a cuando elimino un target , ya sea SINGLE o RAC, o cualquier dato como host. etc.

Cuando elimino desde GRID CONTROL o desde la ejecucion de un package, intento agregarla nuevamente y comienzan los problemas.

El error que presento en primer lugar es que me arroja GC.

TASPRO.somedomain.com:
- Connection failure may be due to a slow network, or to the presence of an intervening firewall.
Saving TASPRO.somedomain.com_TASPRO2 ...java.sql.SQLException: ORA-20600: The specified target is in the process of being deleted.(target name = TASPRO.somedomain.com)(target type = rac_database)(target guid = 5B7EF67A10D95539FD55842B846872AD)
ORA-06512: at "SYSMAN.TARGETS_INSERT_TRIGGER", line 36 ORA-04088: error during execution of trigger 'SYSMAN.TARGETS_INSERT_TRIGGER'
ORA-06512: at "SYSMAN.EM_TARGET", line 1936 ORA-06512: at "SYSMAN.MGMT_TARGET", line 2702 ORA-06512: at line 1 - ORA-20600: The specified target is in the process of being deleted.(target name = TASPRO.somedomain.com)(target type = rac_database)(target guid = 5B7EF67A10D95539FD55842B846872AD)
ORA-06512: at "SYSMAN.TARGETS_INSERT_TRIGGER", line 36 ORA-04088: error during execution of trigger 'SYSMAN.TARGETS_INSERT_TRIGGER' ORA-06512: at "SYSMAN.EM_TARGET", line 1936 ORA-06512: at "SYSMAN.MGMT_TARGET", line 2702 ORA-06512: at line 1

Bien , voy a quitarlo de la forma manual , por la linea de comando del SQLPLUS, y comienza mi sorpresa !
No se encuentra !! (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…)

RMAN – Command LIST and examples

Wireless Information System for Emergency Resp...

Image via Wikipedia

Cuando tenemos un catalogo o realizamos solo copias locales, hay un comando de RMAN que nos permite listar Backup sets (Copias de Seguridad) , Imagenes y otras copias como spfile, archivelogs o control file.

El comando LIST nos ayuda también a poder ver con que contamos en nuestro catalogo, y de esa manera ver que cosas son obsoletas y poder aplicar o un DELETE, para hacer una depuración que no esta implicada en la deletion policy.

También lo podemos aplicar  para trabajar en conjunto con el  comando CROSSCHECK que compara lo existente en el CATALOG con lo existente fisico en DISCO o TAPE.

Otras utildades en las que podemos emplearlo:

  • Conocer cuales son las copias de seguridad que tenemos o no disponibles, en el caso de querer realizar un restore a futuro , o en lo immediato ante la perdida de por ejemplo, un DATFILE.
  • Tener un registro a modo de inventario como DATAFILE, BACKUP SET, CONTROLFILE, SPFILE.
  • Copias de SEGURIDAD diarias , distinguidas por la manera en que las etiquetamos, Ej. BACKUP_HOT_DIARIO_%d_%h , BKP_DIARIO_DATAFILE_%d_%h
  • Scripts almacenados en el catalogo.
  • Incarnations de alguna base especifica.

(más…)