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 :

Impossibilité de créer une vue matérialisée : "Erreur - ORA-30372"


Sujet :

SQL Oracle

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 15
    Points : 13
    Points
    13
    Par défaut Impossibilité de créer une vue matérialisée : "Erreur - ORA-30372"
    Salutation groupe,

    J'essait de créer la vue matérialisées suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    CREATE MATERIALIZED VIEW MV_PATATE
           REFRESH COMPLETE
        ON DEMAND
        AS 
       select kosin.id ID,
              kosin.caid CAID,
              kosin.language LANGUAGE
       from   truc   kosin
              ,machin     gugusse
       where  UPPER(gugusse.name)  = 'Poutine'
         and  kosin.caid     = gugusse.id
         and  kosin.language = gugusse.language
         and  kosin.id       = autrefonctionrandom.get_last_subpage ('Poutine_italienne')

    La requête en tant que telle est testée et fonctionelle (la requête sans le create view). Si elle est roulée individuellement, elle s'exécutera sans problèmes.

    Lorsque je désire faire de cette requête une vue matérialisée en utilisant le code publié ci-haut, l'erreur suivante apparaît devant moi :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA-30372: la règle d'accès entre en conflit avec la vue matérialisée
    J'ai fouillé à propos de cette erreur mais je n'ai pu trouvé aucune information pertinente à ce sujet (lire ici : Aucune aide en français, les aides en anglais ne rapportant que de vagues réponses qui étaient assez obscures à mes yeux).

    Est-ce que quelqu'un pourrait m'éclairer sur la source potentielle de cette erreur par le don d'une piste de solution?

    Merci
    Dale

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 270
    Points : 342
    Points
    342
    Par défaut
    Il y a quelqu'un qui joue avec Row Level Security (ou virtual private database) sur ton schéma. Cela pose des problèmes de cohabitation avec ta vue.

    Quand tu lance la requete, elle s'execute en appliquant les regles definies dans les policies de RLS. Quand tu essaye de creer une vue materialisée, comme les policies ramenent une ou des regles, il n'est pas possible de la créer.

    Je trouve le message assez clair !


    ORA-30372: fine grain access policy conflicts with materialized view

    Cause: A fine grain access control procedure has applied a non-null policy to the query for the materialized view.
    Action: In order for the materialized view to work correctly, any fine grain access control procedure in effect for the query must return a null policy when the materialized view is being created or refreshed. This may be done by ensuring that the usernames for the creator, owner, and invoker of refresh procedures for the materialized view all receive a null policy by the user-written fine grain access control procedures.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 15
    Points : 13
    Points
    13
    Par défaut
    Après analyse, l'erreur venait de l'interne et de ce que nous voulions faire avec.

    Nous avons tout simplement passés outre en créant une table qui se mettra à jour automatiquement grâce à dbms_jobs.

    Merci.

Discussions similaires

  1. [11gR2] Créer une vue matérialisée avec PREBUILD
    Par foster06 dans le forum Administration
    Réponses: 4
    Dernier message: 17/09/2014, 20h39
  2. Création d'une vue matérialisée et erreur ORA-01630
    Par beurtom dans le forum Administration
    Réponses: 8
    Dernier message: 23/02/2007, 13h27
  3. Réponses: 26
    Dernier message: 27/04/2005, 12h29
  4. Créer une vue avec des requêtes UNION ?
    Par webtheque dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/04/2005, 13h37
  5. Créer une vue pour trier une requete UNION ?
    Par Etienne Bar dans le forum SQL
    Réponses: 3
    Dernier message: 03/01/2003, 21h22

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