Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. Como usuario admin, crear un usuario llamado testadmin autenticado por la base de
datos. Indicar como espacio de tabla (tablespace) predeterminado USERS y como
espacio de tabla (tablespace) temporal TEMP. Asignar una cuota de 500K en el
tablespace USERS.
6. Como usuario testadmin, crear un usuario llamado test00 que tenga como tablespace
predeterminado USERS y como tablespace temporal TEMP . Asignar una cuota de 0K en el
tablespace USERS.
En Windows:
SQL> CREATE TABLESPACE nomina DATAFILE
'C:\oraclexe\app\oracle\oradata\XE\nomina.dbf' SIZE 1M;
10. Crear dos tablespaces temporales, gestionados de forma local y con gestión automática de
extensiones, llamados temp_nomina y temp_academo, con las siguientes características:
En Windows:
13. Verificar en el diccionario de datos los usuarios o roles que poseen el privilegio CREATE
ROLE .
14. Crear un rol llamado testroladmin , asignarle los privilegios CREATE SESSION ,
CREATE USER y CREATE ROLE . Asignarlo al usuario testadmin .
15. Consultar los privilegios de sistema que tiene asignado de forma directa el usuario
testadmin , removerlos y asignarle el rol testroladmin .
16. Como usuario admin , crear un usuario llamado test01 , autenticado por base de datos y sin
asignar un tablespace predeterminado ni temporal.
17. Consultar en las vistas correspondientes los tablespaces y la cuota en cada tablespace que
tienen los los usuarios sysadmin , admin , testadmin , test00 y test01 .
18. Crear un usuario llamado test02 autenticado por base de datos, asignando como tablespace
predeterminado nomina y como tablespace temporal temp_nomina (sin especificar cuota).
20. Consultar en la vista correspondiente, las cuotas que tienen los usuarios test01 y test02 en
los tablespaces.
23. Verificar en la vista correspondiente, los roles asignados a test00 , test01 y test02 .
24. Conectarse como usuario test01 e intentar crear la siguiente tabla codigos en el tablespace
academo .
25. Como usuario admin , crear un rol llamado desarrollo y otorgarle los permisos CREATE
SEQUENCE , CREATE SESSION , CREATE SYNONYM , CREATE TABLE y
CREATE VIEW . Asignar el rol desarrollo a los usuarios test00 , test01 y test02 .
28. Como usuario admin, asignar cuota ilimitada al usuario test02 en el tablespace nómina.
29. Obtener información sobre roles, privilegios de sistema, tablespaces y cuotas para los
usuarios test00 , test01 y test02 .
30. Asignar cuota cero en el tablespace por defecto para el usuario test01 . Verificar si sus
objetos aún existen y si es posible crear otro objeto (por ejemplo, una tabla).
33. Como usuario admin , consultar los usuarios o roles de la base de datos que tienen asignado
el privilegio ALTER USER
34. Abrir dos SQL*Plus. En el primer SQL*Plus, conectarse con el usuario test02 . En el
segundo SQL*Plus, conectarse con el usuario testadmin e intentar eliminar el usuario test02
.
SQL*Plus 1:
SQL> CONNECT test02/test
SQL*Plus 2:
SQL> CONNECT testadmin/test
SQL> DROP USER test02; ---- insuficientes privilegios
35. En el segundo SQL*Plus, conectarse como usuario admin y asignar el permiso DROP
USER al rol testroladmin . Luego, consultar los usuarios y roles de la base de datos que
tienen el privilegio DROP USER .
SQL*Plus 2:
SQL> CONNECT admin/oracle
SQL> GRANT DROP USER to testroladmin;
SQL> SELECT * FROM DBA_SYS_PRIVS WHERE PRIVILEGE='DROP USER';
36. En el segundo SQL*Plus, conectarse con el usuario testadmin e intentar eliminar el usuario
test02 .
SQL*Plus 2:
SQL> CONNECT testadmin/test
SQL> DROP USER test02; --- no se puede eliminar un usuario conectado.
37. Cerrar uno de los dos SQL*Plus. Luego, como usuario testadmin , crear el usuario test03 ,
autentificado por base de datos y con asignación de cuotas en los tablespaces academo (
500K ) y nomina ( 200K ). Su tablespace por defecto será academo y temporal será TEMP .
38. Como usuario admin , consultar los usuarios o roles de la base de datos que tienen asignado
el privilegio CREATE PROFILE. Luego, asignar este privilegio al rol testroladmin .
39. Consultar los perfiles definidos en la base de datos y los límites de recursos que fija cada
uno de estos perfiles.
40. Consultar los perfiles que tiene asignados cada usuario de la base de datos.
42. Asignar el perfil desarrollo a los usuarios test00 , test01 , test02 y test03 .
43. Desconectar el usuario actual e intentar tres veces la conexión con el usuario test01 usando
una contraseña incorrecta. Luego, como usuario admin , comprobar si la cuenta ha sido
bloqueada en la vista correspondiente.
SQL> DISCONNECT
SQL> CONNECT test01/test
SQL> CONNECT test01/test
SQL> CONNECT test01/test
SQL> CONNECT admin/oracle
SQL> SELECT USERNAME, LOCK_DATE FROM DBA_USERS WHERE
USERNAME
LIKE 'TEST%';
44. Crear un usuario test04 con el parámetro PASSWORD EXPIRE , asignándole como
tablespace por defecto USERS (cuota 0K ) y tablespace temporal TEMP . Asignar los roles
conexion y desarrollo a este usuario. Conectarse como usuario test04 y verificar qué
sucede.
45. Como usuario admin , bloquear la cuenta del usuario test04 y verificar qué sucede al
intentar conectarse de nuevo.
46. Como usuario admin , modificar el tablespace por defecto y el temporal del usuario test01
para que sean nomina y temp_nomina .
49. Cambiar la autenticación del usuario test01 para que sea autenticado por el Sistema
Operativo (SO).
50. Verificar en la vista del diccionario de datos correpondiente cómo aparece el tipo de
autenticación del usuario test01 .
51. Si se cuenta con un usuario administrador (o root) del SO, crear una cuenta de usuario en el
SO con el nombre test01 y contraseña test . -----Este ok
52. Si se pudo realizar el paso 51, ingresar en el SO utilizando la cuenta de usuario test01 y
abrir SQL*Plus en una ventana de comandos (en Windows) o en una sesión de terminal (en
Linux). En SQL*Plus, contectarse con el usuario test01 utilizando la autenticación SO.
SQL> CONNECT / -------------Estte tipo de autenticación no sirvió porque igual pide contraseña
53. Si se realizó el paso 52, volver a la cuenta de usuario que se ha estado utilizando. Como
usuario admin , desbloquear la cuenta del usuario test04 .
54. Modificar los valores del perfil DEFAULT con las siguientes especificaciones:
55. Consultar los usuarios o roles que tienen asignado el privilegio ALTER PROFILE.
57. Consultar los valores límite de los recursos del perfil desarrollo . Luego, modificar el perfil
desarrollo según las siguientes especificaciones y verificar el valor del tiempo de conexión:
59. Asignar el perfil DESARROLLO al rol CONNECT e intentar el perfil DEFAULT al perfil
DESARROLLO . Ambas operaciones son permitidas?
60. consultar los usuarios o roles que tienen asignado el privilegio DROP PROFILE .
63. Crear rol testrolsecreto identificado por la contraseña test y asignarlo al usuario test04 .
64. Consultar los usuarios que poseen el privilegio ALTER ANY ROLE (de forma directa o a
través de roles).
69. Nuevamente, consultar los usuarios que poseen el privilegio GRANT ANY ROLE (de
forma directa o a través de roles).
70. Consultar los usuarios que poseen el privilegio DROP ANY ROLE (de forma directa o a
través de roles).
71. Asignar los roles conexión y testrolsecreto al usuario test03 . Conectarse con el usuario
test03 e intentar borrar el rol testrolsecreto .
72. Como usuario admin , consultar los roles del usuario test04 y verificar cuáles están activos
(por defecto) cuando se conecta el usuario. Luego, establecer solamente el rol conexion
como el rol activo cuando se conecta el usuario. Verificar los cambios en la vista del
diccionario de datos correspondiente.
SQL> CONNECT admin/oracle
SQL> SELECT GRANTED_ROLE, DEFAULT_ROLE FROM DBA_ROLE_PRIVS
WHERE GRANTEE='TEST04'; ------- No rows selected
73. Establecer solamente el rol conexion como el rol activo cuando se conecta el usuario test04
y verificar los cambios realizados en la vista del diccionario de datos correspondiente.
74. Conectado como usuario test04 , consultar los roles activos en la sesión. Luego, activar el
rol desarrollo y consultar nuevamente los roles activos en la sesión. Después, desactivar
todos los roles y consultar de nuevo los roles activos en la sesión. Finalmente, activar todos
los roles y consultar los roles activos en la sesión.
75. Como usuario admin , asignar el rol RESOURCE al usuario testadmin y consultar los
privilegios asignados al rol RESOURCE . Luego, consultar todos los privilegios asignados
al usuario testadmin , incluyendo tanto los privilegios asignados de forma directa como los
privilegios asignados a través de roles.
76. Continuar conectado como el usuario admin y otorgar al usuario test02 el permiso para
seleccionar datos de la tabla codigos (tabla propiedad del usuario test01 , por lo que se debe
utilizar test01.codigos ). Adicionalmente, cambiar la autenticación del usuario test01 para
que sea autenticado por contraseña.
77. Conectarse como usuario test01 e insertar una fila en la tabla codigos . Luego, consultar los
datos de la tabla codigos (se puede realizar sin indicar el propietario de la tabla, es decir, sin
utilizar el prefijo test01. ). Finalmente, otorgar al usuario test03 el permiso para seleccionar
datos de la tabla codigos , adicionado la opción para que el usuario test03 también pueda
otorgar este permiso a otros usuarios.
78. Conectarse como usuario test02 y consultar los datos de la tabla codigos (se debe indicar el
propietario de la tabla, es decir, utilizar el prefijo test01. ). Luego, intentar otorgar al
usuario test04 el permiso para seleccionar datos de la tabla codigos .
79. Conectarse como usuario test03 y consultar los datos de la tabla codigos (se debe indicar el
propietario de la tabla, es decir, utilizar el prefijo test01. ). Luego, otorgar al usuario test04
el permiso para seleccionar datos de la tabla codigos .