b4t2 - Admon BBDD Flashcards
Qué dos tipos de mecanismos de seguridad se establecen en las BBDD por el DBA?
Disponibilidad -> HA
Vistas -> Permisos
En Oracle, cuando se crea una instancia de Oracle, cuántas BBDD se crean?
Una sola BBDD, no es una por aplicación como SQLServer, MySql, etc…
Cuáles son los puertos de ..?
Oracle
MySql
SQL Server
PostgreSQL
Oracle -> 1521 (antes, el clásico), 2483 (ahora)
MySql -> 3306
SQLServer -> 1433
PostgreSQL -> 5432
Añadir a excel de puertos
Qué son los siguientes conceptos de la arquitectura de Oracle?
- Proceso Usuario
- PGA
- Listener
- SGA
- Procesos en segundo plano
- 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,…
En cuanto a la estructura lógica de almacenamiento en Oracle, qué elementos hay, de arriba a abajo?
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.
Qué tablespaces por defecto hay en Oracle y para qué son?
USERS
SYSTEM -> Diccionario de datos
SYSAUX
Qué tres tipos de ficheros tiene una Base de Datos SQL Server y qué extensión tienen?
Primary (.mdf) -> Principales, apuntan al resto
Secondary (.ndf) -> Opcionales por usuario
Transaction log (.ldf) -> Logs para recuperar la BBDD
Dentro de las acciones que suele hacer un BDA está la de creación de tablespaces. ¿Cómo es la sentencia?
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
….;
Dentro de las acciones que suele hacer un BDA está la de creación de tablas. ¿Cómo es la sentencia?
CREATE TABLE alumnos
TABLESPACE ts_data -> Indica en qué ts se crea la tabla
STORAGE (INITIAL 20K NEXT 30K MAXEXTENS 50)
….;
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?
CREATE USER nominasowner
IDENTIFIED BY “password”
DEFAULT TABLESPACE ts_data
TEMPORARY TABLESPACE ts_tem;
Qué es un esquema en Oracle y qué pasos se siguen para crearlo y dar permisos a un usuario?
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
Qué es el tipo de permiso CONNECT en oracle?
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
Para qué se usa la herramienta RMAN en Oracle?
Para hacer back_ups
BACKUP TABLESPACE ts_data
FORMAT /location
TAG ‘…’
FROM TIME … UNTIL TIME …
Para qué se usa el PL/SQL en Oracle?
Cómo se llama el estandar?
Como lenguaje para procedimientos almacenados
El estándar de sql se llama SQL/PSM
Cómo se crean columnas autoincrementales en Oracle?
CREATE SEQUENCE
Qué hay que hacer en Oracle para que un usuario vea las tablas de otro?
Crear un sinónimo y darle permisos
CREATE SYNONIM
+
GRANT SELECT ….
Cuál es la herramienta de solucion de cluster (HA) en Oracle?
Oracle RAC - Real Application Clusters
Qué es una vista materializada en Oracle?
Con qué sentencia se crea?
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 …..
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?
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
Qué tres ficheros por tabla se crean en MySql/MariaDB con el motor de almacenamiento MyISAM?
frm -> formato tabla
myd -> datos
myi -> índices
Qué son los ficheros BinLog y RelayLog en MySQL / MariaDB?
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.
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
Con qué comando se hacen las copias de seguridad en MySql/MariaDB?
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.
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