Esta sentencia sirve para crear un rol de usuario.
Un rol es una forma de agrupar permisos (o privilegios) para asignarlos luego a los usuarios.
Cada usuario puede tener varios roles.
Ejemplo de creación de un rol:CREATE ROLE MI_PROPIO_ROLECrea un rol sin password:
CREATE ROLE role NOT IDENTIFIEDCrea un rol con password:
CREATE ROLE role IDENTIFIED BY passwordCrea un rol de aplicación:
CREATE ROLE role IDENTIFIED USING [schema.]packageCrea un rol basado en uno del S.O.:
ALTER ROLE role IDENTIFIED EXTERNALLYCrea un rol basado en el servicio de directorio:
ALTER ROLE role IDENTIFIED GLOBALLYEjemplo para crear un script que asigna todos los permisos de actual esquema
SELECT decode(object_type, 'TABLE','GRANT SELECT, INSERT, UPDATE, DELETE , REFERENCES ON'||&OWNER||'.', 'VIEW','GRANT SELECT ON '||&OWNER||'.', 'SEQUENCE','GRANT SELECT ON '||&OWNER||'.', 'PROCEDURE','GRANT EXECUTE ON '||&OWNER||'.', 'PACKAGE','GRANT EXECUTE ON '||&OWNER||'.', 'FUNCTION','GRANT EXECUTE ON'||&OWNER||'.' )||object_name||' TO MI_PROPIO_ROLE ;' FROM user_objects WHERE OBJECT_TYPE IN ( 'TABLE', 'VIEW', 'SEQUENCE', 'PROCEDURE', 'PACKAGE','FUNCTION') ORDER BY OBJECT_TYPE
Explicación de la sintaxis utilizada para los comandos: Las palabras en mayusculas son comandos de oracle. Las palabras en minusculas son opiones modificables Las partes enmarcadas con [] son opcionales Las palabras en negrita son las opciones por defecto Las partes enmarcadas con {} son alternativas (una u otra). El simbolo | indica OR