jueves, 11 de abril de 2013

investigacion

  1. investigar los conceptos de roolback, commit, recovery de un sgbd,
  2. investigar como se realizan dichas operaciones en mysql y oracle.



Rollback.-En tecnologías de base de datos, un rollback es una operación que devuelve a la base de datos a algún estado previo.

Commit.- Es el primer lenguaje de programación para la manipulación de cadenas y de reconocimiento de patrones. Se basa en la traducción automática de máquina, donde se pueden sustituir cadenas de símbolos por otras cadenas.

recovery de un sgbd.-
Los SGBD deben proporcionan instrumentos par evitar o remediar fallos. Ante cualquier tipo de fallo hay que asegurar que después de una actualización, la BD queda en estado consistente Un sistema de recuperación consiste en restaurar la BD a un estado que se sepa correcto, tras cualquier fallo que la haya dejado en un estado incorrecto o al menos sospechoso.
Un sistema de recuperación consiste en restaurar la BD a un estado que se
sepa correcto, tras cualquier fallo que la haya dejado en un estado incorrecto.

 Recuperación de BD:
“devolver la BD a un estado consistente”

En Oracle hay recuperación automática ante fallos, el proceso varía
dependiendo del tipo de fallo y las estructuras afectadas.
Recuperación Oracle
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)

 
Almacenan el estado de la estructura física de la BD.

• Contienen:

Nombre de la BD
Localización de los ficheros de datos y redo log
 Nombre de los Tablespaces
 Número de secuencia de log actual
Log histórico
información de las copias de seguridad (backup)
etc.
 Es necesario para montar, abrir y mantener la BD

Guían la recuperación. Sin este fichero la BD no podrá ser montada y la
recuperación sería dificultosa.

• Se recomienda como mínimo dos ficheros de control en discos diferentes

 
    EJEMPLOS   DE     ROLLBACK     Y       COMMIT.






     
     
    Comando de recuperación:
    RECOVER [AUTOMATIC] [FROM ‘localizacion’][BD]
    [ UNTIL CANCEL]
    [UNTIL TIME fecha]
    [UNTIL CHANGE entero]
    [USING BACKUP CONTROLFILE]

     
 
Oracle
 
Commit
 
COMMIT [WORK] [COMMENT 'comment_text']
 
COMMIT [WORK] [FORCE 'force_text' [,int] ]
 
 
Si ejecutamos:
DELETE FROM T_PEDIDOS WHERE COD_PEDIDO=15; 
COMMIT;+
 
Borrar un registro y guarda los cambios.

Ejemplo:
BEGIN
....

update alumnos set edad=20 where n_alumno=109;
update nuevos set apellido='perez' where n_alumno=200;
commit work;

...

EXCEPTION
WHEN OTHERS THEN
rollback work;
END;


Rollback
ROLLBACK [WORK] [TO [SAVEPOINT]'savepoint_text_identifier'];
ROLLBACK [WORK] [FORCE 'force_text'];
Si ejecutamos:
DELETE FROM T_PEDIDOS WHERE COD_PEDIDO=15; 
COMMIT;

Ejemplo:
create or replace procedure prueba (nfilas number)
as
begin
savepoint ninguna;
insert into tmp values ('primera fila');
savepoint una;
insert into tmp values ('segunda fila');
savepoint dos;
if nfilas=1 then
rollback to una;
else if nfilas=2 then
rollback to dos;
else
rollback to ninguna;
end if;
commit;
exception
when other then
rollback
end prueba;
 
Bibliografía
• Sistemas de gestion de Bases de Datos, Ramakrishnan, R., Gehrke, J.,
2007. (Capítulo 8)
• Fundamentos de sistemas de Bases de Datos, Elmasri, Ramez / Navathe,
Shamkant B. , 2007. (Capítulo 17)
• Fundamentos de Bases de Datos, 5ª Edicion. Silberschatz, Abraham;
Korth, Henry F. & Susarshan, S., 2006. (Capítulo 15 y 27)
• Oracle® Database Backup and Recovery Basics, 10g Release 2 (10.2)
http://download.oracle.com/docs/cd/B19306_01/backup.102/b14192/toc.
htm

No hay comentarios:

Publicar un comentario