Materialized View

Le viste materializzate sono oggetti oracle che come le viste contengono dati di una o più tabelle.
A differenza di una semplice vista non è un oggetto logico ed occupa spazio nello storage.
Sono solitamente utilizzate in ambienti data-warehouse.


DDL si ottiene da 

select dbms_metadata.get_ddl('MATERIALIZED_VIEW', '<nome vista>',  '<schema>') from dual ;

Attenzione se si deve ricreare una MV estrarre prima anche le grant relative alla MV così eventualemente da rieseguirle.

 select 
 case GRANTABLE
 when 'NO' then
 'GRANT '|| priv.privilege || ' ON ' || owner || '.' || priv.table_name ||' TO ' || priv.grantee ||';'
 when 'YES' then 
  'GRANT '|| priv.privilege || ' ON ' || owner || '.' || priv.table_name ||' TO ' || priv.grantee || ' WITH GRANT OPTION;'
end 
from dba_tab_privs priv 
where table_name= '<nome vista>'
and owner= '<schema>';

Post popolari in questo blog

ORA-12154: TNS: il listener non è attualmente a conoscenza del servizio richiesto nel descrittore di connessione

Create e Drop Pluggable Database