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

Administration Oracle Discussion :

snapshot or materialized view


Sujet :

Administration Oracle

  1. #1
    Membre averti

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Points : 398
    Points
    398
    Par défaut snapshot or materialized view
    Bonjour, j'ai créé un snapshot avec le user 'TOTO', tout ce passe bien le refresh de cette vue aussi.

    Cependant, il possible de faire de refresh avec le user 'TATA', pourtant j'ai donné le droit d'exécution de SYS.DBMS_SNAPSHOT à 'TATA'.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SQL> execute dbms_mview.refresh ('unisys.v_a2_decision_agvo');
    BEGIN dbms_mview.refresh ('unisys.v_a2_decision_agvo'); END;
     
    *
    ERREUR à la ligne 1 :
    ORA-01031: privilèges insuffisants
    ORA-06512: à "SYS.DBMS_SNAPSHOT", ligne 794
    ORA-06512: à "SYS.DBMS_SNAPSHOT", ligne 851
    ORA-06512: à "SYS.DBMS_SNAPSHOT", ligne 832
    ORA-06512: à ligne 1
    Question : Savez vous les autres droits à donner à 'TATA' ???

  2. #2
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Points : 848
    Points
    848
    Par défaut
    Je pense que TATA doit aussi avoir les droits sur les tables/vues sous-jacentes de ta requête de ton snapshots.


    Laly.
    In the heart of the truly greats, perfection is never achieved but endlessly pursued.

    Mon article sur les fonctions analytiques d'Oracle (calcul de moyennes mobiles, de quartiles et bien d'autres...)

  3. #3
    Membre averti

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Points : 398
    Points
    398
    Par défaut
    effectivement, j'ai vérifier et oui TATA a les droits.

    Aucune problème lorsque TATA exécute la même rq que le snapshot !!

  4. #4
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut Re: snapshot or materialized view
    Citation Envoyé par sygale
    ... pourtant j'ai donné le droit d'exécution de SYS.DBMS_SNAPSHOT à 'TATA'.

    [code]SQL> execute dbms_mview.refresh ('unisys.v_a2_decision_agvo');
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  5. #5
    Membre averti

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Points : 398
    Points
    398
    Par défaut
    Toujours personne pour m'aider ??

  6. #6
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Points : 848
    Points
    848
    Par défaut
    Trouvé sur metalink : tu dois donner le droit à TATA de rafraichir des snapshots :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grant alter any materialized view to TATA
    en tant que SYS.


    Laly.
    In the heart of the truly greats, perfection is never achieved but endlessly pursued.

    Mon article sur les fonctions analytiques d'Oracle (calcul de moyennes mobiles, de quartiles et bien d'autres...)

  7. #7
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    Est-ce que TATA a les droits de faire les selects directement sur les objets ou via un rôle ?
    Si TATA a le rôle TRUC qui permet de faire des selects sur BIDULE, il faudrait envisager de donner directement le GRANT SELECT ON BIDULE TO TATA

    Me demandez pas pourquoi, mais pour moi, ça a marché (j'avais exactement le même problème pour la création d'une vue)....

  8. #8
    Membre averti

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Points : 398
    Points
    398
    Par défaut
    Citation Envoyé par lalystar
    Trouvé sur metalink : tu dois donner le droit à TATA de rafraichir des snapshots :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grant alter any materialized view to TATA
    en tant que SYS.


    Laly.
    Le pb existe aussi avec le owner du snapshot !!! 'TOTO' ???? :

  9. #9
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Points : 848
    Points
    848
    Par défaut
    C'est pas très clair, tu peux poster le code et l'erreur induite ?

    Il ne devrait pas y avoir de pb pour l'owner du snapshot :
    Refresher Is Owner
    If the refresher of a materialized view also owns the materialized view, this user must have SELECT object privilege on the master and the master's materialized view log or SELECT ANY TABLE system privilege. If the master site or master materialized view site is remote, then the SELECT object privilege must be granted to the user at the master site or master materialized view site to which the user at the materialized view site connects through a database link. This privilege can be granted either explicitly or through a role.

    If the owner of materialized view at the materialized view site has a private database link to the master site or master materialized view site, then the database link connects to the owner of the master at the master site or master materialized view site. Otherwise, the normal rules for connections through database links apply.
    Cf. http://download-west.oracle.com/docs...view.htm#47340


    Laly.
    In the heart of the truly greats, perfection is never achieved but endlessly pursued.

    Mon article sur les fonctions analytiques d'Oracle (calcul de moyennes mobiles, de quartiles et bien d'autres...)

  10. #10
    Membre averti

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Points : 398
    Points
    398
    Par défaut
    OK, donc je suis l'utilisateur TOTO sur la BASE DBTOTO
    j'exécute le script suivant :
    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
    16
    17
     
    drop materialized view unisys.v_r373_ffac;
     
    create materialized view unisys.v_r373_ffac as
    (  select *
         from r373
    )
    /
    show err
     
    drop public synonym v_r373_ffac;
     
    create public synonym v_r373_ffac for unisys.v_r373_ffac;
     
    grant select on unisys.v_r373_ffac to public;
     
    spool off
    J'arrive tres bien à rafraichir tout est ok , et kk jours plustard :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    SQL> exec dbms_mview.refresh('v_r373_ffac');
    BEGIN dbms_mview.refresh('v_r373_ffac'); END;
     
    *
    ERREUR à la ligne 1 :
    ORA-00942: Table ou vue inexistante
    ORA-06512: à "SYS.DBMS_SNAPSHOT", ligne 794
    ORA-06512: à "SYS.DBMS_SNAPSHOT", ligne 851
    ORA-06512: à "SYS.DBMS_SNAPSHOT", ligne 832
    ORA-06512: à ligne 1
    pourtant le user TOTO a le droit sur ALTER ANY SNAPSHOT

  11. #11
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Points : 848
    Points
    848
    Par défaut
    Juste une idée : ca serait pas à cause du synonyme ? Qu'est-ce-qu'il se passe si tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dbms_mview.refresh('unisys.v_r373_ffac')
    Est-ce-que l'erreur est systématique ?

    Laly.
    In the heart of the truly greats, perfection is never achieved but endlessly pursued.

    Mon article sur les fonctions analytiques d'Oracle (calcul de moyennes mobiles, de quartiles et bien d'autres...)

  12. #12
    Membre averti

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Points : 398
    Points
    398
    Par défaut
    toujours pareil !!
    Cependant j'ai trouvé.
    en fait les droits que l'on donne à TOTO sur les tables utilsé dans les snapshot sont faux.
    Nous avions mis les droit via synonyme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    GRANT SELECT ON mysynonyme TO PUBLIC;
    ou lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    GRANT SELECT ON myschema.matable TO PUBLIC;
    De ce fait, j'utilise maintenant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dbms_mview.refresh('unisys.v_r373_ffac');
    Et tout est ok, donc deux incohérences !!!

    1°) mettre les droits sur les tables et non sur les synonymes
    2°) faire le refresh avec l'object lui-même et non le synonyme

    Merci pour tout et à tous

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

Discussions similaires

  1. Materialized view: refresh automatique impossible!
    Par ifts2006 dans le forum Administration
    Réponses: 7
    Dernier message: 10/07/2007, 15h45
  2. [9i] CREATE MATERIALIZED VIEW toutes les heures sauf le WE
    Par Débéa dans le forum Administration
    Réponses: 3
    Dernier message: 20/03/2007, 15h42
  3. Materialized view + Indexs + Contraintes
    Par hair_peace dans le forum Oracle
    Réponses: 4
    Dernier message: 05/09/2006, 17h57
  4. MATERIALIZED VIEW <> SNAPSHOT
    Par sygale dans le forum Administration
    Réponses: 3
    Dernier message: 18/06/2004, 11h14
  5. SQL Dynamique - Materialized view
    Par Simeans2004 dans le forum SQL
    Réponses: 15
    Dernier message: 10/06/2004, 17h56

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