Asignar rol a usuarios

Gustavo
29 de Noviembre del 2004
Saludos a todos :
Les agradeceria mucho si me sacan de esta duda.
Tengo instalado Oracle 9i sobre linux.
cuando ejecuto :
grant resource to jose;
le asigno un rol a jose, listo el diccionario DBA_ROLE_PRIVS;
resulta que uno de los atributos DEF esta en NO, esto
no me permite realizar alguna operaciones.
La pregunta es como puedo adignarle un YES al atributo de DEF deL archivo DBA_ROLE_PRIVS ?

Gracias.
Agradecere cualquier ayuda.
Gustavo.

Jorge-DBA
29 de Noviembre del 2004
Que tal Gustavo:

Primero que nada necesitas saber dentro de las políticas de seguridad que signofica "DEFAULT_ROLE"

El significado de este concepto en la seguridad de Oracle es que especifica los roles que fueron concedidos por defecto o DEFAULT cuando el usuario se conecta a la base de datos, tu no puedes usar DEFAULT ROLE al habilitar:
Roles no concedidos a el usuario
Roles concedidos a otros Roles
Roles administrador por un servicio externo (ORACLE INTERNET DIRECTORY).

Por seguridad en muchas bases de datos al crear usuarios y roles, son identifiecados todos aquellos que jueguen un papel de activación, desde el inicio de una sesion de usuario, pero, a excepción de algunos usuarios (IMPUESTOS POR POLITICAS DE SEGURIDAD) no deben tener por defecto el role a menos que se active con una sentencia de Oracle.

Observa el siguiente ejemplo:

ALTER USER test DEFAULT ROLE ALL EXCEPT oper;

El usuario "test" contendrá todos los roles a excepción del role "oper" a menos que el usuario ejecute una sentencia "set" con esto podrá activar el role concedido por el administrador.

Para corregir el problema que se te presenta, simplemente entra a la base de datos de oracle conectándote con un usuario que tenga privilegios de "ALTER USER" y altera el usuario de la siguiente forma:


ALTER USER test DEFAULT ROLE ALL;

vuelve a consultar el catálogo de Oracle con la vista DBA_ROLE_PRIVS y verás que tedrás activado también el role por "DEFAULT_ROLE"

Saludos Camarada y mucha suerte.!