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 08/07/2011, 16h30   #1
Futur Membre du Club
 
M H
Inscription : octobre 2010
Messages : 45
Détails du profil
Informations personnelles :
Nom : M H

Informations forums :
Inscription : octobre 2010
Messages : 45
Points : 15
Points : 15
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.
thisistheend est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2011, 17h00   #2
Membre confirmé
 
Avatar de jkofr
 
Homme Jacques
Administrateur de base de données
Inscription : octobre 2006
Messages : 251
Détails du profil
Informations personnelles :
Nom : Homme Jacques
Âge : 43
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : octobre 2006
Messages : 251
Points : 219
Points : 219
Envoyer un message via MSN à jkofr
Hello,

Peut-être revoir ton design.

Juste une idée comme ça.

Jko
__________________
OCA-OCP 11g, SQL and Performance & Tuning Expert 11g
Data Guard 11g, ASM & Grid Control 11g, Apex
jkofr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2011, 17h04   #3
Rédacteur
 
Inscription : décembre 2002
Messages : 2 387
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 387
Points : 3 265
Points : 3 265
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 :
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 :
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 :
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 10g et 11g, sécurité 11g
Pomalaix est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 11/07/2011, 09h46   #4
Futur Membre du Club
 
M H
Inscription : octobre 2010
Messages : 45
Détails du profil
Informations personnelles :
Nom : M H

Informations forums :
Inscription : octobre 2010
Messages : 45
Points : 15
Points : 15
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!
thisistheend 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