Administración de BBDD Flashcards

(255 cards)

1
Q

¿Qué es lo primero que debe evaluar un DBA antes de la instalación?

A

Los requisitos de hardware (CPU, RAM, Disco) y la compatibilidad del SO.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Por qué se recomienda separar los datos de los logs en discos distintos?

A

Para evitar cuellos de botella y mejorar el rendimiento de entrada/salida (I/O).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Qué diferencia hay entre un parche y un upgrade?

A

El parche suele corregir errores/seguridad; el upgrade cambia a una versión mayor con nuevas funciones.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

¿Qué es un “Plan de Rollback”?

A

Un procedimiento para volver al estado anterior si la actualización falla durante su ejecución.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Cuál es el paso crítico e innegociable antes de cualquier actualización?

A

Realizar un Backup completo de la instancia y los datos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿Qué es el Partition Pruning?

A

Una optimización donde el motor de la BD solo lee las particiones relevantes para la consulta.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿Cuándo usarías un particionamiento por Hash?

A

Cuando quieres distribuir la carga de escritura de forma uniforme sin un orden lógico.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Cuál es la ventaja de mantenimiento del particionamiento?

A

Permite realizar tareas (borrado, copia, indexación) sobre partes pequeñas de la tabla sin bloquearla entera.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿Qué significa la política de Hot/Cold Data?

A

Clasificar los datos según su frecuencia de uso para ahorrar costes en hardware de almacenamiento.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿En qué consiste el particionamiento por Rango?

A

En dividir los datos basados en un intervalo de valores (normalmente fechas o IDs secuenciales).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿Qué diferencia hay entre RPO y RTO?

A

El RPO mide la pérdida de datos (tiempo); el RTO mide el tiempo de inactividad.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

¿Qué permite el Point-in-Time Recovery?

A

Restaurar la base de datos a un instante preciso en el tiempo (minuto/segundo).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿Cuál es la ventaja del Backup Diferencial sobre el Incremental?

A

Es más rápido de restaurar, ya que solo necesitas el último Full y el último Diferencial.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿Qué significa la copia Off-site en la regla 3-2-1?

A

Tener una copia de seguridad en una ubicación física distinta al centro de datos principal.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Por qué son vitales los Backups de Logs?

A

Porque permiten recuperar transacciones realizadas después del último backup completo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿Cuál es la principal ventaja de Oracle RAC?

A

Proporciona tolerancia a fallos y escalabilidad al usar múltiples servidores para una misma BD.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

¿Qué es el Principio de Menor Privilegio?

A

Otorgar solo los permisos mínimos e indispensables para que un usuario realice su trabajo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

¿Cómo ayuda una Vista a la seguridad de los datos?

A

Permite mostrar solo ciertas columnas o filas de una tabla, protegiendo datos sensibles.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

¿Qué diferencia hay entre Alta Disponibilidad y Disaster Recovery?

A

La HA protege ante fallos locales (segundos); el DR protege ante catástrofes totales (minutos/horas).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

¿Para qué sirve la Auditoría en una base de datos?

A

Para mantener un registro de actividad y detectar accesos no autorizados o cambios indebidos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

¿Para qué sirve el Slow Query Log?

A

Para registrar automáticamente las consultas que superan un tiempo de ejecución definido.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

¿Qué información clave nos da un Explain Plan?

A

Muestra si el motor está usando índices o si está realizando un escaneo completo de la tabla.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

¿Qué es un Full Table Scan y por qué suele ser malo?

A

Es leer toda la tabla disco por disco; es muy ineficiente en tablas grandes y ralentiza el sistema.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

¿Por qué es importante actualizar las estadísticas de la base de datos?

A

