Oracle - usuarios

 
Vista:

usuarios

Publicado por ana (6 intervenciones) el 04/08/2001 20:04:23
Tengo creada una base de datos con dos usuarios A y B. He colocado las tablas de mi base de datos en el usuario A y he concedido los siguientes privilegios al usuario B sobre las tablas del usuario A:
Grant SELECT, UPDATE, INSERT, DELETE ON nombre_tabla TO B;

Sin embargo, siempre que quiero hacer alguna operacion sobre las tablas del usuario A estando conectada al usuario B, tengo que poner:

select * from A.nombre_tabla;

¿Que puedo hacer, o donde debo crear las tablas para poder hacer operaciones sobre las mismas sin necesidad de anteponer el nombre del usuario propietario de la tabla al nombre de la misma?

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:usuarios

Publicado por Harold (697 intervenciones) el 04/08/2001 20:19:22
Lo que tienes que hacer es crear un sinonimo publico de la tabla del usuario A. Ejemplo
Create public synonym nombre_tabla for A.nombre_tabla
Para evitar problemas los que tienes que hacer es crear el nombre del sinonimo publico con el mismo nombre de la tabla y nuevamente das los privilegios y listo.

Podrias pensar tambien el crear un Role que tenga todos los privilegios y no tengas que hacer el Grant, por cada vez que creas un usuario.

Espero que funcione

Saludes
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:usuarios

Publicado por Alejandro César (189 intervenciones) el 04/08/2001 21:05:50
Lo que sucede es que tienes que crear sinónimos públicos de las tablas del esquema A para que las pueda "ver" el usuario B sin tener que anteponer al nombre del esquema propietario al nombre de la tabla. Así, un select conectado como B podría ser: select * from nombre_tabla.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar