viernes, 12 de abril de 2013

Modos de operacion de un SGBD


Rollback 
Operación que devuelve a la BD a un estado previo. La BD puede ser restaurada a una copia limpia incluso después de que se han realizado operaciones erróneas.
En SQL es un comando que hace que todos los cambios desde la ultima sentencia BEGIN WORK, o STAR TRANSACTION, sean descartados por la gestión de la BD relacional para que el estado de los datos sea ROLLBACK (Devuelto) a la forma que tenían antes de haber realizado los cambios. Son específicos de la conexión, quiere decir que si se hacen dos conexiones a la BD, un ROLLBACK echo sobre una conexión no afectara a otras conexiones. Esto es vital para un buen funcionamiento de concurrencia.
Mysql : mysql_query('begin');
mysql_query($query1) or die(mysql_query('rollback'));
mysql_query($query2) or die(mysql_query('rollback'));
mysql_query($query3) or die(mysql_query('rollback'));
mysql_query('commit'); 
Oracle : delete from emp;
rollback;          /* undo the changes */

Commit
En SQL finaliza una transacción de la BD dentro de un sistema gestor de la base de datos relacional y pone visibles todos los cambios a otros usuarios. El formato general es emitir una sentencia BEGIN WORK, una o mas sentencias SQL, y entonces la sentencia Commit.
Una sentencia Commit publicara cualquiera de los savepoints (puntos de recuperación) existentes que pueden estar en uso.
MySQL trae activado el modo autocommit, Para desactivar el autocommit, se puede desactivar el autocomit ejecutando el comando:
SET AUTOCOMMIT=0;
En Oracle:
insert into emp (empno,ename,sal) values (101,’Abid’,2300);
commit;

Recovery 
Un sistema de recuperación consiste en restaurar la BD a un estado correcto, tras cualquier fallo que la haya dejado en un estado incorrecto.
En Oracle hay recuperaciones automáticas ante los fallos el proceso varía dependiendo del tipo de fallo y las estructuras afectadas.
-Ficheros Redo Log: Ficheros de almacenamiento de cambios en la BD,
(Recovery).
- Ficheros de Control: Almacenan el estado de la estructura física de la BD.
Guían la recuperación.
- Rollback Segments: Almacenan las últimas sentencias realizadas sobre la
BD. Saben cuándo se ha confirmado o no una transacción.
- Backups de la BD: Copias de Seguridad, (Restoring)

BACKUP TABLE tbl_name [, tbl_name] ... TO '/path/to/backup/directory'
RESTORE TABLE tbl_name [, tbl_name] ... FROM '/path/to/backup/directory'

No hay comentarios:

Publicar un comentario