Ventajas de poseer una base de datos informatizada

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 17,67 KB

UT08: Recuperación de datos:



1) Posibilidades de copias de seguridad en Oracle:

Oracle dispone de cuatro herramientas:Herramienta RMAN: Opción preferente por su potencia y posibilidades.Utilizar los comandos del sistema.Enterprise Mánager: Ofrece la posibilidad de hacer copias de seguridad de tablas, esquemas, tablespaces individuales o la base de datos completa.Recuperaciones de tipo flashback: Consiste en hacer que toda la base de  datos o parte regrese a un punto anterior en el tiempo en el que los datos eran correctos.

2) Tipos de copias de seguridad:

En frío: La base de datos está apagada.En caliente: La base de datos está encendida.Lógicas: Se realizan en caliente y son las que permiten exportar o importar datos concretos de la Base de Datos.Físicas: Pueden ser en frío o en caliente, realizan una copia exacta de la base de datos.

3) Copias físicas en frio:

C0n la base de datos apagada y sin permitir acceso a los usuarios. Permite una copia exacta, pero en grandes sistemas de producción no se contempla ya que la BD tiene que estar en funcionamiento permanentemente.Estas copias consisten en copiar los archivos que constituyen las bases de datos. Los archivos que deben copiarse son:Los archivos de control, datos y Redo Log.Opcionalmente podemos copiar los archivos de parámetros de inicialización de la base de datos init.Ora y spfile.Ora. Copiar estos archivos proporciona una imagen exacta de la base de datos.Para restaurar la base de datos copiamos la copia de seguridad en los directorios correspondientes e iniciamos la base de datos con el comando STARTUP.

3) Copias de seguridad lógicas:

Las copias lógicas en leer datos de la base de datos y extraerlo generando un archivo de exportación que podrá ser recuperado con la orden IMPORT de Oracle. Se pueden importar usuarios, tablas, tablespaces y bases de datos completas.Las utilidades IMPORT y EXPORT van a permitir:Archivar datos históricos: Copias de los esquemas cada vez que se realiza algún cambio.Guardar definiciones de tablas con o sin datos como medida de protección ante fallos de usuarios.Transportar tablespaces de una base de datos a otra.Utilidad EXPORT: Se hace desde el intérprete de comando del Sistema Operativo, los parámetros más comunes son:USERID: nombre de usuario/contraseña de la cuenta que realiza la exportación. La palabra USERID es opcional.FILE: nombre del archivo de salida, por defecto es expdat.Dmp
GRANTS: Especifica si las concesiones sobre los objetos se exportan (Y) o no (N). Por defecto es Y.ROWS: Especifica si se exportan las filas de las tablas. Por defecto es Y.OWNER: Indica una lista de cuentas de la base de datos que se van a exportar.CONSTRAINTS: Especifica si se exportan las restricciones sobre las tablas. Por defecto Y.TRIGGERS: Especifica si se exportan los triggers. Por defecto Y.TABLES: Especifica la lista de tablas que se va a exportar.QUERY: Especifica la cláusula WHERE que se aplicará a cada tabla durante la exportación.TABLESPACES: Especifica los tablespaces que se deben transportar.Modos de exportación:Modo tabla: Se exportan las definiciones de las tablas, datos o las filas seleccionadas, concesiones de tablas del propietario, índices de tablas del propietario, índices del propietario y restricciones de las tablas. Modo usuario: Se exportan todos los objetos del esquema del usuario.Modo tablespace: Mueve los tablespace de una base de datos a otra.Modo de base de datos completa: Exporta todos los objetos de la base de datos excepto los esquemas SYS.Utilidad IMPORT: Recuperación de archivos de exportación. Los parámetros más comunes son: USERID: nombre de usuario/contraseña de la cuenta que realiza-la importación. La palabra USERID es opcional. Tienen que ser propietarios con privilegios DBA oIMP_FULL_DATABASE

FILE: nombre del archivo de exportación a importar.SHOW: especifica si el contenido del archivo debe mostrarse(S/N) en lugar de ejecutarse. Por defecto N.FROMUSER: lista de cuentas de la base de datos cuyos objetos deben leerse desde el archivo de exportación.

