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

Oracle Discussion :

[Oracle]probleme de gestion des utilisateurs


Sujet :

Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2005
    Messages : 43
    Points : 43
    Points
    43
    Par défaut [Oracle]probleme de gestion des utilisateurs
    Bonjour,

    Je vais vous exposer mon problème :
    "J'ai créer un schéma utilisateur ADMINou j'ai mis les objets de ma base de données (table, vues, procédures ....) et j'ai créer des synonymes publics sur ses objets afin que les autres utilisateurs puissent les interroger. maintenant j'ai créer un autre utilisateur USER01 qui a les droits de créer des tables et d'autres objets.
    Problème : L'utilisateur USER01 peux créer des tables qui portent le nom d'un synonyme déjà créé".

    Mon objectif:
    ''Empêcher USER01 de créer des tables qui portent le nom d'un synonyme déjà créé."

    j'espère que j'étais clair.

    Je veux, SVP, des suggestions si vous avez une idée sur ce problème.

    Merci.

  2. #2
    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
    Les synonymes utilisteurs sont consultables à traver la vue USER_SYNONYMS

    Pour "tracer" la création d'une table, il vous faut mettre en place un déclencheur sur évènement
    http://sheikyerbouti.developpez.com/...e=Chap6#L6.3.3

  3. #3
    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
    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    CREATE OR REPLACE TRIGGER TRG_TEST_CRE_TAB BEFORE CREATE ON SCHEMA
    BEGIN
      dbms_output.put_line('Type=' || ora_dict_obj_type );
      dbms_output.put_line('Nom =' || ora_dict_obj_name );
    END ;
     
    CREATE TABLE test_xxx ( col1 VARCHAR2(10) ) ;
     
    Type=TABLE
    Nom =TEST_XXX

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2005
    Messages : 43
    Points : 43
    Points
    43
    Par défaut
    Merci boucoup SheikYerbouti, Maintenant je peux avoir un schéma dans la base pour faire des développements. Notre DBA ne voulait pas me donner les droits de créer des objets car il avait peur que je crée des objets qui portent le même nom que les synonymes public.

    Merci

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2005
    Messages : 43
    Points : 43
    Points
    43
    Par défaut
    Est ce que je peux créer ce declencheur sur tous les utilisateurs de la base?

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2005
    Messages : 43
    Points : 43
    Points
    43
    Par défaut
    J'ai trouvé;

    CREATE OR REPLACE TRIGGER tr_test
    BEFORE CREATE ON DATABASE
    declare
    v_num number(10);
    begin
    select count(*)
    into v_num
    from all_synonyms a
    where upper(a.synonym_name)=upper(ora_dict_obj_name);
    if v_num>0 then
    RAISE_APPLICATION_ERROR(-20000,'objet déja créé');
    end if;
    end tr_test;
    ;

    Merci encore Sheik;

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/05/2005, 18h18
  2. [Gestion des utilisateurs] Changer l'interface simplifiée
    Par sekiryou dans le forum Windows XP
    Réponses: 4
    Dernier message: 19/01/2005, 05h42
  3. Administration MySQL gestion des utilisateurs
    Par MaxiMax dans le forum Administration
    Réponses: 2
    Dernier message: 01/07/2004, 13h56
  4. Gestion des Utilisateurs depuis une application
    Par LLaurent dans le forum XMLRAD
    Réponses: 4
    Dernier message: 25/03/2003, 16h29

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