Para que el optimizador elija el camino más eficiente basándose en datos reales del volumen de la tabla.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
¿Qué es el I/O Wait en monitorización?
El tiempo que la CPU está parada esperando a que el disco le entregue los datos solicitados.
26
¿Qué es un Tablespace?
Una unidad lógica que permite agrupar y organizar los archivos físicos de datos en el disco.
27
¿Por qué es crítico elegir el Charset (juego de caracteres) al crear la BD?
Porque determina qué idiomas y símbolos se pueden guardar y es muy difícil de cambiar a posteriori.
28
¿Para qué sirve el Diccionario de Datos?
Es un conjunto de tablas internas que contienen los metadatos (la definición de toda la estructura de la BD).
29
¿Qué sucede si el archivo de parámetros está mal configurado?
La base de datos puede tener un rendimiento ínfimo o incluso no llegar a arrancar por falta de memoria.
30
¿Qué es el Autoextend en un archivo de datos?
Una propiedad que permite que el archivo crezca automáticamente cuando se queda sin espacio.
31
¿Qué es el Bulk Load?
Un método de carga masiva de datos diseñado para mover grandes volúmenes de registros rápidamente.
32
¿Por qué se desactivan los índices durante una carga masiva?
Para evitar que el motor de la BD pierda tiempo recalculando el índice con cada nueva fila insertada.
33
¿Cuál es la diferencia entre DDL y DML?
DDL crea o modifica la estructura (tablas); DML manipula los datos (insertar, borrar).
34
¿Qué riesgo hay si el orden de los scripts de creación es incorrecto?
Fallos de Integridad Referencial (no encontrar la tabla padre al crear una clave ajena).
35
¿Para qué sirve un proceso de ETL?
Para Extraer, Transformar y Cargar datos entre sistemas distintos asegurando su calidad.
36
¿Qué es una Check Constraint?
Una regla que valida que los valores de una columna cumplan una condición específica (ej. saldo > 0).
37
¿Para qué sirve la Integridad Referencial?
Para asegurar que las relaciones entre tablas sean consistentes y no existan datos huérfanos.
38
¿Qué significa un borrado en Cascada?
Que al borrar un registro padre, se borran automáticamente todos sus registros hijos relacionados.
39
¿Cuál es la ventaja de definir reglas en la BD y no solo en la App?
Que los datos están protegidos independientemente de qué aplicación acceda a ellos.
40
¿Por qué el DBA supervisa los tipos de datos de los esquemas?
Para optimizar el uso de almacenamiento y mejorar el rendimiento de los índices.
41
¿Qué es un Rol en una base de datos?
Un conjunto de privilegios que se puede asignar a uno o varios usuarios para facilitar la gestión.
42
¿Cuál es la diferencia entre un Privilegio de Sistema y uno de Objeto?
El de Sistema permite realizar acciones administrativas; el de Objeto permite actuar sobre datos de tablas específicas.
43
¿Para qué sirve integrar la BD con LDAP o Active Directory?
Para que los usuarios usen la misma contraseña corporativa y centralizar la gestión de bajas.
44
¿Qué permite controlar un Profile (Perfil) de usuario?
Reglas de seguridad como la caducidad de contraseñas o límites de recursos (CPU, tiempo de conexión).
45
¿Por qué es preferible usar Roles en lugar de asignar permisos directos?
Porque reduce errores, es más fácil de auditar y permite cambios masivos de forma rápida.
46
¿Qué es un Diccionario de Datos en el contexto de documentación?
Un documento que explica el significado y las reglas de cada tabla y columna de la BD.
47
¿Por qué es crítico documentar el procedimiento de restauración?
Para que cualquier técnico pueda recuperar el sistema en una crisis si el DBA principal no está.
48
¿Qué información incluye el Mapa de Almacenamiento?
La ubicación física de los archivos de datos y logs en los diferentes discos del servidor.
49
¿Para qué sirve el Registro de Cambios (Bitácora)?
Para rastrear modificaciones y facilitar la solución de problemas cuando surge un error inesperado.
50
¿Qué debe incluir la documentación de Objetos Programados?
La lógica y el propósito de procedimientos, funciones y triggers dentro de la base de datos.
51
¿En qué consiste el Capacity Planning?
En predecir el crecimiento futuro de los datos para anticipar necesidades de hardware.
52
¿Qué es el ILM (Information Lifecycle Management)?
La estrategia de mover datos a distintos tipos de almacenamiento según su antigüedad e importancia.
53
¿Para qué sirve un Chequeo de Consistencia?
Para detectar corrupción física en los archivos de la base de datos antes de que causen un fallo crítico.
54
¿Qué problema soluciona la Reorganización de Índices?
Elimina la fragmentación, asegurando que los datos estén ordenados físicamente en el disco.
55
¿Por qué es importante la Purga de Datos respecto a la legalidad?
Para cumplir con normativas de privacidad (como RGPD) que obligan a no guardar datos más tiempo del necesario.
56
¿Cuál es el puerto por defecto del Oracle Listener?
El 1521.
57
¿Qué significa que Oracle sea Multitenant?
Que permite gestionar múltiples bases de datos (PDB) dentro de un solo contenedor (CDB).
58
¿Qué herramienta de Oracle se encarga de configurar la base de datos tras la instalación?
El DBCA (Database Configuration Assistant).
59
¿En qué se diferencia la Instancia de la Base de Datos en Oracle?
La Instancia es memoria y procesos (RAM); la Base de Datos son los archivos físicos (Disco).
60
¿Cómo se llama el lenguaje de programación propio de Oracle?
PL/SQL (Procedural Language/Structured Query Language).
61
¿Qué proceso se encarga de recibir las peticiones de conexión por el puerto 1521?
El Listener.
62
¿Cuál es la principal diferencia entre SGA y PGA?
La SGA es memoria compartida por todos; la PGA es memoria privada para cada sesión.
63
¿En qué área de memoria se realizan las operaciones de ordenación (Sort)?
En la PGA.
64
¿Dónde se guardan los bloques de datos leídos del disco para que otros usuarios los aprovechen?
En el Buffer Cache dentro de la SGA.
65
¿Qué ocurre con el Listener una vez establecida la conexión entre usuario y servidor?
Se libera para escuchar nuevas peticiones de otros usuarios.
66
¿Qué proceso escribe en el disco cuando un usuario hace un COMMIT?
El LGWR (Log Writer).
67
¿Cuál es la función principal de PMON?
Limpiar los recursos y liberar bloqueos de los procesos de usuario que fallan.
68
¿Qué proceso se encarga de la recuperación automática de la instancia al arrancar?
El SMON (System Monitor).
69
¿Por qué el DBWn no escribe inmediatamente cada cambio en el disco?
Para agrupar escrituras y mejorar el rendimiento del sistema (evitar exceso de I/O).
70
¿Qué hace el proceso ARCn?
Copia los archivos de Redo Log terminados a un almacenamiento histórico (Archived Logs).
71
¿Cuál es la versión más reciente orientada a IA?
Oracle 23ai.
72
¿Qué diferencia a la Autonomous Database?
Se autoprotege, autoparchea y autooptimiza mediante Machine Learning.
73
¿Qué edición de Oracle es gratuita para desarrollo?
Oracle Database XE (ahora evolucionando a la edición Free).
74
¿Qué es Exadata?
Un sistema de hardware y software integrado diseñado específicamente para el máximo rendimiento de Oracle.
75
¿Cuál es la versión LTS (Long Term Support) actual más común de Oracle?
Oracle 19c.
76
En el modelo Multitenant, ¿qué significan las siglas CDB y PDB?
CDB: Container Database (el contenedor); PDB: Pluggable Database (la base de datos enchufable).
77
¿Qué es un Tablespace?
Una agrupación lógica de archivos donde se almacenan físicamente los objetos como tablas e índices.
78
¿Cuál es la unidad mínima de almacenamiento lógico en Oracle?
El Bloque de Datos (Data Block).
79
¿Qué diferencia hay entre un usuario en MySQL y un Esquema en Oracle?
En Oracle, un Esquema es el conjunto de todos los objetos (tablas, vistas) que pertenecen a un usuario específico.
80
¿Por qué es útil el modelo de PDB?
Permite consolidar muchas bases de datos en un solo servidor y moverlas fácilmente entre entornos.
81
¿Qué es un Datafile?
Es el archivo físico en el disco que da soporte de almacenamiento a un Tablespace.
82
¿En qué Tablespace reside el Diccionario de Datos de Oracle?
En el Tablespace SYSTEM.
83
¿Para qué sirve el Tablespace UNDO?
Para guardar los valores antiguos de los datos y permitir el Rollback o la consistencia de lectura.
84
¿Cuál es la función del Tablespace TEMP en Oracle?
Proporcionar espacio en disco para operaciones de ordenación y agrupación que no caben en RAM.
85
¿Puede un Datafile pertenecer a dos Tablespaces diferentes?
No, un archivo físico pertenece exclusivamente a un único Tablespace lógico.
86
¿Qué es un Segmento en términos simples?
Es el espacio lógico reservado para un objeto específico (como una tabla o un índice).
87
¿De qué está formado un Segmento?
De una o varias Extensiones (conjuntos de bloques contiguos).
88
¿Dónde se crean los Segmentos Temporales?
En el Tablespace TEMP, cuando una operación de ordenación no cabe en la RAM.
89
¿Puede un segmento estar repartido en varios Datafiles?
Sí, siempre que todos esos Datafiles pertenezcan al mismo Tablespace.
90
Si borro una tabla (DROP TABLE), ¿qué ocurre con su segmento?
El segmento se elimina (o va a la papelera de reciclaje) y su espacio queda libre para otros objetos.
91
¿Cuál es la unidad mínima de entrada/salida (I/O) en Oracle?
El Bloque de Datos (Data Block).
92
¿Qué es una Extensión?
Un conjunto de bloques contiguos asignados a un segmento como una sola unidad.
93
¿Por qué las extensiones mejoran el rendimiento?
Porque reducen los accesos al diccionario de datos y permiten lecturas secuenciales más rápidas en el disco.
94
¿Qué relación hay entre el bloque de Oracle y el bloque del S.O.?
El bloque de Oracle debe ser un múltiplo del bloque del Sistema Operativo para optimizar el rendimiento del disco.
95
¿Qué ocurre cuando un segmento se queda sin espacio en sus bloques actuales?
Oracle le asigna una nueva extensión de bloques adicionales en el Tablespace.
96
¿Qué información vital guarda el Control File?
Las rutas de todos los Data Files y Redo Logs, además del nombre de la BD y el SCN actual.
97
¿Cuál es la diferencia entre un Data File y un Redo Log?
El Data File guarda el dato final; el Redo Log guarda el historial de cambios para recuperación.
98
¿Por qué se deben multiplexar los archivos de control en Oracle?
Porque son críticos para el arranque; si se pierden, la instancia no puede encontrar el resto de la base de datos.
99
¿Qué proceso de fondo (background process) escribe en los Redo Logs?
El LGWR (Log Writer).
100
¿En qué estado se encuentra la base de datos cuando ha leído el Control File pero no los datos?
En estado MOUNT.
101
¿En qué Tablespace reside físicamente el Diccionario de Datos?
En el Tablespace SYSTEM.
102
¿Qué diferencia hay entre la vista USER_TABLES y ALL_TABLES?
USER_TABLES muestra solo tus tablas; ALL_TABLES muestra las tuyas y las que tienes permiso para ver.
103
¿Qué prefijo tienen las vistas que muestran el estado de la memoria en tiempo real?
El prefijo V$ (ej. V$SESSION).
104
¿A qué usuario pertenecen las tablas base del diccionario?
Al usuario SYS.
105
¿Qué sucede si intentas modificar manualmente una tabla del diccionario con un UPDATE?
Puedes corromper la base de datos de forma irreversible; solo el motor debe gestionarlas.
106
¿Qué comando se usa para crear un nuevo almacén lógico en Oracle?
CREATE TABLESPACE.
107
¿Para qué sirve la opción AUTOEXTEND ON?
Para que el Datafile crezca automáticamente al llenarse, evitando errores de falta de espacio.
108
¿Qué diferencia hay entre un Datafile y un Tempfile?
El Datafile es para datos permanentes; el Tempfile es para datos temporales (en tablespaces TEMP).
109
¿Qué es un Bigfile Tablespace?
Un tablespace que utiliza un único archivo de datos de gran capacidad en lugar de múltiples archivos pequeños.
110
¿Por qué es recomendable usar SEGMENT SPACE MANAGEMENT AUTO?
Porque delega en Oracle la gestión eficiente del espacio libre dentro de los bloques de forma automática.
111
¿Qué cláusula se usa en un CREATE TABLE para elegir el tablespace?
La cláusula TABLESPACE seguida del nombre del almacén.
112
¿Qué sucede si un desarrollador no especifica un tablespace al crear una tabla?
Oracle la crea en el tablespace por defecto asignado al usuario.
113
¿Es buena práctica guardar tablas e índices en el mismo tablespace?
No, se recomienda separarlos para mejorar el rendimiento y facilitar el mantenimiento.
114
¿Quién decide el nombre y el tamaño físico de los archivos de un tablespace?
El DBA.
115
¿Para qué sirve una QUOTA en un tablespace?
Para limitar la cantidad de espacio que un usuario específico puede consumir en ese tablespace.
116
¿Qué ocurre si creas un usuario sin asignarle una QUOTA?
El usuario podrá conectarse, pero no podrá crear objetos que ocupen espacio (como tablas).
117
¿Cuál es el único permiso que incluye el rol CONNECT moderno en Oracle?
El privilegio CREATE SESSION (permiso para loguearse).
118
¿Qué es un Sinónimo Público?
Un alias para un objeto que es visible y utilizable por todos los usuarios de la base de datos.
119
¿Para qué sirve la opción PASSWORD EXPIRE al crear un usuario?
Para obligar al usuario a cambiar su contraseña inmediatamente en su primera conexión.
120
¿Cómo se llama el "contenedor" de objetos que se crea automáticamente al crear un usuario?
Esquema (Schema).
121
¿Cuál es la diferencia entre RESTORE y RECOVER?
RESTORE trae los archivos del backup; RECOVER aplica los cambios recientes (Redo Logs) para actualizarlos.
122
¿Qué significa el comando BACKUP DATABASE PLUS ARCHIVELOG?
Respalda todos los datos de la BD y además todos los archivos de historial de transacciones.
123
¿Dónde guarda RMAN por defecto el registro de sus copias de seguridad?
En el Control File de la base de datos.
124
¿Qué es un Backup Incremental en RMAN?
Una copia que solo incluye los bloques de datos que han cambiado desde el último backup.
125
¿Es necesario apagar la base de datos para usar RMAN?
No, RMAN puede realizar backups con la base de datos abierta y en uso (Hot Backup).
126
¿Qué es Cache Fusion en Oracle RAC?
La tecnología que permite compartir datos entre las memorias RAM (SGA) de los distintos nodos a través del Interconnect.
127
¿Cuál es la diferencia física principal entre una instancia normal y RAC?
En RAC, múltiples instancias en distintos servidores acceden a un único almacenamiento compartido.
128
¿Para qué sirve el Interconnect en Oracle RAC?
Es una red privada de alta velocidad para la comunicación interna entre los nodos del cluster.
129
¿Qué sucede con las conexiones de usuario si un nodo del cluster falla?
Gracias a la VIP y al FAN (Fast Application Notification), se redirigen automáticamente a los nodos que siguen vivos.
130
¿Qué software es necesario instalar antes que la base de datos para que RAC funcione?
Oracle Grid Infrastructure (Clusterware).
131
¿Qué significa que PL/SQL sea un lenguaje procedimental?
Que permite definir un flujo lógico paso a paso (bucles, condiciones) para manipular datos.
132
¿Por qué PL/SQL mejora el rendimiento de la red?
Porque envía bloques de código enteros al servidor en un solo viaje, en lugar de sentencias SQL sueltas.
133
¿Cuál es la diferencia principal entre una Función y un Procedimiento?
La Función siempre devuelve un valor; el Procedimiento realiza una acción pero no tiene por qué devolver nada.
134
¿Para qué sirve la sección EXCEPTION de un bloque?
Para capturar y gestionar errores sin que el programa se detenga bruscamente.
135
¿Qué es un Trigger?
Un bloque de código que se ejecuta automáticamente ante un evento (como un INSERT o DELETE).
136
¿Qué es un Cursor en PL/SQL?
Un puntero o manejador a un área de memoria que contiene los resultados de una consulta SQL.
137
¿Cuál es la diferencia entre un cursor implícito y uno explícito?
El implícito lo gestiona Oracle automáticamente; el explícito lo define y controla el programador para múltiples filas.
138
¿Qué hace el comando FETCH?
Recupera la fila actual del cursor, asigna sus valores a variables y avanza a la siguiente fila.
139
¿Para qué sirve el atributo %NOTFOUND?
Para saber cuándo hemos terminado de recorrer todas las filas y debemos salir del bucle.
140
¿Por qué es importante ejecutar CLOSE en un cursor explícito?
Para liberar la memoria RAM (SGA/PGA) que estaba ocupando el conjunto de resultados.
141
¿Cuál es la diferencia principal entre una Vista normal y una Materializada?
La normal es una consulta lógica; la Materializada guarda los datos físicamente en el disco.
142
¿Qué es el Query Rewrite?
La capacidad de Oracle de usar una vista materializada automáticamente para acelerar una consulta de un usuario.
143
¿Qué requisito tiene el refresco tipo FAST?
Que la tabla base tenga un Materialized View Log para registrar los cambios.
144
¿Cuándo se actualiza una vista con la opción ON COMMIT? En Oracle
Inmediatamente después de que se confirma una transacción en la tabla original.
145
¿Para qué sirve la opción BUILD DEFERRED?
Crea la estructura de la vista pero no la llena de datos hasta que se solicite el primer refresco.
146
¿Qué comando de SQL*Plus se usa para ver la estructura de una tabla?
El comando DESCRIBE (o DESC).
147
¿Para qué sirve el comando SPOOL?
Para guardar en un archivo de texto todo lo que se muestra en la pantalla de la terminal.
148
¿Qué hace el comando SET SERVEROUTPUT ON?
Permite que se muestren los resultados de impresión de los bloques PL/SQL en la consola.
149
¿Cuál es la función del carácter / (barra inclinada) en SQL*Plus?
Ejecutar el comando SQL o PL/SQL que se encuentra actualmente en el buffer de memoria.
150
¿Cómo se ejecuta un script SQL externo desde SQL*Plus?
Usando el símbolo @ seguido del nombre del archivo (ej. @mi_script.sql).
151
¿Qué diferencia a Data Pump de RMAN?
RMAN es para recuperación ante desastres (físico); Data Pump es para mover datos entre bases de datos (lógico).
152
¿Qué son EXPDP e IMPDP?
Son las herramientas de línea de comandos para exportar e importar datos usando la tecnología Data Pump.
153
¿Por qué es necesario un DIRECTORY en Data Pump?
Porque es el objeto que indica a la base de datos en qué carpeta física debe escribir o leer los archivos .dmp.
154
¿Qué permite hacer la opción REMAP_SCHEMA en Oracle?
Importar los datos de un usuario en un esquema con un nombre diferente.
155
¿Se puede exportar solo la estructura de las tablas sin los datos?
Sí, usando la opción CONTENT=METADATA_ONLY.
156
¿Qué puerto utiliza por defecto MySQL y MariaDB?
El puerto 3306.
157
¿Por qué se creó MariaDB?
Como un fork de código abierto tras la compra de MySQL por parte de Oracle.
158
¿Qué significa que MariaDB sea un "reemplazo directo" (drop-in replacement)?
Que puedes sustituir MySQL por MariaDB sin cambiar la estructura de tus tablas o tu código de aplicación.
159
¿A quién pertenece actualmente MySQL?
A Oracle Corporation.
160
¿Cuál es el motor de almacenamiento (Storage Engine) estándar en MySQL?
InnoDB.
161
¿Cuál es el componente de memoria más grande de MySQL/InnoDB?
El Buffer Pool.
162
¿Qué diferencia principal hay entre la arquitectura de Oracle y MySQL?
Oracle usa procesos independientes; MySQL usa un único proceso con múltiples hilos (threads).
163
¿De qué se encarga el Purge Thread en MySQL?
De eliminar físicamente los datos antiguos que ya no son necesarios tras un DELETE o UPDATE.
164
¿Qué son las Dirty Pages en MySQL?
Páginas de datos en la memoria RAM que han sido modificadas pero aún no se han escrito en el disco.
165
¿Para qué sirve el Log Buffer en MySQL?
Para almacenar temporalmente los cambios de las transacciones antes de escribirlos en los archivos de Redo Log.
166
¿Qué motor de MySQL soporta transacciones y claves foráneas?
InnoDB.
167
¿Cuál es la principal desventaja de MyISAM respecto a la concurrencia?
Que utiliza bloqueo a nivel de tabla, impidiendo que varios usuarios escriban simultáneamente.
168
¿Qué motor de MariaDB está diseñado específicamente para analítica y Big Data?
ColumnStore (motor columnar).
169
¿Qué es el Aria en MariaDB?
Un motor diseñado para ser el sucesor seguro (crash-safe) de MyISAM.
170
¿En qué motor de MySQL los datos se almacenan físicamente ordenados por su clave primaria?
En InnoDB (Índice Clúster).
171
¿Qué diferencia hay entre el BinLog y el RelayLog?
El BinLog está en el servidor principal; el RelayLog es la copia temporal en la réplica antes de aplicarse.
172
¿Cuál es la función de los Data Nodes en un Cluster NDB?
Almacenar físicamente los datos y gestionar su replicación interna y fragmentación.
173
¿Qué motor de almacenamiento utiliza MySQL Cluster en lugar de InnoDB?
El motor NDB.
174
¿Por qué la replicación estándar se considera "asíncrona"?
Porque el Master confirma el COMMIT al usuario sin esperar a que la réplica haya procesado el cambio.
175
¿Qué nodo de un cluster se encarga de recibir las conexiones de las aplicaciones?
El SQL Node.
176
¿Qué tipo de archivo genera mysqldump?
Un archivo de texto plano (.sql) con sentencias SQL para reconstruir los datos.
177
¿Para qué sirve la opción --single-transaction?
Para hacer un backup de tablas InnoDB sin bloquearlas, manteniendo la consistencia.
178
¿Cómo se restaura un archivo generado por mysqldump?
Usando el cliente mysql y el operador de redirección de entrada <.
179
¿Qué sucede si intentas restaurar un backup de una tabla en una base de datos que no existe?
El proceso fallará; primero debes crear la base de datos con CREATE DATABASE.
180
¿Cuál es la principal limitación de mysqldump en bases de datos muy grandes?
El tiempo de restauración, ya que ejecutar millones de INSERT línea a línea es lento.
181
¿Qué comando de mysqladmin sirve para verificar si el servidor responde?
El comando ping.
182
¿Cómo se puede ver la lista de procesos activos desde la terminal?
Usando mysqladmin processlist.
183
¿Para qué sirve el comando flush-logs?
Para cerrar los archivos de log actuales y abrir unos nuevos (rotación de logs).
184
¿Qué utilidad tiene mysqladmin status?
Muestra estadísticas rápidas como el uptime, hilos activos y consultas por segundo.
185
¿Se puede cambiar la contraseña de un usuario con esta herramienta?
Sí, utilizando el comando password.
186
¿Cuál es el puerto por defecto de PostgreSQL?
El 5432.
187
¿Qué es el search_path?
Una configuración que determina el orden en que Postgres busca los esquemas para encontrar una tabla.
188
¿Cuál es la diferencia de un Tablespace en Postgres vs Oracle?
En Postgres es un directorio del SO, mientras que en Oracle es una colección de archivos de datos manejados por el motor.
189
¿Cómo se llama el esquema que viene creado por defecto en toda base de datos?
El esquema public.
190
¿Qué es un Rol en Postgres?
Una entidad que puede actuar como usuario (si tiene login) o como grupo de permisos.
191
¿Qué diferencia a un "Usuario" de un "Grupo" en PostgreSQL?
Técnicamente nada; ambos son Roles. La diferencia es el atributo LOGIN.
192
¿Qué es el Partition Pruning?
La capacidad de Postgres de ignorar particiones irrelevantes durante una consulta para ahorrar tiempo.
193
¿Qué sucede si insertas un dato en la tabla padre que no encaja en ninguna partición?
Postgres lanzará un error, a menos que hayas creado una partición por defecto (DEFAULT).
194
¿Cómo hereda un usuario los permisos de un grupo en Postgres?
Usando la cláusula IN ROLE al crear el usuario o mediante GRANT grupo TO usuario.
195
¿Cuál es el beneficio de usar particionamiento por LIST?
Permite agrupar datos basados en valores discretos como códigos de país o estados.
196
¿Qué sucede si consulto la tabla "padre" en una estructura de herencia?
Postgres devuelve los registros de la tabla padre y de todas sus tablas hijas.
197
¿Qué sentencia SQL de PostgreSQL activa la seguridad por fila en una tabla?
ALTER TABLE nombre_tabla ENABLE ROW LEVEL SECURITY;
198
¿Qué es una POLICY en RLS?
Es la regla lógica que define qué filas son visibles para qué roles.
199
¿Cómo puedo consultar la tabla padre SIN ver los datos de las hijas?
Usando la palabra clave ONLY (ej. SELECT * FROM ONLY padre;).
200
¿Cuál es la ventaja de Row Level Security frente a filtrar en el código (de la Aplicación)? PostgreSQL
La seguridad se gestiona en la base de datos, eliminando el riesgo de fugas de datos por errores en el código.
201
¿Cuál es el lenguaje procedimental nativo y más común en Postgres?
PL/pgSQL.
202
¿Qué significa la "u" al final de un lenguaje como PL/Python3u?
Significa "Untrusted"; el lenguaje puede acceder a recursos externos como archivos o red.
203
¿Se pueden usar librerías externas de Python dentro de una función de Postgres?
Sí, siempre que el lenguaje esté instalado como plpython3u y la librería esté en el servidor.
204
¿Qué extensión permite ejecutar JavaScript dentro de la base de datos?
La extensión PL/v8.
205
¿Cómo se especifica qué lenguaje estamos usando al crear una función?
Con la cláusula LANGUAGE al final del comando CREATE FUNCTION.
206
¿Qué archivo es la base de toda la replicación en PostgreSQL?
El archivo WAL (Write Ahead Log).
207
¿Qué diferencia hay entre un Standby y un Hot Standby en PostgreSQL?
El Standby normal solo recibe datos; el Hot Standby además permite que los usuarios lancen consultas de lectura.
208
¿Para qué sirve una herramienta como Patroni?
Para automatizar el Failover (detectar la caída del líder y promocionar a una réplica automáticamente).
209
¿Qué sucede en una Replicación Sincrónica si todas las réplicas se apagan?
El servidor primario detendrá todas las escrituras para garantizar que no haya pérdida de datos.
210
¿Cómo se llama el proceso en el servidor Standby que recibe los datos del Primario?
WAL Receiver.
211
¿Cuál es la principal ventaja de MVCC?
Que los lectores no bloquean a los escritores y viceversa.
212
¿Qué sucede físicamente en el disco durante un UPDATE con MVCC?
Se marca la fila antigua como "borrada" y se inserta una nueva versión de la fila.
213
¿Qué son el xmin y xmax en una fila de Postgres?
Son los marcadores que indican qué transacciones pueden ver esa fila basándose en cuándo se creó o borró.
214
¿Cómo garantiza MVCC que un reporte de 2 horas sea consistente?
Proporcionando a la consulta un Snapshot (foto) de los datos tal cual estaban al empezar.
215
¿Qué proceso es vital en Postgres para limpiar las versiones muertas creadas por MVCC?
El proceso VACUUM.
216
¿Qué ventaja tiene usar createdb frente a entrar en psql y lanzar el SQL?
Facilita la automatización mediante scripts de shell y el uso de variables de entorno.
217
¿Qué hace el parámetro -i en dropdb o dropuser?
Activa el modo interactivo, pidiendo confirmación antes de realizar la acción destructiva.
218
¿Qué comando usarías para crear un usuario con privilegios de Superusuario?
createuser -s nombre_usuario
219
¿Es necesario entrar en la base de datos para borrarla con dropdb?
No, se ejecuta directamente desde la terminal del sistema operativo.
220
¿Qué parámetro de createdb permite asignar un dueño a la base de datos al momento de crearla?
El parámetro -O (de Owner).
221
¿Qué comando de psql se usa para ver la definición de una tabla?
El comando \d nombre_tabla.
222
¿Por qué usarías pg_dumpall en lugar de pg_dump?
Para respaldar los Roles/Usuarios y todas las bases de datos del servidor a la vez.
223
¿Para qué sirve el formato -F c en pg_dump?
Crea un archivo binario personalizado que es más pequeño y permite restauración selectiva.
224
¿Cómo se puede acelerar un backup de una base de datos muy grande?
Usando la opción de paralelismo -j con pg_dump.
225
¿Qué hace el comando \copy dentro de psql?
Importa o exporta datos entre archivos (como CSV) y tablas de la base de datos.
226
¿Qué herramienta se usa para restaurar un backup binario de Postgres?
La herramienta pg_restore.
227
¿Cuál es la diferencia entre vacuumdb y vacuumdb -f?
El normal limpia espacio libre; el -f (Full) reescribe la tabla en disco para compactarla al máximo.
228
¿Cómo se puede aplicar un cambio en pg_hba.conf sin reiniciar el servidor?
Usando el comando pg_ctl reload.
229
¿Por qué usarías reindexdb?
Para mejorar el rendimiento de búsqueda si un índice se ha vuelto muy grande o está corrupto.
230
¿Qué permite la opción -j en pg_restore?
Realizar la restauración de forma paralela usando varios núcleos del procesador.
231
¿Qué parámetro de postgresql.conf define cuánta RAM se usa para caché de datos?
El parámetro shared_buffers.
232
¿Qué archivo debes editar para permitir que una IP remota se conecte a Postgres?
El archivo pg_hba.conf.
233
¿Qué significa el método de autenticación trust en PostgreSQL?
Que el servidor no pedirá contraseña para dejar entrar al usuario.
234
¿Para qué sirve el parámetro listen_addresses?
Para definir en qué interfaces de red el servidor "escuchará" peticiones (ej. localhost o *).
235
¿Es necesario reiniciar el servidor para cambiar el work_mem?
No, generalmente basta con un reload de la configuración.
236
¿Cuál es el puerto TCP estándar para SQL Server?
El 1433.
237
¿Qué contiene la base de datos de sistema tempdb?
Objetos temporales, tablas intermedias de consultas y versiones de filas.
238
¿Cuál es la extensión típica del archivo de datos primario en SQL Server?
.mdf (Master Data File).
239
¿Qué es un Filegroup?
Una unidad lógica que permite agrupar uno o varios archivos físicos de datos para su gestión.
240
¿Para qué sirve el puerto UDP 1434?
Para el servicio SQL Server Browser, que ayuda a localizar instancias en el servidor.
241
¿Cómo se identifican las variables locales en T-SQL?
Siempre empiezan con el símbolo @ (ej. @monto).
242
¿Qué base de datos utiliza SQL Server para gestionar el versionado de filas (RCSI)?
La base de datos tempdb.
243
¿Qué es el SQL Server Agent?
Un servicio encargado de programar y ejecutar tareas automáticas (Jobs), alertas y mantenimiento.
244
¿Para qué sirve la cláusula OUTPUT en un INSERT/UPDATE?
Para devolver los valores de las filas afectadas por la operación en ese mismo instante.
245
¿Qué sucede con los lectores y escritores cuando RCSI está activado?
Los lectores no bloquean a los escritores (concurrencia optimista).
246
¿Qué herramienta gratuita de Microsoft se usa para gestionar SQL Server?
SSMS (SQL Server Management Studio).
247
¿Qué diferencia hay entre el modelo de recuperación Simple y el Full?
El Full permite backups del log y recuperación "punto en el tiempo"; el Simple no.
248
¿Para qué sirve un Backup Diferencial?
Para guardar solo los cambios realizados desde el último backup completo, ahorrando espacio y tiempo.
249
¿Qué sucede con el archivo .ldf en modo Full si no haces backups del log?
Crecerá indefinidamente hasta llenar el disco duro.
250
¿Cómo se llama la funcionalidad de SSMS para ver cómo el motor resuelve una consulta?
Plan de Ejecución (Execution Plan)
251
¿Qué SGBBDD utilizan una arquitectura basada en procesos en lugar de hilos?
Oracle y PostgreSQL.
252
¿Cuál es el puerto de PostgreSQL?
El 5432.
253
¿Qué SGBBDD destaca por permitir el uso de múltiples lenguajes (Python, JS, Rust) en sus funciones?
PostgreSQL.
254
¿En qué SGBBDD el concepto de Esquema y Usuario es prácticamente lo mismo?
En Oracle.
255
¿Qué SGBBDD utiliza la base de datos tempdb para gestionar el versionado de filas en su modo avanzado?
SQL Server.