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 :

Vue materialisée REFRESH ON COMMIT avec SELECT complexe


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 81
    Par défaut Vue materialisée REFRESH ON COMMIT avec SELECT complexe
    tout de meme disposer d'une vue materialisée rafraichie dés qu'une table sous jacente est COMMITée
    -----------------------------------------------------------------------------
    bonsoir,

    J'essaye de créer des vues materialisées qui doivent dans mon cas etre rafraichies dés que/si une table sous jacente est modifiée

    J'y parviens pour des vues materialisées créées à partir de selections simples (avec une clef primaire, sans jointure et un filtre simple)
    et avec l'option REFRESH ON COMMIT

    Mais lorsque je veux créer des vues materialisées à partir de selections plus complexes, par exemple avec des jointures ou sans clef primaire dans le résultat de la sélection, j'obtiens l'erreur

    Citation:
    ORA-12054: impossible de définir l'attribut de régénération ON COMMIT pour la vue matérialisée
    dans les docs, je lis qu'il y a des restrictions et des propositions avec des LOG utiles pour un rafraichissement FAST, mais cela ne concerne pas mon cas de figure

    Auriez vous des précisions ?

    Voici un exemple en echec pour moi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE MATERIALIZED VIEW schema.mv_tab
    TABLESPACE schema_dta
    REFRESH ON COMMIT
    AS
    SELECT p.lib_1 , f.lib_2
    FROM tab1 p , tab2 f
    WHERE  p.id_1 = f.id_2(+)
    AND p.txt_1 = 'texte'
    ORDER BY p.lib_1 ASC , f.lib_2 ASC;
    J'arrive à créer cette vue materialisée avec REFRESH COMPLETE mais alors une modification de la table sous jacente tab1 ou tab2 et un COMMIT ne provoquent pas le rafraichissement de mv_tab

    La création de LOG n'est pas possible pour mes tables si elles sont organisées en index
    Le commande suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE MATERIALIZED VIEW LOG ON tab1 WITH ROWID ;
    provoque l'erreur :
    ORA-12041: impossible d'enregistrer les ROWID associés à la table organisée en index tab1
    Merci d'avance pour votre regard d'expert

  2. #2
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611

  3. #3
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Vous pouvez utiliser DBMS_MVIEW.EXPLAIN_MVIEW pour avoir plus de détails. Exemple: http://www.orafaq.com/node/831
    Cordialement,
    Franck.

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/05/2013, 06h27
  2. [AC-2003] Requête selection avec critère complexe
    Par Didier71 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 20/05/2012, 11h06
  3. Vue ou table ? avec Select
    Par simquest2 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 04/11/2011, 09h57
  4. [vue Materialise] - On Commit
    Par jacquesh dans le forum Oracle
    Réponses: 3
    Dernier message: 22/11/2006, 10h12
  5. Pb de refresh auto d'une vue materialisée
    Par Omsey dans le forum Administration
    Réponses: 7
    Dernier message: 21/11/2006, 16h55

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