4) Recuperaciones de tipo Flashback:

Tecnología que permite arreglar errores de usuario sin necesidad de tirar  de las copias de seguridad. Consiste en hacer que toda la base de datos (o una tabla) regrese a un punto anterior en el tiempo. Área de rápida de recuperación: Esto es necesario para que funcione las recuperaciones de tipo flashback. Se trata de un espacio en el disco que  se dedica a almacenar los archivos necesarios que contengan la          información necesaria para poder retroceder a la base de datos a un punto seguro. Se puede establecer una cuota a fin de que dicho área no tome un tamaño excesivo. Hay que calibrar los estos parámetros:

DB_RECOVERY_FILE_DEST_SIZE

Tamaño que dejamos para el FRA.ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=5GDB_RECOVERY_FILE_DEST.
Ruta en la que se guardan los archivos  flashback de recuperación. Es recomendable que el FRA se encuentre en una     unidad de disco distinta a la de la base de datos.

DB_FLASHBACK_RETENTION_TARGET

Número máximo de minutos que podrá retroceder la operación flashback de la base de datos. Es decir, como mucho a qué instante del tiempo, contado en minutos a partir de ahora, podremos volver.Para activar el uso de flashback se utiliza:ALTER DATABASE FLASHBACK ON;Parámetro UNDO_RETENTION: Permite especificar el tiempo máximo que se admitirá para deshacer los cambios definitivos.Recuperaciones de tablas mediante flashback:Prerrequisitos:Tener el privilegio FLASHBACK ANY TABLE o el permiso FLASHBACK sobre la tabla a recuperar.Privilegios SELECT, INSERT, UPDATE Y ALTER sobre la tabla.Para usar un punto de restauración se debe tener asignado el rol  SELECT_CATALOG_ROLE o el permiso SELECT ANY DICTIONARY.Las tablas a recuperar deben tener activado el ROW MOVEMENT, que se activa con:ALTER TABLE tabla ENABLE ROW MOVEMENT;Hay que tener activada la posibilidad de flashback sobre la base de datos:ALTER DATABASE FLASHBACK ON;También debe estar activado en el tablespace al que pertenece la tabla:ALTER TABLESPACE nombre FLASHBACK ON;Para recuperar la tabla borrada se usa:FLASHBACK TABLE tabla TO BEFORE DROP;La tabla regresará. Algunas restricciones y los índices habrán cambiado de nombre. Debemos renombrarlas para tenerlas controladas.

UT9. Bases de datos distribuidas y replicadas 1. Bases de datos distribuidas:


Es una colección de datos que pertenecen lógicamente a un sólo sistema, pero se encuentra físicamente esparcido en varios "sitios" de la red, con el fin de que un usuario de cualquier sitio pueda obtener acceso a los datos de cualquier punto de la red tal como si todos los datos estuvieran almacenados en el sitio propio del usuario. El SGBDD, sistema gestor de bases de datos distribuidas, maneja todas las BDD haciendo que la distribución de los datos sea transparente para el usuario.
Ventajas de las BDD: Más rapidez en el acceso a los datos y capacidad de almacenamiento. Acceso más flexible. Escalabilidad. Fiabilidad y cierta capacidad de tolerancia a fallos.

Inconvenientes:

Costosos de implementar por la duplicidad de los recursos en términos de red y servidores. Dificultad de la administración de los datos ubicados en distintas localizaciones. Dependencia de las redes de comunicaciones para el correcto intercambio de los datos. Procesamiento de consultas. Propagación de actualizaciones. Administración del catálogo.

Tipos de BDD:

Dependiendo del tipo de componentes elegidos en la formación de una base de datos distribuida se pueden tener:Homogéneas. En estas el SGBD utilizado es el mismo para todas las bases de datos locales. Generalmente el SGBD proporciona la tecnología para acceder a las distintas bases de datos locales.Heterogéneas. Las bases de datos están distribuidas independientemente del SGBD utilizado como local. Puede que algunos sitios no conozcan a otros. Puede que solo ofrezcan facilidades limitadas para la cooperación de transacciones. En este caso, las aplicaciones que consultan la base de datos distribuida juegan un papel fundamental como mediador. Sistemas centralizados: Un solo DBA. Independencia de Datos: Organización de los datos es transparente para el programador. Reducción de redundancia y seguridad. Sistemas distribuidos: Control jerárquico: DBA global y DBA local. Transparencia en la Distribución: Localización de los datos es un aspecto adicional de independencia de datos. Replicación de Datos: Copias múltiples de datos que incrementa la disponibilidad de datos. Problemas de seguridad intrínsecos.

