Recompilar vistas
Buenos dias,
Necesito saber como recompilar las vistas.
Muchas gracias.
Necesito saber como recompilar las vistas.
Muchas gracias.
Ejecutando el 'create or replace..' de nuevo. A que le llamas recompilar vistas?
Si te he entendido bien, las vistas se recompilan igual que cualquier paquete, función, procedure.......
SQL > ALTER VIEW NOMBRE_DE_LA_VISTA COMPILE;
VIEW ALTERED
SQL>
SQL > ALTER VIEW NOMBRE_DE_LA_VISTA COMPILE;
VIEW ALTERED
SQL>
te refieres a vistas normales o materializadas?
si son materializadas seria:
dbms_snapshot.refresh('nombre de la vista');
si son materializadas seria:
dbms_snapshot.refresh('nombre de la vista');
Os explico mejor el caso para veais lo que quiero hacer.
He restaurado una exportacion de un servidor oracle a otro, y al teminar me ha creado las vistas pero como invalidad. A traves del Database control, en administracion , vistas, puedo seleccionarlas y compilar.
Seria esto mismo pero a traves del sqlplus.
Gracias.
He restaurado una exportacion de un servidor oracle a otro, y al teminar me ha creado las vistas pero como invalidad. A traves del Database control, en administracion , vistas, puedo seleccionarlas y compilar.
Seria esto mismo pero a traves del sqlplus.
Gracias.
Mira a ver si te sirve esto.
Lanzalo en el plus y lo que te devuelva copy-paste
select 'alter '||decode (object_type, 'PACKAGE BODY', 'PACKAGE', OBJECT_TYPE)
||' '||owner||'.'||OBJECT_NAME||' '||decode(object_type, 'PACKAGE BODY','COMPILE BODY', 'COMPILE')
FROM ALL_OBJECTS WHERE
status ='INVALID'
ORDER BY OWNER, OBJECT_TYPE, OBJECT_NAME;
Lanzalo en el plus y lo que te devuelva copy-paste
select 'alter '||decode (object_type, 'PACKAGE BODY', 'PACKAGE', OBJECT_TYPE)
||' '||owner||'.'||OBJECT_NAME||' '||decode(object_type, 'PACKAGE BODY','COMPILE BODY', 'COMPILE')
FROM ALL_OBJECTS WHERE
status ='INVALID'
ORDER BY OWNER, OBJECT_TYPE, OBJECT_NAME;