bonjour
Ma vue matérialisée sous BDD Oracle 9 ne compile plus depuis qu'elle a été rafraîchie car elle récupère des données provenant une BDD Oracle11.
(bug Oracle: erreur ORA-04052: error occurred when looking up remote object.)
La solution retenue dans mon cas est de transformer la vue matérialisée en une table Oracle (en conservant son nom) et de rafraîchir les données 1 fois par jour.
Cette table Oracle serait alimentée, via une procedure PL/SQL, grâce à une vue qui ira récupérer les données dans BDD Oracle 11 via des synonymes sur les tables.
Je souhaiterais faire un backup des données avant de créer ma table (pour les vues matérialisées non encore rafraîchies), afin de pouvoir la restaurer telle quelle, en cas d'erreur.
Comment procéder, sachant que ma nouvelle table doit avoir exactement le même nom que la vue materialisée pour des raisons de maintenance du code ?
- Si je renomme la vue matérialisée : ALTER MATERIALIZED VIEW mv1 RENAME TO mv2;
sous SQL Developer, la table mv2 apparaît dans la liste des tables mais je ne vois pas la vue matérialisée mv2.
la vue matérialisée mv1 est toujours présente dans la liste des vues matérialisées mais semble vide.
ai-je des choses complémentaires à faire ? rajouter des droits pour pouvoir la voir? Est ce le rename fait une duplication de la vue matérialisée?
- Ou bien est ce qu'il faut supprimer la vue matérialisée mv1 et faire une copie de la table associée à mv1 ?
Merci d'avance pour votre aide,
Partager