Oracle 10 y el parchecito..

Hace unas semanas pusimos un parche en los servers Oracle 10 productivos, seguimos la secuencia (retorcida) que indicaba el instructivo, lo verificamos todo y andaba todo bien... O eso parecía.

Resulta que al hacer un export de todo, fallaba y daba un error en un paquete.

La solución es sencilla, ejecutar este script para detectar objetos que requieren ser compilados, y repetirla hasta que no haya mas objetos...

Pero, me pregunto, porqué el proceso de instalación del parche no hace esto mismo al acabar? si hay objetos inválidos, los tenemos que compilar, no hay mas ciencia.

Preguntas sin respuesta...


set head off
set pagesize 0
set echo off
set verify off
set feedback off
set termout off

spool recompilar.sql

select 'alter '||
decode(object_type, 'PACKAGE BODY', 'PACKAGE',
object_type) || ' ' ||
owner||'.'||
object_name||' compile' ||
decode(object_type, 'PACKAGE BODY', ' BODY') || ';'
from dba_objects
where status = 'INVALID'
and object_type in ( 'PACKAGE',
'PACKAGE BODY',
'PROCEDURE',
'VIEW',
'TRIGGER' )
/

spool off
set feedback on
set echo on
set termout on
@recompilar.sql
spool off

Comentarios

Entradas populares de este blog

Como ganar al apalabrados, trucos, trampas... y algo mas.

Una semana en la vida de un DBA (aún vivo)...