problemas con roles en oracle

DIEGO GALINDO
13 de Abril del 2005
Tengo un problema con los permisos en ORACLE:

Creo una tabla X.
Tengo un rol Y creado y le doy permisos de Select sobre la tabla X.
Entro al SQL Plus con un usuario que tiene asignado el Rol Y.
Hago un Select TABLE_NAME from all_tables y me aparece la tabla X pero al hacer un Select * from X me dice que no existe la tabla. Tengo ORACLE 8.0.5

¿Alguien me puede ayudar?

jc3000
13 de Abril del 2005
Si, te echaremos una manilla
Si solo le has dado el role al usuario, tienes que poner el dueño de la tabla. Asumo que has hecho esto :

DESDE USUARIO_A :

CREATE TABLE LA_TABLA
BLA BLA BLA
/

GRANT SELECT ON LA_TABLA TO ROLE
/

GRANT ROLE TO USUARIO_B

Y ahora hay que hacer esto :

DESDE USUARIO_B :

SELECT * FROM USUARIO_A.LA_TABLA;

Si no quieres poner el usuario por delante tienes que crear un sinonimo, te recomiendo privado :


CREATE SYNONYM USUARIO_B.LA_TABLA FOR USUARIO_A.LA_TABLA
/

DESDE USUARIO_B :

SELECT * FROM LA_TABLA; ( OK )



DIEGO GALINDO
13 de Abril del 2005
Muchísimas gracias jc3000 , funciona, pero me parece raro, ya que tengo otras tablas añadidas a ese rol que si me las ha cogido. Seguramente sera por que cree sinonimos y no "ma" cordaba. Gracias.

jc3000
13 de Abril del 2005
De nada Diego.

Si necesitas mas ayuda, ya sabes.