Академический Документы
Профессиональный Документы
Культура Документы
TECNOLGICO DE
TAPACHULA ALUMNO:
ERICK JONATHAN BURGUETE LOPEZ
DOCENTE:
MARIO FRANCISCO FONSECA LOZADA
MATERIA:
TALLER DE BASE DE DATOS
TRABAJO:
RESUMEN DE LA UNIDAD 4 CONCURRENCIA
CARRERA:
ING. EN SISTEMAS COMPUTACIONALES
SEMESTRE:
5
Los sistemas que tratan el problema de control de concurrencia permiten que sus
usuarios asuman que cada una de sus aplicaciones se ejecuta atmicamente, como si
no existieran otras aplicaciones ejecutndose concurrentemente. Esta abstraccin de
una ejecucin atmica y confiable de una aplicacin se conoce como una transaccin.
Un algoritmo de control de concurrencia asegura que las transacciones se ejecuten
atmicamente controlando la intercalacin de transacciones concurrentes, para dar la
ilusin de que las transacciones se ejecutan serial mente, una despus de la otra, sin
ninguna intercalacin.
Las ejecuciones intercaladas cuyos efectos son los mismos que las ejecuciones seriales
son denominadas serializables y son correctos ya que soportan la ilusin de la
atomicidad de las transacciones.
Permanencia Es la propiedad de las transacciones que asegura que una vez que
una transaccin finaliza exitosamente, sus resultados son permanentes y no
pueden ser borrados de la base de datos por alguna falla posterior. Por lo tanto,
los sistemas manejadores de base de datos aseguran que los resultados de una
transaccin sobrevivirn a fallas del sistema. Esta propiedad motiva el aspecto de
recuperacin de base de datos, el cual trata sobre cmo recuperar la base de
datos a un estado consistente donde todas las acciones que han finalizado con
xito queden reflejadas en la base.
Oracle garantiza que los datos devueltos por una consulta son consistentes con
respecto al tiempo en que empez la consulta.
Oracle observa el SCN (system change number) cuando la consulta entra en
ejecucin.
Solo los datos aceptados antes de dicho SCN sern utilizados.
Segmentos de anulacin se utilizan para buscar versiones anteriores de los datos.
Nivel de transaccin:
Datos vistos por todas las consultas de una transaccin son consistentes con
respecto a un punto en el tiempo.
Se debe indicar que la transaccin es Read-Only.
Si las transacciones son de solo lectura, se acta como en el caso anterior.
Si existen otro tipo de consultas (modificar, borrar,insertar..) se deben utilizar
bloqueos.
Eleccin de un nivel de aislamiento: los dos niveles siguientes proporcionan un alto grado
de concurrencia mediante la combinacin de multiversin y bloqueos.
read-committed:
Bloqueos en Oracle
Bloqueos son los mecanismos que utiliza Oracle para evitar que dos transacciones
accedan al mismo recurso.
Automticamente Oracle obtiene los bloqueos necesarios cuando ejecuta alguna
sentencia en SQL.
ORACLE utiliza el nivel menos restrictivo guindose por las siguientes reglas:
Se utilizan bloqueos a nivel de fila: una transaccin espera cuando intenta modificar una
fila modificada por una transaccin no confirmada.
ORACLE no escalona los bloqueo.
Interbloqueos: ocurren cuando dos o ms usuarios estn esperando datos bloqueados
por los otros. Oracle automticamente detecta situaciones de interbloqueo y los resuelve
abortando una de las transacciones. Se detectan mediante grafos de esperas.
4.4 INSTRUCCIONES COMMIT Y ROLLBACK
COMMIT
Begin tran
Insert into Mvtos Values (0150, Dep, 1500, 08-10-2008)
Insert into Mvtos Values (7120, Ret, 1500, 08-10-2008)
Update Cuentas Set Saldo = Saldo + 1 where Numero = 0150
Update Cuentas Set Saldo = Saldo 1 Where Numero = 7120
Commit tran
Con la instruccion commit tran se pone una marca para saber hasta que
punto se hizo la transaccion.
ROLLBACK
Esta funcion del SQL se utiliza para deshacer todas las modificaciones
realizadas desde la ltima confirmacin.
Ejemplo
Begin tran
<Comandos SQL>
<Comandos SQL>
Save tran Puntoseg
<Comandos SQL>
<Comandos SQL>
If @@ERROR <> 0
Rollback tran Puntoseg (cancela todo desde aqu hasta el punto de
guardado)
Else
Commit tran