IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Oracle Discussion :

Vues matéralisées sur différents schémas


Sujet :

SQL Oracle

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Vues matéralisées sur différents schémas
    Bonjour,

    Version d'Oracle : 10.2.0.4.0 ou 11.2.0.1.0

    J'ai 3 schémas : DVLP0000, DVLP0001 et DVLP0002
    J'ai une table T dans DVLP0001 et DVLP0002.

    Question 1 : comment créer une vue matérialisée appartenant à DVLP0000 et attaquant les tables T (de DVLP0001 et DVLP0002 donc).
    Ce que j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    create materialized view log on DVLP0001.T
    create materialized view log on DVLP0002.T
     
    grant select on DVLP0001.T to DVLP0000
    grant select on DVLP0002.T to DVLP0000
    grant select on DVLP0001.MLOG$_T to DVL0000
    grant select on DVLP0002.MLOG$_T to DVL0000
     
    create materialized view DVLP0000.MV_T refresh fast on commit
    as select * from DVLP0001.T
    union 
    select * from DVLP0002.T
    => j'obtiens l'erreur ORA-12054 : impossible de définir l'attribut de régénération ON COMMIT pour la vue matérialisée

    => pourquoi ? Une idée ?


    Question 2 : j'ai 2 vues matérialisées de type "on resfresh fast on commit"
    => ok, elles fonctionnent bien.
    Maintenant dans un autre schéma, je veux une vue matérialisée qui se mette à jour lors de la mise à jour de l'une de ces 2 vues.
    => mon pb : impossible de mettre "on refresh fast on commit" sur cette 3ième vue matérialisée (qui fait un union genre select * from DVLP0001.MV1 union select * from DVLP0002.MV1)
    => Comment faire ?


    Merci d'avance.

  2. #2
    Membre confirmé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Points : 558
    Points
    558
    Par défaut
    Bonsoir,
    La clause ON COMMIT par définition ne nécessite pas de commande REFRESH c’est la mise à jour COMMITée de la table maître qui déclenche automatiquement le REFERESH.

    Si tu tiens à utiliser un REFRESH Fast il faut tracer les mises a jour faites sur la table maitre dans des fichiers LOG

    Par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    CREATE  materialized view log on DVLP0001.T;
     
    CREATE materialized VIEW DVLP0000.MV_T refresh fast ON demand
    AS SELECT * FROM DVLP0001.T
    union 
    SELECT * FROM DVLP0002.T
    La patience est un arbre aux racines amères, mais aux fruits ci-doux.

Discussions similaires

  1. Vue sur deux schémas différents
    Par arezki76 dans le forum Oracle
    Réponses: 3
    Dernier message: 20/01/2011, 17h06
  2. Rôle des users et restrictions sur les différents schémas
    Par WildInTheWoods dans le forum Débuter
    Réponses: 8
    Dernier message: 18/11/2008, 12h06
  3. Requête sur 2 schémas différents
    Par Tartenpion dans le forum SQL
    Réponses: 2
    Dernier message: 14/09/2008, 10h03
  4. Réponses: 11
    Dernier message: 28/04/2008, 16h29
  5. Vue sur différentes databases
    Par genio dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/06/2007, 15h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo