Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Administration
Administration Forum d'entraide sur l'administration du serveur 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 28/10/2007, 15h57   #1
Invité de passage
 
Inscription : octobre 2007
Messages : 12
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 12
Points : 2
Points : 2
Par défaut Gestion des droits avec Oracle

Bonjour à tous,

J'ai crée une base Oracle et j'essaye actuellement d'executer un script dessus.
Les créations de Triggers échouent, le message d'erreur est le suivant :

Code :
1
2
3
4
CREATE OR REPLACE TRIGGER ai_BusinessRule_idBusinessRule
                          *
ERREUR à la ligne 1 :
ORA-04089: impossible créer déclencheurs sur objets appartenant à SYS
Voici un extrait du script executé, même si je ne pense pas que le problème vienne de la.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
CREATE TABLE BusinessRule (
  idBusinessRule number(11) NOT NULL,
  deleted number(5) DEFAULT '0' NOT NULL,
  attachment varchar2(255) DEFAULT '' NOT NULL,
  CONSTRAINT pk_BusinessRule PRIMARY KEY (idBusinessRule)
);
 
CREATE SEQUENCE sq_BusinessRule_idBusinessRule;
CREATE OR REPLACE TRIGGER ai_BusinessRule_idBusinessRule
BEFORE INSERT ON BusinessRule
FOR EACH ROW WHEN (
 new.idBusinessRule IS NULL OR new.idBusinessRule = 0
)
BEGIN
 SELECT sq_BusinessRule_idBusinessRule.NEXTVAL
 INTO :new.idBusinessRule
 FROM dual;
END;
/
J'ai l'impression que mon problème vient des droits. Je ne suis pas un expert Oracle...

Lorsque j'essaye de me connecter en tant que SYSOPER j'ai le message suivent :
Code :
1
2
ERROR:
ORA-01031: insufficient privileges
Je remercie toute personne pouvant m'aider à créer mes triggers.

Robin
robin.pariset est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/10/2007, 17h06   #2
Invité de passage
 
Inscription : octobre 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 6
Points : 4
Points : 4
ORA-04089: impossible créer déclencheurs sur objets appartenant à SYS

dual appartient à SYS donc le problème se situe à ce niveau.

BEGIN
SELECT sq_BusinessRule_idBusinessRule.NEXTVAL
INTO :new.idBusinessRule
FROM dual;
END;

Je comprends pas vraiment l'utilité de ton trigger
Tu interdis l'insertion de valeurs null (idBusinessRule number(11) NOT NULL)
KhaoOs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/10/2007, 18h15   #3
Membre confirmé
 
Avatar de DAB.cz
 
Inscription : octobre 2006
Messages : 221
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 221
Points : 214
Points : 214
Robin, ton code est correct, mais tu l'ai évidemment démarré sous l'utilisateur SYS.

1. Créé autre utilisateur (create user xxx ...., grant create session, .... to xxx)
2. Attache toi comme xxx (connect xxx/xxx@bd)
3. Démarre ton script (create table ..., create trigger)

DAB
DAB.cz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2007, 18h52   #4
Invité de passage
 
Inscription : octobre 2007
Messages : 12
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 12
Points : 2
Points : 2
J'ai essayé de me connecter avec un autre User pour executer le script, mais le problème reste inchangé.

Lorsque je me connecte, je suis obligé de selectionner SYSDBA. Si je veux choisir NORMAL ou SYSOPER, un message me dit que je n'ai pas les privilèges nécéssaires.
Le problème pourrait-il venir de la?
robin.pariset est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2007, 20h51   #5
Invité de passage
 
Inscription : octobre 2007
Messages : 12
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 12
Points : 2
Points : 2
J'ai trouvé une solution a mon problème.
Code :
GRANT ALL PRIVILEGES TO user;
Je donne tous les droits à mon utilisateur et je peux ensuite créer mes triggers.

Merci à ceux qui m'ont répondu

Robin
robin.pariset est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2007, 07h44   #6
Membre confirmé
 
Avatar de DAB.cz
 
Inscription : octobre 2006
Messages : 221
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 221
Points : 214
Points : 214
Citation:
Envoyé par robin.pariset Voir le message
...un message me dit que je n'ai pas les privilèges nécéssaires
Quel message? ORA-?????

GRANT ALL PRIVILEGES - ce n'est pas bonne idée.

DAB
DAB.cz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2007, 07h48   #7
Membre confirmé
 
Avatar de DAB.cz
 
Inscription : octobre 2006
Messages : 221
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 221
Points : 214
Points : 214
Peut-être tu manques le droit suivant:
1. Créé autre utilisateur (create user xxx ...., grant create session, create trigger .... to xxx)
2. Attache toi comme xxx (connect xxx/xxx@bd)
3. Démarre ton script (create table ..., create trigger)

DAB
DAB.cz 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 04h14.


 
 
 
 
Partenaires

Hébergement Web