Administración De BBDD Flashcards
Quién es el administrador de BBDD
DBA
Dentro de la monitorización, cómo detectar si hay consultas o queries lentas en MySQL
Editando el fichero my.conf de MySQL
- Shell> nano /etc/MySQL/my.conf
Agregamos líneas al log
- set-variable=long_query_time= 5
- log-slow-queries=/var/log/MySQL/log-slow-queries.log
Qué es EXPLAIN (cualquier gestor)
Es una sentencia que nos da el plan de ejecución de una Query SQL (por ejemplo fila a fila (Full Scan))
Habría que crear un índice como estructura para que vaya más rápido (Index Scan)
Por qué puerto escucha ORACLE
1521
Hay otros dos puertos:
- 2483 SIN SEGURIDAD
- 2484 CON SEGURIDAD SSL
Estructura lógica del almacenamiento de oracle
- En Oracle únicamente hay una única Base De Datos que se divide en varios Tablespace.
- En un Tablespace se guardan bastantes tipos de objetos (no sólo tablas). Se divide en 1 o N segmentos. La información, físicamente, se almacena en uno o N archivos de datos datafile (physical structures).
- Segmento (tabla, índices, etc) se puede dividir en extensiones.
- Extensión: espacio continuo. Se divide en bloques.
- Bloques: bloques lógicos que se tienen que corresponder con el bloque físico. (Mapeo de bloques lógicos a bloques físicos)
Tablespaces por defecto en Oracle
- USERS
- SYSTEM : sirve para contener el diccionario de datos
- SYSAUX
- TEMP
- UNDOTBS1
Al haber únicamente una base de datos en Oracle, ¿Qué hay que crear para que los usuarios puedan crear sus tablas de BBDD de Nominas, por ejemplo?
Usuario / Esquema para contener las tablas de Nominas
¿Qué hay que hacer necesariamente para que un usuario pueda trabajar en Oracle?
Hay que darle previamente una serie de permisos a nivel individual o con un rol como CONNECT que ya contiene create sesion y otros privilegios del sistema
Herramienta de Backup de Oracle
RMAN (Herramienta de línea de comandos)
Solución de cluster para Oracle
RAC
Lenguaje para hacer procedimientos almacenados en Oracle
PL/SQL
Para crear columnas autoincrementales en Oracle
create sequence
Para qué otro usuario de la app vea las tablas de otro
Create synonym + grant select…
Qué es una vista materializada
Es una caché de las vistas
Create materialized view nombre_vista
Cual es la herramienta de linea de comando de Oracle
SQLPLUS
Qué otra herramienta hay para administrar Oracle
TOAD
En DATA DUMP cual es el atributo para indicar donde queremos guardar el fichero Backup
dumpfile
Qué otra herramienta hay en Oracle para la exportación/Backup e importación/restauración?
DATA DUMP
- EXPDP aplicación para exportación
- IMPDP aplicación para importación
Puerto de MySQL/MariaDB
3306
Diferencias MySQL/MariaDB
MySQL no es OpenSource
MariaDB si es OpenSource
En qué consisten los motores de almacenamiento de MySQL/MariaDB
Son formas de especificar como se quiere que se guarden datos de una tabla.
Motores de almacenamiento en MySQL
- InnoDB (ACID) está orientado a datos transaccionales.
- MyISAM está orientado a datos de consulta. (No transaccional)
Motores de almacenamiento en MariaDB
- XtraDB homólogo de InnoDB (Transaccional)
- Aria homólogo de MyISAM (No transaccional)
Soluciones HA (ALTA DISPONIBILIDAD) en MySQL
- Replicación (Máster - Slave)
Fichero Binlog con las sentencias (Master) y fichero Relay Log (slave) - Modo Cluster: grupo de nodos de procesamiento de consultas y otro grupo de nodos de datos. Nodos de procesamiento (mysqld) y nodos de datos (ndbd)
Sistema de almacenamiento cuando trabajamos con Cluster en MySQL
NDB
Como extraer e importar Información de una base de datos en MySQL
COPIA DE SEGURIDAD - mysqldump -u [username] -p [databasename] > fichero.sql
RESTAURACIÓN - mysql -u [username] -p [databasename] < fichero.sql
Comando para mantenimiento de MyISAM
myisamchk
Comando de administración general en MySQL
mysqladmin
Puerto de POSTGRES
5432
Características Postgres SQL
- Capacidad de crear datos y esquemas
- Tablespace
- Roles con opciones específicas
- Particionamiento de tablas
¿PostgreSQL soporta concepto de herencia entre tablas?
SI
Qué tiene Postgres en cuanto a seguridad para poder filtrar que ciertos usuarios no vean ciertas filas
Unidad basada en filas RLS
¿PostgreSQL tiene lenguaje de procedimiento almacenados?
Si, tiene varios
- PL/pgSQL
- PL/TCl
- PL/Perl
- PL/Python
Qué tipo de replicación tiene Postgre
Entre master-slave como MySQL
Comando para resetear el gestor de base de datos en Postgre
pg_ctl
Comando para volver a estructurar índices en Prostgress
reindexdb
Cual es el nombre del fichero de configuración en Postgres
- /etc/pg_hba.conf (información configuración clientes)
- /etc/PostgreSQL/9.6/main/postgresql.conf (servidor)
Comandos importantes PostgreSQL
- psql (cliente de linea de comando)
• createdb / dropdb (crear o borrar base de datos)
• createuser / dropuser (crear o borrar un usuario/role) - pg_dump (backup de una base de datos)
- pg_dumpall (backup de todas las bases de datos)
- vacuumdb (limpia y analiza la bbdd)