Está en la página 1de 3

Oracle - HOJA DE EJERCICIOS DE DCL (1)

USUARIOS, PRIVILEGIOS, ROLES Y PERFILES


1. Crear un usuario Milagros desde nuestro esquema PRUEBA al que hemos otorgado todos los
privilegios desde SQL Command Line (tal y como se indica en el documento ”UT03_04_4 Conectar
desde Consola (Privilegios)” que se encuentra en el aula virtual).

2. Crear un usuario USUARIO1 con tablespace USERS y con tablespace temporal por defecto TEMP.

Modificar después a USUARIO1 para que tenga quota ilimitada en el tablespace USERS.

Ejecutar SELECT * FROM USER_USERS para ver Los valores por defecto asignados al usuario actual PRUEBA,
que en su día creamos sin asignar tablespace.

SELECT * FROM USER_USERS;

3. Salimos de PRUEBA y creamos un WORKSPACE-USERNAME-PASSWORD para USUARIO1.


WORKSPACE: USUARIO1
USERNAME: USUARIO1
PASSWORD:usuario1

EJECUTAR SELECT * FROM USER_USERS;

EJECUTAR DROP USER MILAGROS;

3. Entramos en nuestro esquema PRUEBA.


Creamos un usuario FRANCISCO.

Ejecuta SELECT * FROM USER_TABLES; para ver las tablas del usuario actual (PRUEBA).
Conceder a FRANCISCO los privilegios insert y select en la tabla AUTOMOVIL.
(PRIVILEGIOS SOBRE OBJETOS)

4. Conceder a todos los usuarios todos los privilegios sobre la tabla AUTOMOVIL.
(PRIVILEGIOS DE SISTEMA)

5. Conceder al usuario MILAGROS sobre la tabla AUTOMOVIL, que pueda modificar la columna color de
AUTOMOVIL.
Salimos de PRUEBA y creamos un WORKSPACE-USERNAME-PASSWORD para MILAGROS.
WORKSPACE: MILAGROS
USERNAME: MILAGROS
PASSWORD:milagros

Ejecuta SELECT * FROM USER_TABLES; para ver las tablas del usuario actual (MILAGROS).
(No tiene tablas)

Ejecuta una sentencia SQL que permita al usuario MILAGROS modificar el campo color a VARCHAR(20).
(NOTA: es necesario indicar el esquema al que pertenece la tabla con la notación
[nombre_ESQUEMA.nombre_TABLA] pues la tabla AUTOMOVIL pertenece al esquema PRUEBA)

6. Crea una nueva tabla en PRUEBA llamada TALLER con los siguientes campos y restricciones:
CREATE TABLE TALLER
(
IDTALLER NUMBER(3) PRIMARY KEY,
NOMBRE VARCHAR2(30) NOT NULL,
DIRECCION VARCHAR2(50)
);

Conceder a FRANCISCO insert en la tabla TALLER y que pueda pasar el privilegio insert a otros usuarios.

Ahora compruébalo: entra en el esquema - usuario FRANCISCO asignándole un workspace (WORKSPACE:


FRANCISCO,USERNAME: FRANCISCO, PASSWORD: francisco), e inserta una fila en la tabla TALLER (que
pertenece a PRUEBA), con la siguiente instrucción :

INSERT INTO PRUEBA.taller VALUES (1,'TODORUEDAS.SL','CALLE DEL AIRE, 33');

Ahora haz que FRANCISCO pueda conceder el privilegio de insertar al usuario MILAGROS.

(Como verás Francisco ahora puede conceder privilegios a otros usuarios y también insertar filas en TALLER)

7. En el esquema PRUEBA, crear un usuario Pedro con QUOTA de 500 k en el tablespace por defecto USERS y
asignarle con otra instrucción privilegios de create session (Priv. De sistema).

8. Asígnale el privilegio connect (Priv. De sistema).

9. Asignar a Milagros el privilegio de borrar usuarios y que lo pueda asignar al resto de usuarios.
(Nota: Es un privilegio de Sistema)

10. Que todos los usuarios puedan hacer select en cualquier tabla de cualquier usuario
Compruébalo: entra en el esquema - usuario PEDRO asignándole un workspace (WORKSPACE:
PEDRO,USERNAME: PEDRO, PASSWORD: pedro), y ejecuta la sentencia siguiente:

SELECT * FROM PRUEBA.taller;

11. Entra en el esquema PRUEBA y retira los privilegios select y update sobre la tabla AUTOMOVIL a
FRANCISCO.

(Ahora sólo le queda el privilegio insert)

12. Retirar todos los privilegios concedidos a FRANCISCO y MILAGROS sobre la tabla AUTOMOVIL.
(Priv. de objeto)

13. Retirar los privilegios de borrar usuarios a MILAGROS.


(Priv. de Sistema)

ROLES
14. Crea un rol llamado “JefeTaller”.

15. Asigna privilegios para que pueda insertar, seleccionar y borrar la tabla TALLER.

16. Asigna privilegios para que pueda crear una sesión y crear tablas.

17. Elimina el privilegio de poder borrar la tabla llamada TALLER al rol JefeTaller.

18. Asigna al usuario PEDRO el rol JefeTaller.

19. Borra el rol creado JefeTaller.

PERFILES
20. Crear un perfil llamado PERFIL1 limitando a 1 el número de sesiones concurrentes por usuario
(SESSIONS_PER_USER) y a 2 minutos el tiempo de conexión permitido por sesión (CONNECT_TIME).

21. Crear un usuario llamado PRUEBAPERFIL con QUOTA 100k y asignarle ese perfil (PERFIL1).
Conceder el rol connect.

22. Crear un perfil PERFIL2 en el que el límite de Cpu por sesión sea ilimitado (CPU_PER_SESSION).

23. Asignar el perfil creado al usuario PRUEBAPERFIL.

24. Borra todos los perfiles creados.

25. Listar todos los usuarios creados con “SELECT * FROM ALL_USERS” y borra posteriormente todos los
usuarios creados en esta actividad (MILAGROS, USUARIO1, FRANCISCO, PEDRO, PRUEBAPERFIL)
bórralos de forma que se eliminen primeramente los objetos creados por ese usuario, comprueba después que se
hallan eliminado.

También podría gustarte