Hola a todos,
tengo un menudo problema.
he ejecutardo SHRINK para recuperar espacio sin antes des habilitar los triggers que se utilizan. ahora cada vez que se van a ejecutar me presenta ERROR 06512. me recomendaron re compilar los objetos lo hice pero aun no funcionan. alguien me podría colaborar?
Etiquetas:
Vínculo permanente Respuesta de Erik Olave el octubre 10, 2012 a las 5:28pm Hola Yeison,
Si tienes un full backup de tu BD ó simplemente un backup del schema propietario de este objeto, puedes restaurarlo.
Si tienes el scripts de creación del trigger respaldado ó el trigger existe en alguna otra BD homologa, simplemente corre el scrits de creación y listo.
Por otra parte, si estas recompilando con $ORACLE_HOME/rdbms/admin/utlrp, quizas te lo compila pero no te da mucho detalles del error, entonces te dejo este query que te genera el Alter que a su vez tienes que ejecutar para compilar.
select decode(object_type,'SYNONYM','DESC ','alter ')
||decode (object_type, 'PACKAGE BODY', 'PACKAGE','SYNONYM','', OBJECT_TYPE)||' '||owner||'.'||OBJECT_NAME||' '
||decode(object_type, 'PACKAGE BODY','COMPILE BODY','SYNONYM','', 'COMPILE')||';'
FROM ALL_OBJECTS WHERE status ='INVALID'
and object_type NOT LIKE 'PACKAGE' and owner ='PROPIETARIO DEL TRIGGER'
ORDER BY OWNER, OBJECT_TYPE, OBJECT_NAME;
Nota: te recomiendo ejecutarlo en TOAD, SQL DEVELOPER o alguna otra herramienta grafica para que te retorne el código de error y el mensaje asociado.
Saludos.
Vínculo permanente Respuesta de Yeison Valencia el octubre 11, 2012 a las 5:15pm Hola Erik,
Primero muchas gracias por tu colaboración. ya he resuelto el problema, se debía a unos trigger que no se encontraban habilitados en el entorno de producción y al parecer alguien los habilito. ahora estoy indagando que usuario tiene privilegios para habilitar estos trigger.
nuevamente muchas gracias!
Erik Olave dice:
Hola Yeison,
Si tienes un full backup de tu BD ó simplemente un backup del schema propietario de este objeto, puedes restaurarlo.
Si tienes el scripts de creación del trigger respaldado ó el trigger existe en alguna otra BD homologa, simplemente corre el scrits de creación y listo.
Por otra parte, si estas recompilando con $ORACLE_HOME/rdbms/admin/utlrp, quizas te lo compila pero no te da mucho detalles del error, entonces te dejo este query que te genera el Alter que a su vez tienes que ejecutar para compilar.
select decode(object_type,'SYNONYM','DESC ','alter ')
||decode (object_type, 'PACKAGE BODY', 'PACKAGE','SYNONYM','', OBJECT_TYPE)||' '||owner||'.'||OBJECT_NAME||' '
||decode(object_type, 'PACKAGE BODY','COMPILE BODY','SYNONYM','', 'COMPILE')||';'
FROM ALL_OBJECTS WHERE status ='INVALID'
and object_type NOT LIKE 'PACKAGE' and owner ='PROPIETARIO DEL TRIGGER'
ORDER BY OWNER, OBJECT_TYPE, OBJECT_NAME;Nota: te recomiendo ejecutarlo en TOAD, SQL DEVELOPER o alguna otra herramienta grafica para que te retorne el código de error y el mensaje asociado.
Saludos.
Bienvenido a
Comunidad Oracle Hispana
© 2013 Creado por Fernando Garcia.