Actualizar bases de datos antiguas antes de Junio de 2019

Hoy vamos a ver una entrada de la que no me puedo atribuir ningun merito, ya que , practiccamente es una traduccion + recopilacion de las URL’s en ingles que os adjunto al final como documentacion adicional.

Tal y como indica Mike Dietrich DEBEMOS parchear las bases de datos que tengamos en version 12.1.0.1, 11.2.0.3 y anteriores antes del 23 de Junio de 2019 .

¿Por que ?

En la nota de oracle MOS Note: 2335265.1 nos explican que, estas versiones de bases de datos están afectadas por un especie de Efecto 2000 en la manera en la que la base de datos calcula el SCN.
Un problema que incrementa la criticada del parcheado es que, este bug afecta a los DBlinks , por lo que no solamente puede causar problemas en nuestras bases de de datos afectadas, sino que, si esta esta conectada a una nueva aunque no este afectada provocara que nuestra obtención de datos falle.

Como indicaba al principio, podemos encontrar este caso muy bien explicado en el blog de Job Oprel, pero, en cualquier caso , es muy conveniente el llevar a cabo la comprobación de hasta que punto estamos afectados en todas las bases de datos que tengamos dentro de las versiones mencionadas.

La consulta a ejecutar es

set pagesize 200;
set linesize 200;
column  OWNER format a30;
column  USERNAME format a30;
column DB_LINK format a20;
col HOST format a40;
col created format a20;

select * from DBA_DB_LINKS;

SELECT NAME,  
   (current_scn/281474976710656)*100 as PCT_OF_SCN_KEYSPACE_USED,  
   ROUND(SYSDATE-CREATED) as DAYS_SINCE_DB_CREATION, 
   ROUND(1/(current_scn/281474976710656)*(SYSDATE-CREATED)) 
        AS EST_DAYS_BEFORE_SCN_EXHAUSTED, 
   ROUND(1/(current_scn/281474976710656)*(SYSDATE-CREATED)/365) 
        AS EST_YEARS_BEFORE_SCN_EXHAUSTED  
FROM v$database;

La fuente de esta informacion donde se pude ver el analisis completo es

CRS-6706: Oracle Clusterware Release patch level (‘xx’) does not match Software patch level (‘0’). Oracle Clusterware cannot be started.

Hoy vamos a ver la resolución de un problema que puede darnos al aplicar un PSU sobre el grid infraestructure de un alone server. Tras aplicar correctamente un PSU sobre el Grid y una Base de datos al intentar arrancar de nuevo el clusterware recibimos el siguiente error

CRS-6706: Oracle Clusterware Release patch level (‘nnn’) does not match Software patch level (‘mmm’) (Doc ID 1639285.1)

bash-4.2# /etc/ohasd start
Starting ohasd:
CRS-6706: Oracle Clusterware Release patch level ('1591286773') does not match Software patch level ('0'). Oracle Clusterware cannot be started.
CRS-4000: Command Start failed, or completed with errors.

La primera impresión es la de extrañeza, puesto que la aplicación de este mismo parche siguiendo el mismo proceso había sido satisfactoria en varios servidores.
Tras revisar los logs del Opatch y no encontrar ningún indicio de error, rebuscamos en soporte e y los grupos de ayuda en busca de alguna opción antes de tener que hacer marcha atrás en la aplicación del parche , y, «afortunadamente», encontramos una nota que indica que, este tipo de error puede ser normal en servidores alone en los que no se lleva a cabo el paso ‘rootcrs.pl -postpatch’

Así pues, la solución es tan sencilla como ejecuta los siguientes comandos como root comandos

$GRID_HOME/crs/install/roothas.sh -unlock
$GRID_HOME/crs/install/roothas.sh -patch
bash-4.2# ./crs/install/roothas.sh -unlock
Using configuration parameter file: /opt/app/oracle/product/12.1.0/grid/crs/install/crsconfig_params
2017/08/07 16:16:13 CLSRSC-347: Successfully unlock /opt/app/oracle/product/12.1.0/grid

bash-4.2# .//crs/install/roothas.sh -patch
Using configuration parameter file: /opt/app/oracle/product/12.1.0/grid/crs/install/crsconfig_params

Esto solventa el problema y levanta automáticamente el ohas tras lo que, esperando un ratillo ( ya sabemos que el ohas no es lo mas rápido del mundo) tendremos nuesrta infraestructura levantada correctamente

bash-4.2# crsctl stat res -t
-----------------------------------------------------------
Name           Target  State      erver  State details
-----------------------------------------------------------
Local Resources
-----------------------------------------------------------
ora.DATA.dg
               ONLINE  ONLINE       test    STABLE
ora.LISTENER.lsnr
               ONLINE  ONLINE       test    STABLE
ora.REDO.dg
               ONLINE  ONLINE       test     STABLE
ora.asm
               ONLINE  ONLINE       test    Started,STABLE
ora.ons
               OFFLINE OFFLINE      test    STABLE
-----------------------------------------------------------
Cluster Resources
-----------------------------------------------------------
ora.cssd
      1        ONLINE  ONLINE       test     STABLE
ora.diskmon
      1        OFFLINE OFFLINE               STABLE
ora.evmd
      1        ONLINE  ONLINE       test     STABLE
ora.bbddtest.db
      1        ONLINE  ONLINE       test     Open,STABLE
-----------------------------------------------------------
bash-4.2#

Mas información como siempre en soporte de Oracle en las notas

  • CRS-1153: There was an error setting Oracle Clusterware to rolling patch mode. (Doc ID 1943498.1)
  • CRS-6706: Oracle Clusterware Release patch level (‘nnn’) does not match Software patch level (‘mmm’) (Doc ID 1639285.1)