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 :

Raffraichissement de vue matérialisé


Sujet :

Oracle

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 87
    Points : 78
    Points
    78
    Par défaut Raffraichissement de vue matérialisé
    Je suis en oracle 9.2.0.7 sur AIX,
    j'ai crée une vue matérialisé sur mon propre schéma avec la syntaxe de rafraichissement suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    refresh complete 
     start with trunc(sysdate+1)+ 8/24 next trunc(sysdate + 1) + 1
    la vue est bien crée mais elle ne se rafraichie pas .
    Je ne vois pas d'ou vient le problème

  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 : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Quelle fréquence tu veux ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 87
    Points : 78
    Points
    78
    Par défaut
    Citation Envoyé par Fred_D
    Quelle fréquence tu veux ?
    tous les jours à 8h00

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NEXT trunc(sysdate)+ 1 + 8/24
    le lendemain à 8h

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 87
    Points : 78
    Points
    78
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    alter materialized view V_AGR_WDETTE_HISTO
    refresh complete 
     start with trunc(sysdate) NEXT trunc(sysdate)+ 1 + 8/24
    j'ai fait le code suivant, cela ne change rien, avec un start de trunc(sysdate) le rafraichissement ne devrait il pas être lancé tout de suite ?

  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 : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    non... TRUNC(SYSDATE) = aujourd'hui à 00:00... c'est passé donc trop tard

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 87
    Points : 78
    Points
    78
    Par défaut
    Citation Envoyé par Fred_D
    non... TRUNC(SYSDATE) = aujourd'hui à 00:00... c'est passé donc trop tard
    autant pour moi ...
    par contre avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    refresh complete 
     start with sysdate+0.1/24 NEXT trunc(sysdate)+ 1 + 8/24
    je n'ai toujours rien ( je verrais demain matin si le next marche)

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 87
    Points : 78
    Points
    78
    Par défaut
    toujours pas de rafraichissement

    lorsque je fais un select sur la vue user_mviews j'ai pour la colonne REFRESH_MODE la valeure 'DEMAND' alors quemon alter avec les clauses START et NEXT est bien passé. Je ne sais pas si cela est normal

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    est-ce que les jobs sont activés ?

    http://oracle.developpez.com/guide/d.../dbms_job/#LII

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 87
    Points : 78
    Points
    78
    Par défaut
    Citation Envoyé par Fred_D
    est-ce que les jobs sont activés ?

    http://oracle.developpez.com/guide/d.../dbms_job/#LII
    j'avais cru comprendre qu'avec les paramètre START et NEXT il n'y avait pas besoi nde job ,ceux ci etant nécéssaire uniquement pour faire du rafraichissement à la demande

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    la programmation planifiée ne se fait pas par magie

    un job est bien nécessaire

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 87
    Points : 78
    Points
    78
    Par défaut
    Citation Envoyé par Fred_D
    la programmation planifiée ne se fait pas par magie

    un job est bien nécessaire
    A quoi serve alors les options START et NEXT

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    à définir un date de départ et la date de la soumission suivante... en gros ce sont les paramétres du job soumi

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 87
    Points : 78
    Points
    78
    Par défaut
    ok merci, en planifiant la procédure suivante je ressoud mon problème

    dbms_mview.refresh_all

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    Avec ce code cela devrait automatiser le rafrachissement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    CREATE MATERIALIZED VIEW VM
    TABLESPACE tablespace_name
    PCTFREE    20
    PCTUSED    40
    NOCACHE
    NOPARALLEL
    BUILD IMMEDIATE
    REFRESH FORCE
      START WITH SYSDATE
      NEXT TRUNC(SYSDATE)+1920/1440
      WITH PRIMARY KEY 
     USING DEFAULT LOCAL ROLLBACK SEGMENT
    DISABLE QUERY REWRITE AS
    Select  ....;


    Cela t'évite de tout mettre à jour d'un coup et de surcharger le serveur. Espace tes rafraichissements.

  16. #16
    Membre éprouvé
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Points : 1 294
    Points
    1 294
    Par défaut
    Citation Envoyé par childeric
    j'avais cru comprendre qu'avec les paramètre START et NEXT il n'y avait pas besoi nde job ,ceux ci etant nécéssaire uniquement pour faire du rafraichissement à la demande
    C'est précisément l'inverse !

    Le job sert à avoir une session active disponnible pour les travaux programmés meme quand il n'y a personne de connecté à la base... Ceci dit, c'est un gros défaut d'oracle de te laisser faire tes instructions de programmation sans meme lever une erreur quand aucun job n'est activé. Mais bon ça fait partie des choses qui permettent aux DBAs de se rendre indispensables

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

Discussions similaires

  1. Réplication Vs Schémas de Vue matérialisé
    Par Erwy dans le forum Oracle
    Réponses: 4
    Dernier message: 09/11/2010, 15h49
  2. Vue matérialisé invalide
    Par Vince7-7 dans le forum Oracle
    Réponses: 0
    Dernier message: 06/05/2010, 09h38
  3. Pb raffraichissement vue matérialisée
    Par coco21 dans le forum Administration
    Réponses: 0
    Dernier message: 29/05/2008, 17h43
  4. [2005]Bloquer le raffraichissement d'une vue
    Par madtroll dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 07/04/2007, 01h45
  5. [Oracle 10G] Vue matérialisé
    Par slefevre01 dans le forum Oracle
    Réponses: 1
    Dernier message: 20/10/2005, 12h32

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