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

Administration Oracle Discussion :

ORA-28031 et gestion du nombre de rôles


Sujet :

Administration Oracle

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 54
    Points : 56
    Points
    56
    Par défaut ORA-28031 et gestion du nombre de rôles
    Bonjour à tous,

    Ayant dû faire face encore une fois à l'erreur ORA-28031, je me demandais s'il y avait un moyen d'augmenter le paramètre max_enabled_roles à une valeur plus grande que 148 (qui semble être la valeur max)...

    J'ai fait quelques recherches sur le net, mais tous les posts trouvés me disent d'effacer certains rôles. Je trouve cela assez restrictif. J'utilise une application sous Windows qui utilise Oracle et qui peut être amené à créer des rôles. Avec cette limitation, je dois constamment faire attention et en enlever dans ma base Oracle.
    N'y aurait-il pas un autre contournement ou une solution définitive à ce problème?

    Merci d'avance pour votre aide.

  2. #2
    Membre éclairé Avatar de jkofr
    Homme Profil pro
    Senior Consultant DBA (Trivadis SA)
    Inscrit en
    Octobre 2006
    Messages
    484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Senior Consultant DBA (Trivadis SA)
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 484
    Points : 724
    Points
    724
    Par défaut
    Hello,

    Peut-être revoir ton design.

    Juste une idée comme ça.

    Jko
    OCM 11g, RAC and Performance & Tuning Expert 11g
    RMAN Backup & Recovery, Data Guard and Grid Control

  3. #3
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    MAX_ENABLED_ROLES définit le nombre de rôles qui peuvent être actifs simultanément au sein d'une même session.
    Or il y a une différence très importante entre "avoir reçu le rôle X" et "avoir le rôle X actif dans sa session".
    Si quelqu'un a reçu 500 rôles mais n'en active pas plus de 148 simultanément, il n'y a aucun souci.


    Généralement, ce qui coince, c'est le fait que le créateur d'un rôle reçoit automatiquement ce rôle, et que ce rôle fera partie par défaut de ses rôles actifs. Or le créateur du rôle n'est pas celui qui en a besoin.
    Vous pouvez donc probablement vous en sortir en n'activant que les rôles utiles chez celui qui les crée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    create user testrole identified by testrole;
    grant dba to testrole;
     
    -- Le seul rôle actif pour TESTROLE sera DBA
    alter user testrole default role dba;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    -- on crée 200 rôles
    connect testrole/testrole
    declare
    begin
        for i in 1..200 loop
            execute immediate 'create role role' || i;
        end loop;
    end;
    /
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SQL> select username, granted_role, default_role 
    from user_role_privs order by 1, 2;
     
    USERNAME                       GRANTED_ROLE                   DEF
    ------------------------------ ------------------------------ ---
    TESTROLE                       DBA                            YES
    TESTROLE                       ROLE1                          NO
    TESTROLE                       ROLE10                         NO
    ...
    TESTROLE a reçu 201 rôles, dont DBA, ROLE1 et ROLE10, mais seul DBA sera actif automatiquement quand TESTROLE se connectera.
    Il faudra qu'il fasse "SET ROLE ROLE1" pour activer ROLE1 dans sa session.
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 54
    Points : 56
    Points
    56
    Par défaut
    Merci beaucoup Pomalaix pour cette réponse super claire et détaillée! C'était un point auquel je n'avais pas été sensibilisé jusqu'à présent. Je ferai attention dans le futur .

    @jkofr: Comme je l'ai précisé dans mon message, ce n'est pas moi qui créé les rôles mais une application externe. Du coup, je n'ai pas le contrôle de l'activation de ces rôles. Maintenant, je saurai néanmoins que je peux en désactiver certains pour éviter cela... Si c'était une question de pur design, je ne serai pas passé par ce forum... Je voulais simplement savoir la cause exacte de cette erreur et savoir si coutournement il y avait.

    Merci encore!

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

Discussions similaires

  1. Gestion des nombre Hexadecimaux
    Par 250583 dans le forum Simulink
    Réponses: 8
    Dernier message: 25/04/2007, 12h13
  2. [Outils][C#/API Tapi] Y a-t-il une gestion du nombre des appels ?
    Par andreaslecousin dans le forum EDI/Outils
    Réponses: 7
    Dernier message: 16/03/2007, 15h08
  3. Gestion des nombres
    Par john55657 dans le forum Linux
    Réponses: 4
    Dernier message: 13/10/2006, 16h29
  4. Gestion de nombre binaire...
    Par Zenol dans le forum C++
    Réponses: 20
    Dernier message: 16/01/2006, 21h11
  5. gestion de nombre d'utilisateur
    Par progima dans le forum MFC
    Réponses: 1
    Dernier message: 24/10/2005, 15h50

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