Oracle - acceso compartidos

 
Vista:

acceso compartidos

Publicado por arawen (1 intervención) el 26/06/2007 17:30:48
Tengo una DB con el usuario A, necesito que un usuario B acceda a todas las tablas del usuario A limitando el tipo de acceso en algunas.
Para dar esos permisos utilice la sentencia
grant select on userA.tabla to userB
pero para que B pueda ver la tabla tengo que escribir
select * from userA.tabla y quiero que la vea como si fuera propia, es decir, que pueda hacer select * from tabla
¿como puedo hacer?
Creando un rol me sucede igual.
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:acceso compartidos

Publicado por Rodolfo Reyes (445 intervenciones) el 26/06/2007 23:41:50
Lo que tienes que hacer es crear un sinonimo para cada una de las tablas.

Ejemplo:

Supon que tienes una tabla llamada EMPLEADOS en el esquema RRHH.
Para que el usuario A puede hacer un query sobre esta tabla, sin tener sinonimos tendria que hacer lo siguiente:

select *
from RRHH.EMPLEADOS
/

Pero ahora crearemos un sinomino para esta tabla:

Create public synonym EMPLEADO for RRHH.EMPLEADOS
/

Entonces ahora el sinonimo EMPLEADO apunta a la tabla RRHH.EMPLEADOS, entonces ahora los querys ya se pueden hacer de la siguiente manera

select *
from EMPLEADO
/

Cualquier usuario que tenga algun permiso sobre la tabla RRHH.EMPLEADOS, puede utiizar este sinonimo para hacer referencia a ella.
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:acceso compartidos

Publicado por FABIO CLAROS (1 intervención) el 26/05/2011 02:59:06
Muy acertada la respusta. Me ha servido de mucho. Gracias

Rodolfo Reyes por ayudar a difundir su conocimiento.
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