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;
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 TABLEtbl_name
[,tbl_name
] ... FROM '/path/to/backup/directory
'
No hay comentarios:
Publicar un comentario