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

Oracle Discussion :

Question pour experts concernant les vues matérialisées ON COMMIT FAST REFRESH


Sujet :

Oracle

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 63
    Points : 59
    Points
    59
    Par défaut Question pour experts concernant les vues matérialisées ON COMMIT FAST REFRESH
    Salut !!!

    Petite question,

    J'ai une vue matérialisée SNAPSHOT1 sur une base BASE1, qui est une coie de la vue VUE2 dans la base2, via un lien de base de donnée DBL_BASE2. La connexion se fait avec un compte C1.

    Pour l'instant les raffraichissements de SNAPSHOT1 se font ON DEMAND, avec un script qui exécute le rafraichissement tous les 15 minutes.

    Je voudrais pouvoir faire un ON COMMIT FAST REFRESH sur la vue VUE2, pour mettre les infos en temps réel.

    Je dois donc demander à l'adminitrateur de fournir le privilège système ONE COMMIT REFRESH à C1.

    Mais ce privilège se fait-il sur VUE2, ou bien doit il se faire sur CHACUNE DES TABLES dont la vue VUE2 est basée ?

    Le compte C1 n'a pour l'instant qu'un droit SELECT sur VUE2.

    Voilà,
    J'espère que j'ai été clair, je n'ai pas trouvé cette info dans la doc sur les vues matérialisées d'oracle.

    Merci d'avance pour vos réponse.

    Anthony Brenelière

  2. #2
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    il faut voir toutes les tables de la vue

  3. #3
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Citation Envoyé par Fred_D
    il faut voir toutes les tables de la vue
    +1 ce qui est logique car il a besoin de voir toutes les données ( donc toutes les tables comportant les données ) pour le refresh

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 63
    Points : 59
    Points
    59
    Par défaut
    Bon j'ai fait le test et je n'arrive même pas à créer une vue matérialisée fast refresh basée sur 2 tables, quand elle est basée sur une 1 table ça marche.

    J'ai Oracle version 8.1.7.

    Serait-ce une limitation propre à ma version d'Oracle ?

  5. #5
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    il faut que la vue ne soit pas "complexe", mais j'ai plus la commande sous la main pour le vérifier... il faut au moins la PK il me semble

  6. #6
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    la note 179466.1 répond à ton problème a priori... mais il manque juste la version d'Oracle que tu utilises

  7. #7
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 63
    Points : 59
    Points
    59
    Par défaut
    Je viens de faire des test avec la requête suivante, et voici mes conclusions:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    create materialized view test refresh complete on commit
    as
    select*
    from personnel p
    ,site s
    where p.site = s.idt_site (+);
    
    fast refresh : la vue matérialisée ne doit porter que sur une table
    complete refresh : la vue matérialisée peut porter sur plusieurs tables, et peut porter sur autre vue
    for update : la vue matérialisée ne doit porter que sur une table pour être mise à jour, contrairement aux vue 'classiques'
    on commit : la vue matérialisée peut porter sur plusieurs tables, mais il faut spécifier chacune des tables. Il faut donc (comme vous l'avez dit) un accès select sur chacune de ces tables.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    create materialized view test refresh complete oncommit
    as
    select*
    from personnel p
    ,site s
    where p.site = s.idt_site  (+);
    


    ..marche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    create vue2
    as
    select *
    from personnel p
    ,site s
    where p.site = s.idt_site (+);
     
    
    create materialized view test refresh complete oncommit
    as
    select *
    from vue2;
    


    ..ne marche pas.

    Voilà j'ai les réponses à toutes mes questions

    Tout celà est vrai sur la version 8, je ne sais pas s'il y a eu des amélioration sur les version suivantes.

    Merci pour les praticipations !!

    Anthony Brenelière



  8. #8
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 63
    Points : 59
    Points
    59
    Par défaut
    Ah bon, tiens comment est-ce que je retrouve cette note ?

    http://www.google.fr/search?hl=fr&q=...g_en%7Clang_fr

    .. ne me donne rien..

  9. #9
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 63
    Points : 59
    Points
    59
    Par défaut
    Aussi je ne peux pas utiliser conjointement ON COMMIT et FOR UPDATE, c'est l'un ou c'est l'autre je ne sais pas pourquoi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    create materialized view test refresh complete on commit forupdate
    as
    select*
    frompcscomptes_personnel p;


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    create materialized view test refresh fast on commit forupdate
    as
    select*
    frompcscomptes_personnel p;


    .. ces deux là ne passe pas.

  10. #10
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    il faut être client Oracle et avoir un accés à Metalink.

    Sinon, la doc est toujours d'un grand secours

    http://download-west.oracle.com/docs...view.htm#25391

  11. #11
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 63
    Points : 59
    Points
    59
    Par défaut
    Très bon article,

    merchi !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Question sur les vues matérialisées
    Par delirium dans le forum Administration
    Réponses: 9
    Dernier message: 29/12/2008, 11h42
  2. [Delphi 7] Questions pour débuter avec les bases de données
    Par DamKre dans le forum Bases de données
    Réponses: 6
    Dernier message: 25/09/2007, 16h06
  3. [Oracle 8] Concernant les vues
    Par FranT dans le forum Administration
    Réponses: 5
    Dernier message: 05/04/2007, 12h45
  4. Quels SGBD intègrent les vues matérialisées ?
    Par missjustme dans le forum Décisions SGBD
    Réponses: 8
    Dernier message: 04/01/2007, 10h18
  5. [Débutant] Deux questions concernants les vues
    Par 13obscur dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 19/04/2005, 14h29

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