Query compilazione OGGETTI INVALIDI

Pubblicato da Patrizia Gardis il

Query dinamica per la creazione del comando di compilazione OGGETTI INVALIDI

Con l’articolo Query compilazione OGGETTI INVALIDI, abbiamo la possibilità di individuare gli oggetti invalidi e di eseguire la compilazione.

Nel database Oracle tutte le tabelle, le partizioni, gli indici, le viste, i package, le procedure, i trigger ecc. sono identificati come oggetti.

Tutti gli oggetti del database sono visibili dalla tabella dba_objects e per identificare il tipo di oggetto è presente il campo OBJECT_TYPE.

Per diversi motivi un oggetto può passare dallo stato valido allo stato invalido.
Se una vista o un indice hanno dietro una tabella dove è cambiato il codice di creazione ossia la DDL, se i campi sono presenti nella definizione dell’indice o della vista si potrebbero invalidare.

Stessa cosa per i package, procedure, trigger o magari un db_link non funzionante all’interno della procedura potrebbe rendere l’oggetto con lo stato invalido.

Se questa situazione si verificasse, occorre eseguire la compilazione degli oggetti invalidi.

Questa operazione può essere effettuata con diversi metodi.

In questa pagina presentiamo il metodo con il codice SQL.

Se sono presenti oggetti invalidi, eseguiremo il file di spool nome_sql.sql generato dallo statement.

Query compilazione OGGETTI INVALIDI:

set echo off
set head off
set feed off
set ver off
set pages 99
spool nome_sql.sql
select decode( OBJECT_TYPE, 'PACKAGE BODY','alter package ' || OWNER||'.'||OBJECT_NAME || ' compile body;', 'SYNONYM', (decode (OWNER, 'PUBLIC', 'alter public synonym '||OBJECT_NAME||' compile;',
'alter ' || OBJECT_TYPE || ' ' || OWNER||'.'||OBJECT_NAME || ' compile;')),
'alter ' || OBJECT_TYPE || ' ' || OWNER||'.'||OBJECT_NAME || ' compile;' )
from dba_objects
where STATUS = 'INVALID'
and OBJECT_TYPE in ( 'PACKAGE BODY', 'PACKAGE', 'FUNCTION', 'PROCEDURE', 'TRIGGER',
'VIEW', 'MATERIALIZED VIEW','SYNONYM')
order by OWNER, OBJECT_TYPE, OBJECT_NAME;
spool off

Per visionare le mie guide sui Comandi CRS clicca qui!
A questo LINK, invece, troverai le query SQL

Resta aggiornato sulle nostre attività entrando a far parte della nostra community:
Facebook
Youtube
Linkedin


0 commenti

Lascia un commento

Segnaposto per l'avatar