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 :

Vue matérialisée


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 45
    Par défaut Vue matérialisée
    Quelle vue système (ou table) ORACLE consulte pour savoir si la table qu'il maj (insert ou update ..) a une table de log à mettre à jour ?

    Je pose cette question car j'essaye de faire un update sur ma table qui "avait" une VM que j'ai dropé (j’ai dropé la VM et la LOG avec TOAD) mais ORACLE cherche à mettre à jour une log qui n'existe plus et donc le traitement plante !!

  2. #2
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Essaye de faire un explain_mv pour comprendre ce qui manque!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    drop TABLE MV_CAPABILITIES_TABLE;
    @?/rdbms/admin/utlxmv
    exec dbms_mview.explain_mview('TA_VUE_MAT')
    select * from MV_CAPABILITIES_TABLE;

  3. #3
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 45
    Par défaut
    Merci pour ta réponse, mais je n'ai aucune vue matérialisée, ni table de log mais ORACLE cherche à MAJ la LOG à chaque LMD sur ma table !!!! il reste surement des trace quelque part

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SQL> select MVIEW_NAME, QUERY ,UPDATABLE, REFRESH_MODE, REFRESH_METHOD, BUILD_MODE, FAST_REFRESHABLE
      2  from user_mviews;
     
    aucune ligne sélectionnée

  4. #4
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Citation Envoyé par olap_2001 Voir le message
    mais ORACLE cherche à MAJ la LOG à chaque LMD sur ma table
    Oracle mets à jour le materialized view log sur ta table


    Citation Envoyé par olap_2001 Voir le message
    mais je n'ai aucune vue matérialisée, ni table de log
    mais tu n'as pas de table de log...

    En bref ça veut dire quoi?

  5. #5
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Citation Envoyé par olap_2001 Voir le message
    donc le traitement plante !!
    avec quel message ?

  6. #6
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 45
    Par défaut
    maintenant j'ai une nouvelle erreur Oracle lorsque je veux mettre à jour ma table .

    ORA-00600: internal error code, arguments: [kntgslm], [0], [], [], [], [], [], []

    as-tu une idée ?

  7. #7
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    c'est un bug, il te faut dropper le materialized view log

    voici la solution selon la note 763497.1

    Cause
    Running the following query shows a trigflag of 2 which means that a materialized view log should
    exist on the object.
    select trigflag, OBJ# from tab$ where obj# = (select object_id from dba_objects
    where owner = 'SCOTT' and object_name = 'TEST_MV' and object_type = 'TABLE');

    In this case the materialized view log, mlog$_test_mv did not exist.
    Solution
    To implement the solution, please execute the following steps:

    1. If the materialized view log exists, attempt to drop the log and then drop the mview.
    connect scott/tiger
    drop materialized view log on test_mv;
    drop materialized view test_mv;

    2. If step 1 fails with an ORA-12002: there is no materialized view log on table,
    attempt to create a materialized view log on the materialized view and then drop the mview.
    connect scott/tiger
    create materialized view log on test_mv;
    drop materialized view log on test_mv;
    drop materialized view test_mv;

  8. #8
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 45
    Par défaut
    merci pour tes réponses mais ca ne marche pas

    je pense que je dois réinitialiser mon schéma avec le dump de prod.

    si tu as une meilleur solution je suis preneur

  9. #9
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    quel est le contenu de all_mview_logs?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SQL> select LOG_OWNER,MASTER from all_mview_logs;
     
    LOG_OWNER                      MASTER
    ------------------------------ ------------------------------
    SCOTT                          EMP
     
    SQL> drop materialized view log on SCOTT.emp;
     
    Materialized view log dropped.

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

Discussions similaires

  1. [ORACLE 9i] Réplication via vue matérialisée
    Par had69 dans le forum Oracle
    Réponses: 3
    Dernier message: 26/10/2005, 10h47
  2. Rafraichissement vue matérialisée
    Par zach dans le forum Langage SQL
    Réponses: 17
    Dernier message: 31/08/2005, 17h49
  3. Réponses: 26
    Dernier message: 27/04/2005, 11h29
  4. Réponses: 2
    Dernier message: 06/12/2004, 14h43
  5. Fonctionnement et utilisation des vues matérialisées
    Par gOgHi dans le forum Administration
    Réponses: 7
    Dernier message: 19/10/2004, 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