Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/07/2007, 10h22   #1
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 76
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 76
Points : 29
Points : 29
Par défaut Problème d'accès aux tables d'un schéma

Bonjour à tous,

J'ai de nouveau besoin de vos lumières...
Je travaille sous oracle 9.2.0.7, et je tentais de mettre en place un script pour calculer les statistiques.
Code :
1
2
3
4
SELECT 'exec DBMS_STATS.GATHER_TABLE_STATS(OWNNAME => '''|| owner
                         || '''  , TABNAME => ''' || table_name  || '''  , CASCADE => TRUE );'
FROM dba_tables
WHERE owner='PSNEXT';
Voici l'erreur que j'obtiens pour une table donnée :
Code :
1
2
3
4
5
6
ERREUR à la ligne 1 :
ORA-20000: Unable TO analyze TABLE "PSNEXT"."WORKPACKAGE", insufficient
privileges OR does NOT exist
ORA-06512: à "SYS.DBMS_STATS", ligne 10292
ORA-06512: à "SYS.DBMS_STATS", ligne 10315
ORA-06512: à ligne 1
Je tente un desc de la table en question, mais j'obtiens l'erreur :
Code :
ORA-04043: objet PSNEXT.WORKPACKAGE inexistant
Précision : j'ai les mêmes symptomes que ce soit en tant que sys ou bien en tant que l'utilisateur propriétaire du schéma.
Par contre, sous TOAD, quand je me connecte en tant qu'un de ces 2 utilisateurs, via le schéma browser, je vois tout : donnée + description des objets.

merci d'avance pour vos idées
joziel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2007, 11h20   #2
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
En général, s'il faut exécuter DBMS_STATS sur des objets qui appartiennent à des propriétaires différents, en plus du privilége SELECT sur les tables concernées, il faut avoir le privilège système ANALYZE ANY. En tout cas, SYS devrait forcément avoir le privilège ANALYZE ANY.
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2007, 11h25   #3
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 76
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 76
Points : 29
Points : 29
Oui, je tente bien de lancer l'analyse en tant que sys.
Cependant, on vient de se rendre compte que ce cher sqlplus (pour cette base uniquement) était Case sensitive...
Sauf que quand je genère automatiquement la liste des tables à analyser, le nom de tous les objets apparait en majuscule...
joziel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2007, 11h32   #4
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Ce n'est pas vraiment SQL*Plus qui est "case sensitive", c'est le dictionnaire Oracle qui l'est par défaut: tous les objets sont enregistrés en majuscule sauf si vous utilisez les " (double quote) dans le nom de l'objet lors de sa création.
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2007, 11h54   #5
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 76
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 76
Points : 29
Points : 29
aaah ! Merci pour l'info, je ne savais pas que c'était le Dictionnaire qui est case sensitive
Une solution serait de recréer les tables en majuscules... ?

En tout cas, merci pour votre aide
joziel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2007, 15h38   #6
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Citation:
Une solution serait de recréer les tables en majuscules... ?
Non, c'est ce qui est fait par défaut.

Les règles du SQL Oracle sont les suivantes:
Citation:
Case is insignificant in reserved words, keywords, identifiers and parameters. However, case is significant in text literals and quoted names.
Pouvez-vous donner une exemple du problème ?

Que donne dans SQL*Plus ?
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2007, 15h52   #7
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 76
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 76
Points : 29
Points : 29
Citation:
Pouvez-vous donner une exemple du problème ?
Code :
1
2
3
PSNext >DESC PSNEXT.TrainingDomain ;
ERROR:
ORA-04043: objet PSNEXT.TrainingDomain  inexistant
alors qu'avec les guillemets :
Code :
1
2
3
4
5
6
7
8
PSNext >DESC PSNEXT."TrainingDomain";
 Nom                                       NULL ?   Type
 ----------------------------------------- -------- ----------------------------
 Ordinal                                   NOT NULL NUMBER(10)
 ID                                                 VARCHAR2(100)
 ExpireDate                                         DATE
 InternalVersion                                    NUMBER(10)
 SessionID                                          NUMBER(19)
Pour le 'show sqlcase' :
Code :
1
2
PSNextRc >SHOW sqlcase
sqlcase MIXED
Merci
joziel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2007, 16h27   #8
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Dans ce cas, pour avoir des noms d'objets non sensibles à la casse, oui, il faudrait recréer vos objets sans les " (double quotes).
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2007, 17h40   #9
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 76
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 76
Points : 29
Points : 29
Je n'ai plus qu'à tout recréer correctement sur notre base de test avant de faire la modification sur celle de production...

Une fois de plus merci et bon week end
joziel est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h58.


 
 
 
 
Partenaires

Hébergement Web