Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Alumno 1 (ORACLE):
1. Crea un rol ROLPRACTICA1 con los privilegios necesarios para conectarse a la base de datos,
crear tablas y vistas e insertar datos en la tabla EMP de SCOTT.
2. Crea un usuario USRPRACTICA1 con el tablespace USERS por defecto y averigua que cuota se le
ha asignado por defecto en el mismo. Sustitúyela por una cuota de 1M.
6. Concede a USRPRACTICA1 el privilegio de leer la tabla DEPT de SCOTT con la posibilidad de que
lo pase a su vez a terceros usuarios.
7. Comprueba que USRPRACTICA1 puede realizar todas las operaciones previstas en el rol.
15. Elige un usuario concreto y consulta qué cuota tiene sobre cada uno de los tablespaces.
16. Elige un usuario concreto y muestra qué privilegios de sistema tiene asignados.
17. Elige un usuario concreto y muestra qué privilegios sobre objetos tiene asignados.
20. Elige un rol concreto y averigua si está compuesto por otros roles o no.
24. Realiza un procedimiento que reciba un nombre de usuario y un privilegio de sistema y nos muestre
el mensaje 'SI, DIRECTO' si el usuario tiene ese privilegio concedido directamente, 'SI, POR ROL' si
el usuario tiene ese privilegio en alguno de los roles que tiene concedidos y un 'NO' si el usuario no
tiene dicho privilegio.
25. Realiza un procedimiento llamado MostrarNumSesiones que reciba un nombre de usuario y muestre
el número de sesiones concurrentes que puede tener abiertas como máximo y las que tiene abiertas
realmente.
2) Averigua cual es la forma de asignar y revocar privilegios sobre una tabla concreta en Postgres.
3) Averigua si existe el concepto de rol en Postgres y señala las diferencias con los roles de ORACLE.
4) Averigua si existe el concepto de perfil como conjunto de límites sobre el uso de recursos o sobre la
contraseña en Postgres y señala las diferencias con los perfiles de ORACLE.
5) Realiza consultas al diccionario de datos de Postgres para averiguar todos los privilegios que tiene
un usuario concreto.
6) Realiza consultas al diccionario de datos en Postgres para averiguar qué usuarios pueden consultar
una tabla concreta.
ORACLE:
7) Realiza una función de verificación de contraseñas que compruebe que la contraseña difiere en más
de tres caracteres de la anterior y que la longitud de la misma es diferente de la anterior. Asígnala al
perfil CONTRASEÑASEGURA. Comprueba que funciona correctamente.
2. Averigua cual es la forma de asignar y revocar privilegios sobre una tabla concreta en MySQL.
3. Averigua si existe el concepto de rol en MySQL y señala las diferencias con los roles de ORACLE.
4. Averigua si existe el concepto de perfil como conjunto de límites sobre el uso de recursos o sobre la
contraseña en MySQL y señala las diferencias con los perfiles de ORACLE.
5. Realiza consultas al diccionario de datos de MySQL para averiguar todos los privilegios que tiene un
usuario concreto.
6. Realiza consultas al diccionario de datos en MySQL para averiguar qué usuarios pueden consultar
una tabla concreta.
ORACLE:
MongoDB:
2. Averigua si en MongoDB existe el concepto de privilegio del sistema y muestra las diferencias
más importantes con ORACLE.
3. Explica los roles por defecto que incorpora MongoDB y como se asignan a los usuarios.
4. Explica como puede consultarse el diccionario de datos de MongoDB para saber que roles han
sido concedidos a un usuario y qué privilegios incluyen.
ORACLE:
Parte Grupal:
CASO PRÁCTICO 1:
1. (ORACLE, Postgres, MySQL) Crea un usuario llamado Becario y, sin usar los roles de ORACLE,
dale los siguientes privilegios: (1,5 puntos)
2. (ORACLE, Postgres, MySQL) Escribe una consulta que obtenga un script para quitar el privilegio de
borrar registros en alguna tabla de SCOTT a los usuarios que lo tengan.
3. (ORACLE) Crea un tablespace TS2 con tamaño de extensión de 256K. Realiza una consulta que
genere un script que asigne ese tablespace como tablespace por defecto a los usuarios que no
tienen privilegios para consultar ninguna tabla de SCOTT, excepto a SYSTEM.
4. (ORACLE, Postgres) Realiza un procedimiento que reciba un nombre de usuario y nos muestre
cuántas sesiones tiene abiertas en este momento. Además, para cada una de dichas sesiones nos
mostrará la hora de comienzo y el nombre de la máquina, sistema operativo y programa desde el
que fue abierta.
5. (ORACLE) Realiza un procedimiento que muestre los usuarios que pueden conceder privilegios de
sistema a otros usuarios y cuales son dichos privilegios.
CASO PRÁCTICO 2:
1. (ORACLE) La vida de un DBA es dura. Tras pedirlo insistentemente, en tu empresa han contratado
una persona para ayudarte. Decides que se encargará de las siguientes tareas:
Crea un usuario llamado Ayudante y, sin usar los roles predefinidos de ORACLE, dale los
privilegios mínimos para que pueda resolver dichas tareas.
2. (ORACLE) Muestra el texto de la última sentencia SQL que se ejecuto en el servidor, junto con el
número de veces que se ha ejecutado desde que se cargó en el Shared Pool y el tiempo de CPU
empleado en su ejecución.
3. (ORACLE, Postgres) Realiza un procedimiento que reciba dos nombres de usuario y genere un
script que asigne al primero los privilegios de inserción y modificación sobre todas las tablas del
segundo, así como el de ejecución de cualquier procedimiento que tenga el segundo usuario.
4. (ORACLE) Realiza un procedimiento que genere un script que cree un rol conteniendo todos los
permisos que tenga el usuario cuyo nombre reciba como parámetro, le hayan sido asignados a
aquél directamente o a traves de roles. El nuevo rol deberá llamarse BackupPrivsNombreUsuario.
Roles:
En esta práctica el propio grupo decidirá el rol de cada alumno y la parte de la que se encarga.
Capitán:
• Planificar y coordinar el trabajo del grupo.
• Cuidar que la información circule con fluidez entre los miembros del equipo.
Portavoz:
• Plantear al profesor las dudas y dificultades que encuentra el grupo.
Secretario:
• Asegurarse de que toda la documentación generada es completa, clara y sin errores de expresión.
Facilitador:
• Orientar a los compañeros que tengan más dificultades a la hora de plantear su parte de la práctica.
• Colaborar en la resolución de problemas cuando algún miembro del grupo no encuentre los errores
en su configuración, sin llegar a realizar la misma.