martes, noviembre 29, 2011

ORACLE: dar permisos de acceso a otro usuario


Hola,

Suele ser bastante típico que desde un usuario Oracle haya que acceder a tablas de otro.

Lo mejor es que iniciemos sesión con el usuario propietario de las tablas y demos los GRANT-s necesarios al que los requiere.



Podemos hacer un procedimiento PL-SQL como este:
FOR x IN (SELECT * FROM user_tables)
LOOP
EXECUTE IMMEDIATE 'GRANT SELECT ON ' || x.table_name || ' TO <>';
END LOOP;


O bien, con SQL puro preparamos las sentencias SQL.

Esto genera una sentencia GRANT SELECT ON por cada tabla que encuentra en USER_TABLES:

SELECT 'GRANT SELECT ON '|| table_name ||' TO xxxxxxxx;' FROM user_tables;


Saludos.


6/11/2011. 1h 19'39''
8/11/2011. 1h 1'
13/11/2011. -San Sebastian. 20km. 1h 48' 19''
27/11/2011. Santurce-Bilbao. 16,3 km. 1h 15' 07''
28/11/2011. Spinning.

No hay comentarios: