Simulación de Entrevista – Oracle Database
1. Pregunta 1: ¿Cuál es la diferencia entre Oracle Instance y Oracle Database?
Respuesta: La Database es el conjunto de
archivos físicos donde se almacenan los datos (datafiles, control files, redo
logs). La Instance es la combinación de memoria (SGA, PGA) y procesos de
background que permiten interactuar con esos archivos. Una base de datos puede
tener varias instancias en un entorno RAC (Real Application Clusters).
2. Pregunta 2: ¿Qué son los tablespaces en Oracle?
Respuesta: Son unidades lógicas de
almacenamiento que agrupan datafiles. Se utilizan para organizar mejor los
objetos de la base de datos (tablas, índices, vistas materializadas). Un
ejemplo típico es el SYSTEM tablespace para metadatos, y USERS tablespace para
objetos de usuario.
3. Pregunta 3: ¿Qué son los Redo Logs y para qué sirven?
Respuesta: Los Redo Logs registran todas
las operaciones de cambio en la base de datos, permitiendo la recuperación en
caso de fallo. Son esenciales para la integridad y forman parte del mecanismo
de Crash Recovery.
4. Pregunta 4: ¿Cómo harías un backup en Oracle?
Respuesta: Se puede usar RMAN (Recovery
Manager) para backups completos, incrementales y archivelogs. Ejemplo:
RMAN> BACKUP DATABASE PLUS ARCHIVELOG;
También se puede usar un cold backup (con la base en modo MOUNT) o hot backup
(base en producción con ARCHIVELOG habilitado).
5. Pregunta 5: ¿Qué es un índice y cuándo lo usarías?
Respuesta: Un índice mejora la velocidad de
búsqueda de registros. Se usa cuando las consultas involucran columnas muy
utilizadas en filtros (WHERE) o joins. Sin embargo, puede ralentizar
operaciones DML (INSERT/UPDATE/DELETE), por lo que debe aplicarse
estratégicamente.
6. Pregunta 6: ¿Qué es un Oracle RAC?
Respuesta: Es una tecnología que permite
que varias instancias de Oracle trabajen sobre la misma base de datos,
proporcionando alta disponibilidad y escalabilidad horizontal.
7. Pregunta 7: ¿Qué diferencias hay entre un INNER JOIN y un OUTER JOIN en Oracle SQL?
Respuesta: INNER JOIN: Devuelve solo las
filas que tienen coincidencia en ambas tablas.
LEFT OUTER JOIN: Devuelve todas las filas de la tabla izquierda, incluso si no
tienen coincidencia.
RIGHT OUTER JOIN: Similar, pero con prioridad a la tabla derecha.
8. Pregunta 8: ¿Cómo asegurarías el rendimiento de una base Oracle?
Respuesta: Monitorización con AWR Reports y
ADDM.
Optimización de queries con EXPLAIN PLAN.
Uso de índices apropiados.
Ajuste de parámetros de memoria (SGA/PGA).
Particionamiento de tablas grandes.
9. Pregunta 9: ¿Qué es un trigger en Oracle?
Respuesta: Un trigger es un bloque PL/SQL
que se ejecuta automáticamente en respuesta a un evento (INSERT, UPDATE,
DELETE, o DDL). Se usan para auditoría, integridad referencial o automatización
de procesos.
10. Pregunta 10: ¿Qué diferencia hay entre un procedimiento almacenado y una función en PL/SQL?
Respuesta: Procedimiento: Ejecuta una
acción y no necesariamente devuelve un valor.
Función: Siempre devuelve un valor y puede usarse en expresiones SQL.