b4t2 - Admon BBDD Flashcards

1
Q

Qué dos tipos de mecanismos de seguridad se establecen en las BBDD por el DBA?

A

Disponibilidad -> HA
Vistas -> Permisos

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

En Oracle, cuando se crea una instancia de Oracle, cuántas BBDD se crean?

A

Una sola BBDD, no es una por aplicación como SQLServer, MySql, etc…

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

Cuáles son los puertos de ..?
Oracle
MySql
SQL Server
PostgreSQL

A

Oracle -> 1521 (antes, el clásico), 2483 (ahora)
MySql -> 3306
SQLServer -> 1433
PostgreSQL -> 5432

Añadir a excel de puertos

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

En SQLServer, cuáles son las bases de datos del sistema (System databases)

A

master: La base de datos master almacena la configuración y la información sobre todas las demás bases de datos del servidor, incluidos los inicios de sesión, las configuraciones de seguridad y las ubicaciones de los archivos de datos.

model: La base de datos model se utiliza como plantilla para crear nuevas bases de datos. Cualquier configuración o ajuste realizado en la base de datos model se hereda por las nuevas bases de datos creadas en el servidor.

msdb: La base de datos msdb almacena información sobre tareas de mantenimiento, como copias de seguridad y restauraciones, historial de trabajos y notificaciones del Agente SQL Server. También se utiliza para almacenar paquetes de Integration Services (SSIS) y datos relacionados con la administración de la base de datos.

tempdb: La base de datos tempdb se utiliza para almacenar datos temporales, tablas temporales y variables de tabla. También se utiliza para realizar operaciones de clasificación y unir datos temporales en consultas. tempdb es recreada cada vez que se inicia SQL Server y actúa como un espacio de trabajo temporal para las conexiones de usuario.

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

Qué son los siguientes conceptos de la arquitectura de Oracle?

  • Proceso Usuario
  • PGA
  • Listener
  • SGA
  • Procesos en segundo plano
A
  • Proceso Usuario -> Proceso externo que es el que quiere usar Oracle
  • PGA (Program Global Area)-> Proceso en servidor que atiende al Proceso de Usuario. Da acceso al área global
  • Listener -> Escucha las peticiones del Proceso Usuario para ponerle en contacto con el PGA
  • SGA (Server Global Area) -> Área global de Oracle. Zona de memoria donde se guardan los datos globales de la instancia. Son cachés llamadas pools.
  • Procesos en segundo plano -> Procesos propios de la instancia de Oracle para sus distintas fuciones, como el DBWn (DB writer), LGWR (para logs), PMON, SMON, CKPT,…
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

En cuanto a la estructura lógica de almacenamiento en Oracle, qué elementos hay, de arriba a abajo?

A

Base de datos
Tablespaces -> Sirve para agrupar segmentos de objetos (tablas, índices, etc…). Se puede almacenar físicamente en uno o varios archivos de datos (data files).
Segmentos -> Tabla, Índice, Undo, LoB, …
Extensión (extend) -> Espacio contiguo de bloques
Bloques -> Bloques lógicos de datos. Se mapea con uno o varios bloques del S.O., són múltiplos de estos bloques del S.O.

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

Qué tablespaces por defecto hay en Oracle y para qué son?

A

USERS
SYSTEM -> Diccionario de datos
SYSAUX

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

Qué tres tipos de ficheros tiene una Base de Datos SQL Server y qué extensión tienen?

A

Primary (.mdf) -> Principales, apuntan al resto
Secondary (.ndf) -> Opcionales por usuario
Transaction log (.ldf) -> Logs para recuperar la BBDD

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

Dentro de las acciones que suele hacer un BDA está la de creación de tablespaces. ¿Cómo es la sentencia?

A

CREATE TABLESPACE ts_data/ts_indices…
DATAFILE ‘var/data/oracle/ts_data_01.dbf’ -> Esta cláusula DATAFILE se puede poner varias veces, ya que puede haber varios datafiles para un tablespace
SIZE 100
AUTOEXTEND ON
….;

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

Dentro de las acciones que suele hacer un BDA está la de creación de tablas. ¿Cómo es la sentencia?

A

CREATE TABLE alumnos
TABLESPACE ts_data -> Indica en qué ts se crea la tabla
STORAGE (INITIAL 20K NEXT 30K MAXEXTENS 50)
….;

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

Dentro de las acciones que suele hacer un BDA está la de creación de usuarios y de asignarle una contraseña , asignándolo a un tablespace ¿Cómo es la sentencia?

A

CREATE USER nominasowner
IDENTIFIED BY “password”
DEFAULT TABLESPACE ts_data
TEMPORARY TABLESPACE ts_tem;

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

Qué es un esquema en Oracle y qué pasos se siguen para crearlo y dar permisos a un usuario?