2.Componentes SGBDD:

 Para poder crear una base de datos distribuida hay que tener los siguientes componentes: Un SGBD. En conjunto de bases de datos locales en cada uno de los servidores que albergarán la base de datos. Una red de comunicaciones. Un diccionario de datos global que indique en qué ubicación está cada uno de los datos que componen la base de datos distribuida.

Funcionalidades de un SGBDD:

Accede a sitios remotos y transmite consultas y datos a través de varios sitios mediante una red de comunicación. Almacena el esquema de distribución y replicación de los datos en el catalogo del sistema. Establece las estrategias de ejecución de las consultas y las transacciones que acceden a los datos en más de un sitio. Decide sobre cual copia de los datos replicados acceder. Mantiene la consistencia de las copias de los datos replicados. Realiza la recuperación ante los fallos.

3. Almacenamiento datos:

Es el posicionamiento de los datos en el sistema y el esquema bajo el cual lo desea hacer. Los tipos de almacenamiento son: réplica y fragmentación.

Replicación de datos

El sistema conserva varias copias o réplicas idénticas de una tabla. Cada réplica se almacena en un nodo diferente.

Ventajas:

Disponibilidad: El sistema sigue funcionando aún en caso de caída de uno de los nodos. Aumento del paralelismo: Varios nodos pueden realizar consultas en paralelo sobre la misma tabla. Cuantas más réplicas existan de la tabla, mayor será la posibilidad de que el dato buscado se encuentre en el nodo desde el que se realiza la consulta, minimizando con ello el tráfico de datos entre nodos.

Inconveniente:

Aumento de la sobrecarga en las actualizaciones: El sistema debe asegurar que todaslas réplicas de la tabla sean consistentes. Cuando se realiza una actualización sobre unade las réplicas, los cambios deben propagarse a todas las réplicas de dicha tabla a lolargo del sistema distribuido.

Fragmentación de datos

Consiste en la división de la información de la BD en partes más pequeñas que se puedan repartir entre los nodos. El contenido de una tabla puede separarse en varios fragmentos que contendrán suficiente información como para poder reconstruir la tabla original en caso de que sea necesario. Cada fragmento se encontrará en un nodo diferente, pero esta distribución a través de distintos nodos no duplica los registros, solo existirá una copia de dada elemento, por lo que al no haber replicación, disminuye el coste de almacenamiento en detrimento de la disponibilidad de los datos en caso de caída de algún nodo.La fragmentación pude ser horizontal o vertical y se puede aplicar sucesiva o alternativamente sobre la misma tabla.

Fragmentación horizontal

Los fragmentos son subconjuntos de una tabla y se definen a través de una operación de selección. La tabla original se reconstruye en base a una operación de uníón de los fragmentos componentes.

Fragmentación vertical

Los fragmentos son subconjuntos de los atributos con sus valores. Para poder recomponer la tabla original, cada fragmento debe incluir la clave primaria de la tabla.

Fragmentación mixta


Como el mismo nombre indica es una combinación de las dos técnicas anteriores. Para que una fragmentación sea correcta, esta debe cumplir con las siguientes reglas: Debe ser completa, es decir, cada elemento de la tabla debe estar en algún fragmento.Debe ser reconstruible. Los fragmentos deben ser disjuntos.

4. Consultas distribuidas

Oracle basa su concepto de BDD en un objeto llamado DATABASE LINK. Los DATABASE LINKs son una conexión unidireccional entre una base de datos cliente y otra servidor. Se crea desde la base de datos que quiere referenciar a otra. Para que un usuario pueda crear estos DB Links son necesarios los siguientes privilegios.: CREATE DATABASE LINK (privado, en local).) CREATE PUBLIC DATABASE LINK(público). CREATE SESSION (En remoto) Para crear un DB link es necesario que exista la conexión entre las bases de datos a través de Oracle Net Services, por lo que se debe crear una entrada en el fichero tnsnames.Ora de la base de datos a la que se quiere referenciar.

