ORACLE USUARIOS - CREATE ROLE

google bookmarks delicious yahoo digg technorati meneame live IExplorer bookmarks rss
Más vistos:
  1. CREATE INDEX
  2. DECODE
  3. TO_CHAR
  4. TO_DATE
  5. SELECT
  6. GRANT
  7. INSERT
  8. TUNNING
  9. UPDATE
  10. CREATE USER

Create Role

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_ROLE
Crea un rol sin password:
   CREATE ROLE role NOT IDENTIFIED
Crea un rol con password:
   CREATE ROLE role IDENTIFIED BY password
Crea un rol de aplicación:
   CREATE ROLE role IDENTIFIED USING [schema.]package
Crea un rol basado en uno del S.O.:
   ALTER ROLE role IDENTIFIED EXTERNALLY
Crea un rol basado en el servicio de directorio:
   ALTER ROLE role IDENTIFIED GLOBALLY
Ejemplo 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