En una base de datos, 10gR2 10.2.0.4, cuando se hace un "shutdown" de la instancia, se registra en el alert, la siguiente información:
ORA-00604: error occurred at recursive SQL level 1
ORA-12663: Services required by client not available on the server
ORA-36961: Oracle OLAP is not available.
ORA-06512: at "SYS.OLAPIHISTORYRETENTION", line 1
ORA-06512: at line 15
Revisando información sobre este bug, me encontré que el mismo se genera cuando una instancia ha sido creada desde el DBCA ( Asistente de Configuración de Base de Datos ) y la versión del motor de la base de datos es "STANDARD".
Como algunos sabrán, la opción OLAP, sólo existe en la versión Enterprise, por tanto, el arreglo, no va por el lado de intentar recrear o instalar la opción OLAP.
En un sitio, me encontré la siguiente posible solucción, la cuál implementa la modificación del trigger que se dispara cuando bajamos la base de datos, desabilitando primero y luego volviendo a habilitar.
ORA-00604: error occurred at recursive SQL level 1
ORA-12663: Services required by client not available on the server
ORA-36961: Oracle OLAP is not available.
ORA-06512: at "SYS.OLAPIHISTORYRETENTION", line 1
ORA-06512: at line 15
Revisando información sobre este bug, me encontré que el mismo se genera cuando una instancia ha sido creada desde el DBCA ( Asistente de Configuración de Base de Datos ) y la versión del motor de la base de datos es "STANDARD".
Como algunos sabrán, la opción OLAP, sólo existe en la versión Enterprise, por tanto, el arreglo, no va por el lado de intentar recrear o instalar la opción OLAP.
En un sitio, me encontré la siguiente posible solucción, la cuál implementa la modificación del trigger que se dispara cuando bajamos la base de datos, desabilitando primero y luego volviendo a habilitar.
CREATE or replace TRIGGER flush_shared_pool
BEFORE SHUTDOWN ON DATABASE
BEGIN
execute immediate 'alter TRIGGER SYS.OLAPISTARTUPTRIGGER DISABLE';
execute immediate 'ALTER TRIGGER SYS.OLAPISHUTDOWNTRIGGER DISABLE';
execute immediate 'ALTER SYSTEM FLUSH SHARED_POOL';
execute immediate 'alter TRIGGER SYS.OLAPISTARTUPTRIGGER ENABLE';
execute immediate 'ALTER TRIGGER SYS.OLAPISHUTDOWNTRIGGER ENABLE';
EXCEPTION
WHEN OTHERS THEN
RAISE_APPLICATION_ERROR (num => -20000, msg => 'Error flushing pool');
END;
Lo anterior debería reparar el problema.
Hola Ronald,
ResponderEliminarLa resolución de este bug está documentado en el Note 266728.1 ORA-6512 AT SYS.OLAPIHISTORYRETENTION on Standard Edition, la solución está en deshabilitar un par de triggers, algo similar a lo que encontraste pero no es necesario transformarlo en un trigger, solo basta hacer esto y por una única vez:
ALTER TRIGGER SYS.OLAPISTARTUPTRIGGER DISABLE;
ALTER TRIGGER SYS.OLAPISHUTDOWNTRIGGER DISABLE;
Saludos.
Muchas gracias Enrique por tu aportación. Yo aplique lo dicho en la nota que haces referencia, pero no obtuve resultados. Con el proceso anterior si se reparó el problema.
ResponderEliminarosea que deshabilitandolo ... muchisimas gracias.. ese problema se me ha estado presentando en algunas bases de datos.
ResponderEliminaren buena hora!!
Con mucho gusto, amigo.
ResponderEliminar