5. Transacciones distribuidas

Una transacción distribuida es una transacción que contiene una o más sentencias y que se realiza en dos o más nodos dentro de un entorno de base de datos distribuido. Los elementos que pueden intervenir en una transacción distribuida son:

BD Cliente

Es un nodo que actúa como cliente donde se referencia la transacción distribuida. Esta BD tiene los DB links que conectan con el resto.

BD Servidor

Son las bases de datos que contienen la información que va a ser modificada por la transacción distribuida.

Coordinador Local

Es el nodo que debe referenciar datos sobre otros nodos para completar su parte de la transacción distribuida Coordinador Global.
El nodo donde se origina la transacción distribuida Commit Point Site.
Es el nodo que inicia las operaciones de COMMIT o ROLLBACK con las instrucciones dadas por el coordinador global. Las bases de datos con el valor mayor en este parámetro se convierten en COMMIT POINT SITE El SGBDD debe garantizar la atomicidad en la información de sus bases de datos, para ello se usa un mecanismo que se basa en tres pasos:

Fase de preparación

Es la primera fase y consiste en que el coordinador global informa a todos los nodos que se va a realizar COMMIT o ROLLBACK. Esto se traduce en que cada nodo se prepara para una finalización de la transacción distribuida. Para ello realiza dos tareas: Almacena la información de Redologs y genera un bloqueo distribuido sobre la tabla para prevenir lecturas.  

Fase de commit

Después de que todos los nodos se comprometen a realizar la transacción, se realizan los siguientes pasos: El coordinador global avisa al COMMIT POINT SITE de que se va a realizar el COMMIT. El COMMIT POINT SITE realiza el COMMIT. El COMMIT POINT SITE indica al coordinador global que hizo el COMMIT. Los coordinadores globales y locales envían mensajes a todos los nodos para hacer COMMIT de la transacción. Cada nodo realiza su parte local del COMMIT de la transacción distribuida y quitan el bloqueo distribuido generado. Todos los nodos notifican al coordinador global que han realizado el COMMIT.

Fase de olvido

Cuando todos notifican al COMMIT POINT SITE que se ha realizado el COMMIT, se realizan los siguientes pasos: COMMIT POINT SITE borra la información acerca del estado de la transacción distribuida. El COMMIT POINT SITE informa al coordinador global que ha borrado ese estado. El coordinador global borra la información de la transacción distribuida.

6. Replicación de bases de datos

La replicación es una técnica pensada para incrementar el rendimiento de los accesos y consultas a una base de datos distribuida mediante la introducción de redundancia en los datos. Para replicar una base de datos se necesita un nodo maestro, canalizador de todas las modificaciones sobre los datos y unos nodos esclavos que recibirán las actualizaciones del maestro. Estos cambios se almacenan en los ficheros de logs del SGBD para posteriormente poder ser aplicados por los nodos esclavos. Hay que tener en cuenta cuando se trabaja con bases de datos distribuidas replicadas, que todas las actualizaciones deben realizarse en el nodo maestro dejando los nodos esclavos solo para consultas. Se pueden distinguir dos tipos de replicación:

Síncrona

Los cambios se propagan cada vez que se realiza una operación. Se mantiene una conexión abierta entre el nodo maestro y los nodos esclavos para el intercambio constante de cambios en el nodo maestro.

Asíncrona

La más común. Los cambios se propagan cada cierto tiempo.

7. Las 12 reglas de un sistema distribuido

1.- Autonomía local. 2.- No dependencia de un sitio central. 3.- Operación continua. 4.- Independencia de ubicación. 5.- Independencia de fragmentación. 6.- Independencia de replicación. 7.- Procesamiento de consultas distribuidas.
8.- Administración de transacciones distribuidas. 9.- Independencia de hardware. 10.- Independencia de sistema operativo.  11.- Independencia de red. 12.- Independencia de DBMS.

Entradas relacionadas: