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

PL/SQL Oracle Discussion :

ORA-00942 Table ou vue inexistante


Sujet :

PL/SQL Oracle

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Points : 70
    Points
    70
    Par défaut ORA-00942 Table ou vue inexistante
    Bonjour a tous,
    donc voila dans ma base oracle je crée plusieurs utilisateurs aux quels je donne tout les droits(grant all ... , grant select...). Mon problème c'est que a part l'utilisateur qui a crée les tables les autres ne peuvent pas les voire table inexistante.
    Y a t ils d'autre manipulation a faire a part le grant?

    Merci

  2. #2
    Membre expérimenté Avatar de ojo77
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2010
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 680
    Points : 1 597
    Points
    1 597
    Par défaut
    L'attribution d'un droit suffit à ce qu'il soit donné (heureusement).

    Cependant, si un droit est donné au travers d'un profil et que l'on veut l'utiliser au travers d'une focntion ou d'une procédure plsql cela ne fonctionne pas. Le droit doit être donné directement.

    par exemple :
    Code sql : 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
    SQL> grant dba to toto identified by toto;
     
    Autorisation de privilèges (GRANT) acceptée.
     
    SQL> conn toto/toto
    Connecté.
     
    SQL> begin
      2   for c in (select * from dba_hist_sqlstat)
      3   loop
      4     null;
      5   end loop;
      6  end;
      7  /
     
    Procédure PL/SQL terminée avec succès.
     
    SQL> create procedure toto as
      2  begin
      3   for c in (select * from dba_hist_sqlstat)
      4   loop
      5     null;
      6   end loop;
      7  end toto
      8  ;
      9  /
     
    Avertissement : Procédure créée avec erreurs de compilation.
     
    SQL> show err
    Erreurs pour PROCEDURE TOTO :
     
    LINE/COL ERROR
    -------- -----------------------------------------------------------------
    3/12     PL/SQL: SQL Statement ignored
    3/26     PL/SQL: ORA-00942: Table ou vue inexistante
    SQL> select count(*) from dba_hist_sqlstat;
     
      COUNT(*)
    ----------
          8227
     
    1 ligne sélectionnée.
     
     
    SQL> conn / as sysdba
    Connecté.
    SQL> grant select on dba_hist_sqlstat to toto;
     
    Autorisation de privilÞges (GRANT) acceptée.
     
    SQL> conn toto/toto
    Connecté.
     
    SQL> drop procedure toto;
     
    Procédure supprimée.
     
    SQL> create procedure toto as
      2  begin
      3   for c in (select * from dba_hist_sqlstat)
      4   loop
      5     null;
      6   end loop;
      7  end toto
      8  ;
      9  /
     
    Procédure créée.

  3. #3
    Membre averti Avatar de xdescamp
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 300
    Points : 442
    Points
    442
    Par défaut
    Pourrais-tu nous préciser le type d'instruction que tu essaies d'exécuter avec les autres utilisateurs : SQL ou PL/SQL ?
    As-tu bien préfixé les noms des tables par leur propriétaire, ou as-tu créé des synonymes ?
    Idéalement, donne-nous un exemple de code qui te pose problème.

  4. #4
    Membre chevronné Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Points : 2 071
    Points
    2 071
    Par défaut
    Tu peux faire un synonyme public sur tes tables

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CREATE PUBLIC SYNONYM ma_table FOR ma_table
    Garuda गरूड
    Brahmâ la Guerre et Vishnu la Paix

    Oracle 12C R2 - Forms11GR2 - Toad 12 - sharePoint 2010

  5. #5
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Points : 70
    Points
    70
    Par défaut
    bon ça marche si je fait proprietaire_table.nom_table
    donc pour le moment c'est bon.
    une question: ça sert à quoi de faire un select de cette table dba_hist_sqlstat

    Merci a vs

  6. #6
    Membre expérimenté Avatar de ojo77
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2010
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 680
    Points : 1 597
    Points
    1 597
    Par défaut
    Citation Envoyé par nouraty Voir le message
    une question: ça sert à quoi de faire un select de cette table dba_hist_sqlstat
    En l'occurrence ça sert à requêter une table qui n'appartient pas au schéma toto mais au schéma sys.

    Plus généralement ça sert à voir l'historisation des métriques relatives aux requêtes SQL passées sur la base de données.

  7. #7
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Points : 70
    Points
    70
    Par défaut
    Compris, Merci

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

Discussions similaires

  1. ORA-00942 Table ou vue inexistante
    Par BONNEFOI Patrick dans le forum Oracle
    Réponses: 9
    Dernier message: 02/10/2014, 14h40
  2. ORA-00942 Table ou vue inexistante
    Par tsonamir dans le forum Oracle
    Réponses: 3
    Dernier message: 17/06/2011, 17h49
  3. ORA 00942:table ou vue inexistante
    Par bibouu dans le forum Débuter
    Réponses: 3
    Dernier message: 29/04/2011, 22h36
  4. Réponses: 4
    Dernier message: 21/03/2009, 00h35
  5. ORA-00942 Table ou vue inexistante
    Par mullger dans le forum SQL
    Réponses: 8
    Dernier message: 10/09/2007, 19h01

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