A

En Oracle es como decir usuario. Es necesario crear un usuario “owner” para gestionar y representar el esquema.
Hay que hacerle un CREATE USER y luego un GRANT CONNECT ON tabla TO usuario, para que el usuario tenga conexión con las tablas del esquema

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

Qué es el tipo de permiso CONNECT en oracle?

A

Es un rol que incluye CREATE SESSION y otros privilegios del sistema como CREATE TABLE, etc..
Se le suele hacer al usuario owner del esquema de tablas
GRANT CONNECT TO tabla

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

Para qué se usa la herramienta RMAN en Oracle?
Cómo es la sentencia?

A

Para hacer back_ups

BACKUP TABLESPACE ts_data
FORMAT /location
TAG ‘…’
FROM TIME … UNTIL TIME …

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

Para qué se usa el PL/SQL en Oracle?
Cómo se llama el estandar?

A

Como lenguaje para procedimientos almacenados
El estándar de sql se llama SQL/PSM

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

Cómo se crean columnas autoincrementales en Oracle?

A

CREATE SEQUENCE

CREATE SEQUENCE secuencia_ejemplo
START WITH 1
INCREMENT BY 1
NOMAXVALUE;

INSERT INTO ejemplo (id, nombre)
VALUES (secuencia_ejemplo.NEXTVAL, ‘Ejemplo 1’);

INSERT INTO ejemplo (id, nombre)
VALUES (secuencia_ejemplo.NEXTVAL, ‘Ejemplo 2’);

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

Qué hay que hacer en Oracle para que un usuario vea las tablas de otro?

A

Crear un sinónimo y darle permisos

CREATE SYNONIM
+
GRANT SELECT ….

CREATE SYNONYM mi_sinonimo
FOR otro_usuario.objeto;

GRANT SELECT, UPDATE, DELETE ON mi_sinonimo TO usuario;

18
Q

Cuál es la herramienta de solucion de cluster (HA) en Oracle?

A

Oracle RAC - Real Application Clusters

19
Q

Qué es una vista materializada en Oracle?
Con qué sentencia se crea?

A

Es una vista pero que no hace select a las tablas, es una foto “estática” entre los refrescos que se establezcan. Es útil cuando los datos de esa select no cambian mucho.

CREATE MATERIALIZED VIEW nombre_vista
..
REFRESH {FAST|COMPLETE|FORCE|NEVER}

AS SELECT … FROM TABLE …..

20
Q

En MySQL / Maria DB, existen los Motores de almacenamiento, que se pueden asignar a una tabla al crearla para indicarle con qué formato o motor de almacenamiento se va a crear.
¿Cuáles hay?

A

InnoDB -> Es actualmente el motor por defecto. Soporta transaccionalidad, por tanto necesario si hay inserts, updates o deletes
MyISAM -> Es ligero y crash safe, fue el motor por defecto hasta InnoDB. No es transaccional, por lo que solo vale si no necesitas garantizar ACID,, no soporta foreign keys, soporta índices FULLTEXT.
Aria -> Es el nuevo MyISAM en MariaDB
Memory
NDB
XtraDB -> Es una mejora de InnoDB

21
Q

Qué tres ficheros por tabla se crean en MySql/MariaDB con el motor de almacenamiento MyISAM?

A

frm -> formato tabla
myd -> datos
myi -> índices

22
Q

Qué son los ficheros BinLog y RelayLog en MySQL / MariaDB?

A

Se usan en la estrategia de HA de replicación. Consiste en que las sentencias le llegan al nodo master, y este las guarda en el BinLog. Luego asíncronamente les manda esas sentencias a los nodos slave a sus RelayLog.

23
Q

En MYSql y MariaDB hay una estrategia de HA basada en la deslocalización en cluster.
Están separados o distribuidos en cluster los nodos de servicio sql y de datos
Los nodos de datos en cluster, en MYSQL/ MariaDB se llaman NDB Cluster

24
Q

Con qué comando se hacen las copias de seguridad en MySql/MariaDB?

A

mysqldump - u userName -p databaseName > fichero.sql/o .bkp
–all-databases
–lock-tables = true/false
–no-data
–add -drop -database

Genera un fichero con scripts de creación y poblado de datos.

25
Con qué herramienta de Oracle y comandos suyos se exportan e importan los datos?
Herramienta PUMP - expdp - impdp
26
Como se llama la herramienta de linea de comandos de Oracle para parar, arrancar, etc.. el servicio en el servidor?
SQLPLUS
27
Respecto a los ficheros de configuración en Debian de MySQL/MariaDB, qué son los siguientes? etc/mysql/my.cnf etc/alternatives/my.cnf etc/mysql/conf.d/varios fiheros... etc/mysql/mariadb.conf.d/..varios ficheros...
etc/mysql/my.cnf -> El típico donde estaba todo, ahora es un enlace simbólico al siguiente fichero. etc/alternatives/my.cnf -> Actualmente como la config es modular, ya el contenido no está aquí, sólo tiene "imports" de los dos siguientes grupos de ficheros etc/mysql/conf.d/varios fiheros... -> Configuración etc/mysql/mariadb.conf.d/..varios ficheros... -> Configuración modular
28
Para qué sirve el comando de MySQL / Maria DB maria-db-secure-installation?
Es un enlace simbólico al comando mysq_secure_installation. Es un script de linux que permite empezar una instalación de cero o volver a restablcerla. - Restablecer contraseñas de las cuentas root - Borrar cuentas de usuario de root o anónimas - Borrar la base de datos de test por defecto
29
Echar un vistazo a las opciones del comando mysqladmin
30
Echar un vistazo a los comandos de administración de mysql del laboratorio del tema
31
Qué similitudes y diferencias tiene PostgreSQL con MariaDB/MySQL?
Similutudes: También se crean databases y schemas, se pueden definir tablespaces para gestionar tablas, índices, etc ... Diferencias: - Toda la seguridad se gestiona creando roles CREATE ROLE nombreRol LOGIN(rol de usuario)|SUPERUSER|CREATEDB|CREATEROLE - Se pueden particionar tablas CREATE TABLE medidas (.....) PARTITION BY RANGE (campo) - Se maneja el concepto de herencia para tablas, para heredar campos de otra CREATE TABLE cliente (...) INHERITS (persona); - Existe la seguridad basada en filas (RLS) CREATE POLICY politica ON tabla FOR SELECT TO usuario USING (filtro) + ALTER TABLE tabla ENABLE ROW LEVEL SECURITY; - Se pueden implementar procedimientos almacenados en 4 lenguajes (PL/pgSQL, PL/TCL, PL/Perl, PL/Python) - Tiene replicación master/slave parecida a MySQL, mediante archivos WAL (write ahead log/REDO) que guarda info de transacciones y cambios - Tiene un modelo de concurrencia avanzado (MVCC - Multiversion Concurrency Control): Cada transacción tiene un snapshot de datos
32
En qué ficheros se encuentra en PostgreSQL la configuración de autenticación de clientes y la configuración del servidor
Autenticación -> /etc/pg_hba.conf Servidor -> /etc/postgresql/9.6/main/postgresql.conf
33
Cómo se gestiona la seguridad en PostgreSQL y cómo es la sentencia?
- Toda la seguridad se gestiona creando roles CREATE ROLE nombreRol LOGIN(rol de usuario)|SUPERUSER|CREATEDB|CREATEROLE
34
Cómo se pueden particionar tablas en PosgreSQL?
- Se pueden particionar tablas CREATE TABLE medidas (.....) PARTITION BY RANGE (campo)
35
Cómo es la sentencia en PostgreSQL una tabla herede campos de otra?
- Se maneja el concepto de herencia para tablas, para heredar campos de otra CREATE TABLE cliente (...) INHERITS (persona);
36
Cómo se puede aplicar una política restrictiva por usuario y fila en PosgreSQL?
- Existe la seguridad basada en filas (RLS) CREATE POLICY politica ON tabla FOR SELECT TO usuario USING (filtro) + ALTER TABLE tabla ENABLE ROW LEVEL SECURITY;
37
Con qué lenguajes se pueden crear procedimientos almacenados en PostgreSQL?
- Se pueden implementar procedimientos almacenados en 4 lenguajes (PL/pgSQL, PL/TCL, PL/Perl, PL/Python)
38
¿Qué es Navicat Premium en el entorno de administración de bases de datos?
Es un administrador de bases de datos propietario, de múltiples conexiones, que permite conectarse a diversas bases de datos como MySQL, MariaDB, SQL Server, etc. Simultáneamente en una sola aplicación.
39
Los niveles de aislamiento de un sistema gestor de bases de datos definidos en el estándar ANSI/ISO con respecto a trabajar con transacciones son:
Serializable, lectura confirmada, lectura no confirmada y lectura repetible.
40
Comandos postgre para conectarse a una base de datos listar las bbdd disponibles listar las tablas disponibles gestionar arranque, parada, etc.. del servicio de posgre en el servidor herramienta de linea de comando crear y borrar bbdd crear y borrar usuario backup de bbdd restaurar backup reindexar bbdd
psql -d database -U user -W \l \dt pg_ctl psql createdb / dropdb createuser / dropuser pg_dump / pg_dumpall pg_restore reindexdb
41
Comandos mysql para backup bbdd cliente linea comando utilidad con funciones variadas de administración reparar tablas repara tablas myisam mostrar info sobre tablas
mysqldump mysql mysqladmin mysqlcheck myisamchk mysqlshow