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

A
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
Q

Con qué herramienta de Oracle y comandos suyos se exportan e importan los datos?

A

Herramienta PUMP

  • expdp
  • impdp
26
Q

Como se llama la herramienta de linea de comandos de Oracle para parar, arrancar, etc.. el servicio en el servidor?

A

SQLPLUS

27
Q

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…

A

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
Q

Para qué sirve el comando de MySQL / Maria DB maria-db-secure-installation?

A

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
Q

Echar un vistazo a las opciones del comando mysqladmin

A
30
Q

Echar un vistazo a los comandos de administración de mysql del laboratorio del tema

A
31
Q

Qué similitudes y diferencias tiene PostgreSQL con MariaDB/MySQL?

A

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
Q

En qué ficheros se encuentra en PostgreSQL la configuración de autenticación de clientes y la configuración del servidor

A

Autenticación -> /etc/pg_hba.conf
Servidor -> /etc/postgresql/9.6/main/postgresql.conf

33
Q

Cómo se gestiona la seguridad en PostgreSQL y cómo es la sentencia?

A
  • Toda la seguridad se gestiona creando roles
    CREATE ROLE nombreRol LOGIN(rol de usuario)|SUPERUSER|CREATEDB|CREATEROLE
34
Q

Cómo se pueden particionar tablas en PosgreSQL?

A
  • Se pueden particionar tablas
    CREATE TABLE medidas (…..) PARTITION BY RANGE (campo)
35
Q

Cómo es la sentencia en PostgreSQL una tabla herede campos de otra?

A
  • Se maneja el concepto de herencia para tablas, para heredar campos de otra
    CREATE TABLE cliente (…) INHERITS (persona);
36
Q

Cómo se puede aplicar una política restrictiva por usuario y fila en PosgreSQL?

A
  • 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
Q

Con qué lenguajes se pueden crear procedimientos almacenados en PostgreSQL?

A
  • Se pueden implementar procedimientos almacenados en 4 lenguajes (PL/pgSQL, PL/TCL, PL/Perl, PL/Python)
38
Q

¿Qué es Navicat Premium en el entorno de administración de bases de datos?

A

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
Q

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:

A

Serializable, lectura confirmada, lectura no confirmada y lectura repetible.

40
Q

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

A

psql -d database -U user -W
\l
\dt

pg_ctl
psql
createdb / dropdb
createuser / dropuser
pg_dump / pg_dumpall
pg_restore
reindexdb

41
Q

Comandos mysql para

backup bbdd
cliente linea comando
utilidad con funciones variadas de administración
reparar tablas
repara tablas myisam
mostrar info sobre tablas

A

mysqldump
mysql
mysqladmin
mysqlcheck
myisamchk
mysqlshow