Query dinamica per la creazione del comando di compilazione OGGETTI INVALIDI

.

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

Infine, se sono presenti oggetti invalidi,
eseguiremo il file di spool nome_sql.sql

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

Query per identificare gli oggetti invalidi

.

Con l’articolo Query per identificare gli oggetti INVALIDI,
possiamo individuare velocemente l’utente proprietario,
il tipo e
il nome dell’oggetto
degli oggetti invalidi.

Questo avviene attraverso la selezione dei campi:

OWNER – Proprietario dell’oggetto
OBJECT_TYPE – Tipologia di oggetto
OBJECT_NAME – Nome dell’oggetto
STATUS – Stato dell’oggetto se VALID o INVALID

Inoltre le informazioni sono recuperate dalla tabella DBA_OBJECTS
e devono tornare tutti gli oggetti diversi da VALID,
quindi tutti gli oggetti INVALIDI.

set lines 130
col owner for a20
col object_name for a40
col object_type for a25
col status for a20
select owner, object_type, object_name , status
from dba_objects 
where status != 'VALID'
order by
owner, object_type;

Query per identificare i 10 oggetti più grandi del database Oracle

.

Con l’articolo Query per identificare i 10 oggetti più grandi
del database Oracle,
possiamo individuare velocemente
gli oggetti che occupano più spazio.

I campi selezionati sono:

TABLESPACE_NAME – Nome del tablespace
OWNER – Proprietario dell’oggetto
SEGMENT_NAME – Nome del segmento
SEGMENT_TYPE – Tipo del segmento
PARTITION_NAME – Nome della partizione
BYTES – Dimesione del segmento trasformato in MB

Le informazioni sono recuperate dalle tabella
DBA_SEGMENTS
e sono filtrate per le prime 10 righe
degli oggetti più grandi.


10 oggetti più grandi:

set lines 400
col tablespace_name for a20
col partition_name for a16
col owner format a15
col segment_name format a32
col segment_type format a15
select tablespace_name, owner, segment_name, segment_type, partition_name, mb
from (
select tablespace_name, owner
, segment_name
, segment_type
, partition_name 
, bytes / 1024 / 1024 "MB"
from dba_segments
order by bytes desc)
where rownum < 10
/
Wordpress Social Share Plugin powered by Ultimatelysocial