Objetos inválidos en Oracle

Una base de datos con un tamaño importante acaba lleno de objetos inválidos.

Son sinónimos huérfanos, procedimientos que no llegaron a compilarse, etc. etc.

Para sacar una lista de objetos inválidos podemos hacer:

select OWNER,OBJECT_NAME,OBJECT_TYPE,STATUS from dba_objects
where OWNER not in (‘SYS’,’SYSTEM’) and status = ‘INVALID’
order by OWNER,OBJECT_TYPE,OBJECT_NAME;

Podemos intentar la compilación, a ver que tal va:

Esta select prepara una sentencia por cada objeto inválido:

select ‘alter ‘||object_type||’ ‘||owner||’.’||object_name||’ compile;’
from dba_objects where status = ‘INVALID’
order by owner, object_name;

Saludos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *