Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Practicas Usuarios Tema7 Resto
Practicas Usuarios Tema7 Resto
Administracin de BD Oracle10g
11. Crear dos tablespace temporales, manejados de forma local, llamados TEMP_NOMINA y TEMP_ACADEMO con las siguientes caractersticas: TEMP_ACADEMO 500K SI 50K 600K TEMP_NOMINA 600K SI 50K 700K
12. Estando conectado como usuario administrador probar a crear un rol llamado administrador, qu ocurre? Nos autenticamos como usuario administrador:
No podemos realizar la accin debido a que el usuario administrador no tiene los privilegios necesarios para crea roles.
Pgina 2 de 33
Administracin de BD Oracle10g
13. dem estando conectado como usuario SYSTEM, qu sucede?, por qu? Nos logueamos como sysdba o system:
En este caso el error que se nos muestra es debido a un conflicto en los nombres, ya que administrador ya existe con otro usuario o rol.
14. Comprobar en el diccionario de datos los usuarios o roles que poseen el privilegio CREATE ROLE. Para ello visualizamos el contenido de dba_sys_privs cuando el privilegio sea el de crear roles:
Pgina 3 de 33
Administracin de BD Oracle10g
15. Crear un rol llamado ADMIN, asignarle los privilegios create session, create user y CREATE ROLE. Asignarlo al usuario administrador. Creamos el rol admin:
Para que pueda crear roles el usuario administrador, que se puede ejecutar de este modo recuperando la sentencia del buffer:
Pgina 4 de 33
Administracin de BD Oracle10g
16. Consultar los privilegios de sistema que tiene asignados de forma directa el usuario administrador, revocarlos y asignarle el rol admin.. Consultamos los privilegios del usuario administrador sobre la vista dba_sys_privs:
Pgina 5 de 33
Administracin de BD Oracle10g
17. Crear, conectado como SYSTEM, un usuario llamado prueba01 autenticado por base de datos al que no se le asigne tablespace por defecto ni temporal. Nos conectamos como system o sysdba y creamos un usuario llamado prueba01:
18. Consultar en las vistas correspondientes los tablespaces y la quota en cada uno de ellos que tiene los usuarios SYS, SYSTEM, administrador, prueba00 y prueba01. Qu ha ocurrido con el usuario prueba01? Consultamos los tablespaces por defecto y temporales que tienen cada usuario:
Podemos observar como aparece nicamente el usuario administrador que al crearlo le dimos unas caractersticas concretas.
Pgina 6 de 33
Administracin de BD Oracle10g
19. Crear un usuario llamado prueba02 autenticado por base de datos, asignando como tablespace por defecto NOMINA y como tablespace temporal TEMP_NOMINA (no se le asignara cuota en NOMINA). Creamos el usuario prueba02 y le asignamos el tablespace por defecto nmina y el tablespace temporal temp_nomina pero sin asignarle quota:
20. Asignar al usuario prueba01 los tablespace ACADEMO y TEMP_ACADEMO como tablespace de trabajo y temporal respectivamente (sin especificar cuota). Se alterar el usuario ya creado prueba01 para que tenga los tablespaces de trabajo y temporal ACADEMO y TEMP_ACADEMO:
21. Consultar en las vistas correspondientes los tablespace y la cuota en cada uno de ellos que tiene los usuarios prueba01 y prueba02. Realizamos la consulta sobre la vista dba_ts_quotas en los usuarios prueba01 y prueba02:
No tiene quota porque al crearlos no se la hemos dado. 22. Crear un rol llamado CONEXIN y asignarle el permiso CREATE SESSION. Creamos el rol y le asignamos el permiso para creas sesiones:
Pgina 7 de 33
Administracin de BD Oracle10g
23. Asignar el rol CONEXIN a los usuarios prueba00, prueba01 y prueba02. Le asignamos el rol conexin a los usuarios:
24. Comprobar en la vista correspondiente cuales son los roles asignados a los usuarios prueba00, prueba01 y prueba02. Lo comprobamos seleccionado la vista dba_role_privs sobre los usuarios que queremos:
25. Conectarse como usuario prueba01 y crear la tabla siguiente en el tablespace ACADEMO: Nos conectamos como usuario prueba01:
No podemos crearla porque el usuario prueba01 con el que nos acabamos de autenticar no tiene los privilegios suficientes.
Pgina 8 de 33
Administracin de BD Oracle10g
26. Crear un rol llamado DESARROLLO y asignarle los permisos CREATE SEQUENCE, CREATE SESSION, CREATE SYNONYM, CREATE TABLE y CREATE VIEW. Asignar el rol DESARROLLO a los usuarios prueba00, prueba01 y prueba02. Nos volvemos a conectar como system o sysdba y creamos el rol desarrollo:
Le asignamos los permisos para que pueda crear secuencia, sesiones, tablas, vistas y sinnimos al rol que acabamos de crear:
27. Volver a conectarse como usuario prueba01 y crear la tabla anterior en el tablespace ACADEMO. Nos conectamos como prueba01:
Pgina 9 de 33
Administracin de BD Oracle10g
28. Asignar cuota ilimitada al usuario prueba01 en el tablespace ACADEMO. Volver a repetir el ejercicio 26 Nos conectamos como sysdba para realizar los cambios:
29. Asignar cuota ilimitada al usuario prueba02 en el tablespace NOMINA. Nos conectaremos de nuevo como sysdba para tener credenciales de administrador:
Altermos el sistema para que prueba02 tenga quota ilimitada en el tablespace Nomina:
Pgina 10 de 33
Administracin de BD Oracle10g
30. Obtener informacin sobre roles, privilegios de sistema, tablespace y cuotas para los usuarios prueba00, prueba01 y prueba02. Obtenemos los roles de la vista dba_role_privs sobre los usuarios:
31. Asignar cuota cero en el tablespace por defecto para el usuario prueba01, siguen estando sus objetos?, es posible crear algn otro? (probad a crear un tabla). Alteramos el usuario prueba01 y le asignamos quota = 0 sobre el tablespace academo:
Pgina 11 de 33
Administracin de BD Oracle10g
Intentamos crear une nueva tabla, primero nos conectamos como usuario prueba01 y luego la intentamos crear:
No podemos crear una nueva tabla dentro del tablespace Academo porque se supera el tamao de quota.
32. Conectarse como usuario prueba01 e intentar modificar su cuota en el tablespace ACADEMO, es posible? Nos conectamos como prueba01:
Pgina 12 de 33
Administracin de BD Oracle10g
33. Conectarse como usuario prueba01 y modificar su clave, es posible? Ya estamos previamente conectados como usuario prueba01 e intentamos modificar su clave:
Podemos cambiarlo ya que para ello no hace falta tener privilegios de administrador. 34. Averiguar que usuarios o roles de base de datos tienen asignado el privilegio ALTER USER Nos conectamos como usuario administrador:
Comprobamos los roles que tienen los usuarios con el privilegio ALTER USER en la base de datos, visualizamos el contenido de dba_sys_privs:
35. Abrir una sesin con el usuario administrador y otra con el usuario prueba02. Siendo el usuario administrador, intentar borrar el usuario prueba02. Aprovechamos la conexin del ejercicio anterior para dejarla como administrador y abrimos una nueva y nos conectamos como prueba02:
Pgina 13 de 33
Administracin de BD Oracle10g
36. Asignar el permiso DROP USER al rol ADMIN. Asignamos el permiso desde el usuario administador del sistema, sysdba:
37. Averiguar que usuarios o roles de base de datos tienen asignado el privilegio DROP USER. Para ello debemos visualizar el contenido de la vista dba_sys_privs cuando el privilegio sea DROP USER:
38. Conectado como usuario administrador, crear el usuario prueba03 autentificado por base de datos y asignando cuotas en el tablespace ACADEMO (500K) y NOMINA (200K). Su tablespace temporal ser TEMP. Nos autenticamos como el usuario administrador:
Pgina 14 de 33
Administracin de BD Oracle10g
39. Comprobar en el fichero de inicializacin si est activado el modo de limitacin de recursos. El fichero de inicializacin es el init.ora, lo comprobamos con: Pero no se en que apartado me tengo que fijar para ver si el modo de limitacin de recursos est activado. 40. Averiguar que usuarios de base de datos o que roles tienen asignado el privilegio CREATE PROFILE. Nos conectamos como sysdba:
Averiguamos los usuarios de la base de datos que tienen los roles de CREATE PROFILE visualizando dba_sys_privs:
42. Averiguar que perfiles estn definidos en la base de datos y que lmites de recursos fija cada uno de ellos. Visualizaremos la vista dba_profiles para saber los perfiles definidos en la base de datos:
Pgina 15 de 33
Administracin de BD Oracle10g
43. Consultar que perfiles tiene asignados cada usuario de la base de datos. Visualizamos el contenido de dba_users:
Pgina 16 de 33
Administracin de BD Oracle10g
44. Crear un perfil llamado DESARROLLO con las siguientes especificaciones: Sessions_per_user 2 Cpu_per_session unlimited Cpu_per_call 6000 Connect_time 480 Idle_time 2 Failed_login_attempts 2 Password_life_time 120
45. Asignar el perfil anterior a los usuarios prueba00, prueba01 prueba02 y prueba03. Primero lo haremos sobre le usuario prueba00 y luego con el comando c modificaremos lo parmetros que cambian en cada usuario y con r lo repetiremos. El usuario prueba00:
Pgina 17 de 33
Administracin de BD Oracle10g
46. Intentar la conexin dos veces como usuario prueba01 fallando la contrasea, qu sucede? Comprobar si la cuenta ha sido bloqueada en la vista de base de datos correspondiente. Nos logueamos errneamente con prueba01 la primera vez:
La segunda vez:
Nos conectaremos como sysdba y comprobaremos que el usuario ha quedado bloqueado sobre la vista dba_users mirando su hora de bloqueo:
Pgina 18 de 33
Administracin de BD Oracle10g
47. Crear un usuario prueba04 con el parmetro password expire, sus tablespace por defecto y temporal sern USERS (cuota 0k) y TEMP. Asignar los roles CONEXIN y DESARROLLO. Conectarse como usuario prueba04, qu sucede? Creamos el usuario prueba04 con los parmetros indicados:
y nos indica que la contrasea a expirado y automticamente nos indicia que la cambiemos por una nueva. As lo haremos y estaremos conectados como prueba04. 48. Bloquear la cuenta del usuario prueba04, qu sucede al conectarse de nuevo? Nos logueamos como sysdba para poder realizar el bloqueo: Alteramos el usuario, para que quede la cuenta bloqueada:
Intentamos conectarnos como prueba04 pero no podremos al haber bloqueado el acceso a la cuenta:
Pgina 19 de 33
Administracin de BD Oracle10g
49. Modificar el tablespace por defecto y el temporal del usuario prueba01 de forma que sean NOMINA y TEMP_NOMINA. Nos conectaremos como sysdba ya que nos habremos desconectado tras la accin anterior: Alteramos el usuario prueba04 para que por tenga el tablespace por defecto Nomina y el tablespace temporal Temp_nomina:
50. Comprobar cul es el valor del parmetro OS_AUTHENT_PREFIX en la base de datos. Para ello visualizamos el archivo con !pg seguido de la ruta del archivo:
Administracin de BD Oracle10g
51. Cambia la identificacin del usuario prueba01 de forma que sea identificado por el sistema operativo. Nos autenticamos como sysdba si no lo estbamos y alteramos el usuario prueba01:
Y lo comprobamos:
52. Modificar el parmetro OS_AUTHENT_PREFIX de forma que, en adelante, la cadena que identifique a un usuario externo sea (cadena vaca). Visualizamos el contenido del fichero init.ora con !gedit especificando toda la ruta y buscando el parmetro os_authent_prefix para ponerlo vacio () No me aparece ese parmetro! 53. Desbloquear la cuenta del usuario prueba04.
Pgina 21 de 33
Administracin de BD Oracle10g
54. Modificar los valores del perfil DEFAULT segn se indica en la siguiente tabla: Sessions_per_user 5 Cpu_per_session unlimited Cpu_per_call 6000 Connect_time 480 Idle_time 60 Failed_login_attempts 3 Password_life_time 180 Modificamos el perfil segn los valores especificados en la tabla:
55. Averiguar que usuarios o roles tienen asignado el privilegio ALTER PROFILE. Para ello seleccionamos la vista dba_sys_privs cuando el privilegio sea de modificar el perfil:
56. Asignar el privilegio anterior al rol ADMIN. Le asignamos al usuario admin el rol alter profile:
Pgina 22 de 33
Administracin de BD Oracle10g
57. Comprobar los valores asignados al perfil DESARROLLO. Modificar el perfil DESARROLLO, desde el usuario administrador, segn la siguiente tabla: Sessions_per_user 5 Connect_time DEFAULT Idle_time 30 Qu ha sucedido con el resto de los parmetros? Coincide el valor de Connect_time en este perfil con el que tiene en el perfil DEFAULT?
Nos conectaremos como administrador si no lo estamos y comprobamos los valores asignados al perfil Desarrollo en la vista dba_profiles:
Pgina 23 de 33
Administracin de BD Oracle10g
58. Averiguar los privilegios de sistema y sobre objetos, as como los roles, que tiene asignados los roles por defecto CONNECT, RESOURCE, DBA, EXP_FULL_DATABASE e IMP_FULL_DATABASE Considera una buena poltica de seguridad asignar el rol CONNECT a todos los usuarios que precisan conectarse a la base de datos? Comprobamos los privilegios sobre la vista dba_role_privs desde la cuenta de system o sysdba:
Pgina 24 de 33
Administracin de BD Oracle10g
59. Puede asignarse el perfil DESARROLLO al rol CONNECT? Y el perfil DEFAULT al perfil DESARROLLO?
Pgina 25 de 33
Administracin de BD Oracle10g
60. Averiguar que usuarios o roles de la base de datos tienen asignado el privilegio DROP PROFILE. Para ello visualizamos dba_sys_privs cuando el privilegio sea el de borrar perfiles:
61. Asignar el privilegio DROP PROFILE al rol ADMIN.. Le asignamos el privilegio al usuario admin:
62. Conectarse como usuario administrador e intentar eliminar el perfil DEFAULT, qu ocurre? Nos conectamos como usuario administrador:
No podemos borrarlo porque, segn el mensaje de Oracle, falta de identificacin. Es porque no tenemos el privilegio completo, es decir sobre perfiles del sistema.
Pgina 26 de 33
Administracin de BD Oracle10g
63. Como usuario administrador crear el rol SECRETO identificado por la contrasea total y asignarlo al usuario prueba04. Nos autenticamos como administrador si no lo estamos y creamos el rol secreto con la contrasea total asignado a prueba04:
64. Averiguar que usuarios poseen el privilegio ALTER ANY ROLE (de forma directa o a travs de roles) Antes debemos conectarnos como sysdba si no los estamos y lo averiguamos a travs de la vista dba_sys_privs:
65. Qu valor tiene en la base de datos el parmetro MAX_ENABLED_ROLES? Modificar su valor para que, en adelante, valga 40. Comprobar esta modificacin. Para averiguar el valor del parmetro MAX_ENABLED_ROLES visualizamos el parmetro max_enabled_roles:
Para modificar el parmetro lo haremos mediante la instruccin siguiente: ALTER SYSTEM SET MAX_ENABLED_ROLES = 40; Pero no me deja modificarlo.
Pgina 27 de 33
Administracin de BD Oracle10g
66. Averiguar que usuarios poseen el privilegio GRANT ANY ROLE (de forma directa o a travs de roles) Lo podremos saber seleccionando la vista dba_sys_privs:
67. Como usuario administrador, reasignar el rol SECRETO al usuario prueba04. Nos autenticamos como usuario administrador:
68. Asignar el privilegio GRANT ANY ROLE al rol ADMIN.. Para ello tenemos que tener privilegios de administrador, as que nos logueamos como sysdba:
69. Averiguar de nuevo que usuarios poseen el privilegio GRANT ANY ROLE (de forma directa o a travs de roles). Seleccionamos la vista dba_sys_privs especificando el privilegio GRANT ANY ROLE:
Pgina 28 de 33
Administracin de BD Oracle10g
70. Averiguar que usuarios poseen el privilegio DROP ANY ROLE (de forma directa o a travs de roles). Para ello visualizaremos el contenido de dba_sys_privs cuando el privilegio sea DROP ANY ROLE:
71. Asignar permiso de conexin al usuario "prueba03", asignar el rol SECRETO al mismo usuario. Conectarse como este usuario e intentar borrar el rol. Nos autenticamos como system o sysdba si no lo estamos:
Y el rol secreto:
Pgina 29 de 33
Administracin de BD Oracle10g
72. En caso de que no lo tenga asignado, asignar el rol CONEXION y el rol DESARROLLO al usuario prueba04. Hacer que solo el rol CONEXIN este activo cuando se conecte. Nos autenticaremos como sysdba o system si no los estamos para poder comprobar los privilegios del usuario prueba04 sobre la vista dba_role_privs:
73. Comprobar en la vista apropiada del diccionario de datos los roles activos en la sesin. Lo comprobamos sobre la vista dba_role_privs para ver de que manera han cambiado los roles:
74. Conectado como usuario prueba04, activar el rol DESARROLLO y comprobar de nuevo en la vista apropiada del diccionario de datos los roles activos en la sesin. Nos autenticamos como prueba04:
Pgina 30 de 33
Administracin de BD Oracle10g
75. Asignar el rol "CONNECT" al usuario "ADMIN". Es preciso asignarle los permisos "CREATE PROCEDURE", "CREATE PUBLIC SYNONYM", "CREATE ROLE", "CREATE TRIGGER"?, Los tiene ya asignados? Nos autenticamos como sysdba, si no lo estamos, y asignamos el rol connect al usuario admin:
76. Conectarse como usuario SYSTEM y otorgar al usuario "prueba02" el permiso para seleccionar datos de la tabla cdigos (pertenece al usuario "prueba01"). Qu sucede?, por qu? Nos autenticamos como sysdba si no los estamos y damos permiso para seleccionar datos de la tabla cdigos al usuario prueba02:
En los ejercicios muestra error por falta de privilegios, pero a m me ha dejado realizarlo sin problemas.
Pgina 31 de 33
Administracin de BD Oracle10g
77. Conectarse como usuario "prueba01" y otorgar al usuario "prueba02" el permiso para seleccionar datos de la tabla cdigos; hacerlo de forma que "prueba02" tambin pueda otorgar el permiso a otros usuarios (opcin ADMIN). Este paso ya lo he realizado en el ejercicio anterior pero lo repetiremos para que prueba02 pueda otorgar permisos a otros usuarios:
78. Conectarse como usuario "prueba02" y otorgar al usuario "prueba03" el permiso para seleccionar datos de la tabla cdigos. Nos autenticamos como prueba02:
Y comprobamos que nos permite, desde el usuario prueba03 seleccionar filas de la tabla cdigos:
79. Conectarse como usuario "prueba01" y revocar al usuario "prueba02" el permiso para seleccionar datos de la tabla cdigos. Nos conectamos como prueba01:
Pgina 32 de 33
Administracin de BD Oracle10g
80. Conectarse como usuario "prueba03" e intentar consultar la tabla cdigos. Qu ocurre?, por qu? Nos autenticamos como prueba03:
No nos deja por que anteriormente hemos recovado los privilegios sobre esta vista al usuario prueba02 que fue el que se los concedi a prueb03.
Pgina 33 de 33