Administración de Oracle Database: consultas, usuarios, perfiles y tablespaces paso a paso
Resumen
Ejercicios prácticos de administración de Oracle Database que recorren consultas sobre la instancia, la sesión, los usuarios y los tablespaces. También cubren privilegios, creación de perfiles de seguridad, creación de usuarios y asignación de roles, así como la gestión de tablespaces locales con y sin OMF. El documento muestra las sentencias SQL que el alumno necesita para practicar cada tarea.
Puntos clave
- V$INSTANCE permite consultar el estado de la instancia y la hora de arranque (STARTUP_TIME).
- SESSION_PRIVS muestra los privilegios de sesión del usuario conectado; DBA_SYS_PRIVS muestra los privilegios de sistema concedidos.
- DBA_USERS informa de la cuenta bloqueada (ACCOUNT_STATUS), el tablespace temporal y el tablespace por defecto de cada usuario.
- Un perfil se crea con CREATE PROFILE ... LIMIT; en el ejemplo, FAILED_LOGIN_ATTEMPTS 5 y PASSWORD_LIFE_TIME UNLIMITED.
- Para crear un usuario se combinan CREATE USER con DEFAULT TABLESPACE, TEMPORARY TABLESPACE y PROFILE.
- Un tablespace local con EXTENT MANAGEMENT LOCAL UNIFORM SIZE 2M usa extensiones de tamaño uniforme; con AUTOEXTEND ON crece automáticamente.
- ALTER TABLESPACE ... ADD DATAFILE añade ficheros de datos a un tablespace existente; sin ruta, se usa OMF.
- ALTER TABLESPACE ... RENAME TO permite cambiar el nombre de un tablespace.
Administración de Oracle Database: ejercicios prácticos
1. Consultas sobre la instancia y la sesión
Determinar el estado de la instancia de la BD y la última hora a la que se ha arrancado.
SELECT STATUS, STARTUP_TIME FROM V$INSTANCE;
Mostrar todos los privilegios de sesión ordenados ascendentemente.
SELECT PRIVILEGE FROM SESSION_PRIVS ORDER BY 1;
2. Consultas sobre usuarios
Mostrar el nombre y la fecha de bloqueo de aquellos usuarios DBA para los que la cuenta está bloqueada (LOCKED).
SELECT USERNAME, ACCOUNT_STATUS FROM DBA_USERS WHERE ACCOUNT_STATUS LIKE '%LOCKED%';
Mostrar el nombre y la fecha de creación de todos los usuarios.
SELECT USERNAME, ACCOUNT_STATUS, CREATED FROM ALL_USERS;
SELECT USERNAME, TO_CHAR(CREATED) FROM ALL_USERS;
Mostrar el nombre y la fecha de creación de los usuarios DBA.
SELECT USERNAME, CREATED FROM DBA_USERS;
SELECT USERNAME, TO_CHAR(CREATED) FROM DBA_USERS;
Mostrar el nombre de usuario, el tablespace temporal y el tablespace por defecto de los usuarios DBA.
SELECT USERNAME, TEMPORARY_TABLESPACE, DEFAULT_TABLESPACE FROM DBA_USERS;
Mostrar el SID y el serial# de los usuarios conectados.
SELECT USERNAME, SID, SERIAL# FROM V$SESSION;
3. Consultas sobre tablespaces
Listar todos los tablespaces de la BBDD, junto con el tamaño de bloque y el estado.
SELECT TABLESPACE_NAME, STATUS, BLOCK_SIZE FROM DBA_TABLESPACES;
4. Privilegios del usuario SYS
Mostrar los privilegios del sistema del usuario SYS.
SELECT PRIVILEGE FROM DBA_SYS_PRIVS WHERE GRANTEE = 'SYS';
5. Creación de perfiles de seguridad
Crear un perfil con un máximo de 5 intentos fallidos de conexión y contraseña sin caducidad, y visualizarlo.
CREATE PROFILE PROFPASS LIMIT FAILED_LOGIN_ATTEMPTS 5 PASSWORD_LIFE_TIME UNLIMITED;
SELECT * FROM DBA_PROFILES WHERE PROFILE = 'PROFPASS';
6. Creación de usuario y asignación de recursos
Crear el usuario MOLASERDBA, asignándole el tablespace por defecto MOLASERDBA_DAT, el tablespace temporal MOLASERDBA_TEMP y el perfil PROFPASS.
CREATE TABLESPACE MOLASERDBA_DAT DATAFILE 'RUTA' SIZE 100M;
CREATE TEMPORARY TABLESPACE MOLASERDBA_TEMP TEMPFILE 'RUTA' SIZE 100M;
CREATE USER MOLASERDBA IDENTIFIED BY MOLASERDBA DEFAULT TABLESPACE MOLASERDBA_DAT TEMPORARY TABLESPACE MOLASERDBA_TEMP PROFILE PROFPASS;
7. Asignación de roles
Asignar los roles creados al usuario MOLASERDBA.
GRANT TODOS, ESQUEMA, RRMM_LECTURA TO MOLASERDBA;
8. Creación de tablespaces con gestión local
Crear un tablespace local, sin uso de OMF, con gestión automática de segmentos y un tamaño uniforme de extensión de 2 MB, con tres data files de 10, 20 y 30 MB respectivamente y crecimiento automático. Mostrar el resultado.
CREATE TABLESPACE PRUEBA1 DATAFILE 'RUTA' SIZE 10M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL UNIFORM SIZE 2M SEGMENT SPACE MANAGEMENT AUTO;
ALTER TABLESPACE PRUEBA1 ADD DATAFILE 'RUTA' SIZE 20M;
ALTER TABLESPACE PRUEBA1 ADD DATAFILE 'RUTA' SIZE 30M;
9. Ampliación del tablespace con OMF
Añadir un data file al tablespace anterior, con OMF, de 10 MB y crecimiento automático. Mostrar el resultado.
ALTER TABLESPACE PRUEBA1 ADD DATAFILE SIZE 10M AUTOEXTEND ON;
10. Renombrado de tablespace
Renombrar el tablespace a SEVAABORRARYLOSABES. Mostrar el resultado.
ALTER TABLESPACE PRUEBA1 RENAME TO SEVAABORRARYLOSABES;
Descargar
PDF Word HTMLPreguntas frecuentes
¿Cómo se consulta el estado de la instancia de Oracle?
Con la consulta SELECT STATUS, STARTUP_TIME FROM V$INSTANCE; se obtiene el estado de la instancia y la hora de arranque.
¿Cómo se crea un perfil que limite los intentos fallidos de conexión?
Se usa CREATE PROFILE PROFPASS LIMIT FAILED_LOGIN_ATTEMPTS 5 PASSWORD_LIFE_TIME UNLIMITED; y después se visualiza con SELECT * FROM DBA_PROFILES WHERE PROFILE = 'PROFPASS';.
¿Qué diferencia hay entre ALL_USERS y DBA_USERS?
El documento usa ALL_USERS para listar todos los usuarios y DBA_USERS para consultar la información administrativa de los usuarios, como el tablespace por defecto y el temporal.
Ponte a prueba
Tarjetas de repaso
Pulsa una tarjeta para ver la respuesta.
Test
Preguntas generadas con IA a partir del documento: comprueba las respuestas con el texto.