¡Hola amigos!, ando haciendo una práctica de BBDD y me pareció interesante compartir algunas cosillas 😉
Se trata de crear usuarios en Oracle, y una vez creados, asignarles roles 😉
¿Que qué es un rol?
Pues vendría a ser algo así como el papel que juega un usuario en la base de datos 😉
Bien, primero creamos un usuario.
CREATE USER nuevo_usuario IDENTIFIED BY contraseña;
‘contraseña’ será la contraseña de nuevo_usuario, valga la redundancia xD
Ok, ahora creamos un rol
CREATE ROLE nuevo_rol;
Asignamos permisos al rol
GRANT select,insert,update,delete ON tabla TO nuevo_rol;
Con esta linea damos permisos de lectura, inserción, actualización y borrado sobre la tabla ‘tabla’
Por último asignamos ese rol al usuario
GRANT nuevo_rol TO nuevo_usuario;
Con esto lo que haríamos sería asignar los permisos definidos para rol al usuario 😉
NOTA: La gestión de usuarios debería hacerse por el usuario SYSTEM, o sea, el admin.
NOTA2: Para desde la conexión de un usuario acceder a una tabla de otro usuario, habría que acceder por ejemplo así:
SELECT * FROM otro_usuario.nombre_de_su_tabla;
Espero que os sea de utilidad, a más ver!
HackSaludos!!
Justo lo que necesitaba. Muchas gracias!
muchas gracias por la aportación una duda, en:
GRANT select,insert,update,delete ON tabla TO nuevo_rol;
mas concretamente:
(ON tabla)<– es por defecto tabla o hay que asignarlo previamente en la creación de usuario?
Hola LexWolf, El momento de la creación del rol es independiente a esto. Una vez creado el rol le damos los permisos que deseamos en las tablas que queremos. Saludos
muchas gracias
como hace uno para crear usuarios de manera dinamica, osea una variable @nuevo_usuario
Hola, tendrías que hacerlo mediante PL/SQL. Saludos!