TRANSACCIONES Y
CONTROL DE
CONCURRENCIA
PRESENTAN:
Bautista Valencia David Alejandro
Cesar Alejandro Montaño Cortés
Javier León Orozco
Darwin Woytila Díaz Simón
Asesor:
Carlos Miguel López Martínez
OCTUBRE 25, 2017
ÍNDICE
OPERACIONES UTILIZADAS
OPERACIONES UTILIZADAS
ROLLBACK. COMMIT.
EJEMPLO
Se suele hacer referencia a estas como las propiedades ACID (por sus iniciales en inglés). En 1970,
Jim Gray definió las propiedades que necesitaba tener una transacción confiable, y desarrolló
tecnologías para automatizarlas. Más tarde, en 1983, Andreas Reuter y Theo Härder crearon el
término "ACID" para describir estas 4 propiedades.
ATOMICIDAD
Todas las operaciones de la transacción son ejecutadas por
completo, o no se ejecuta ninguna de ellas (si se ejecuta la
transacción, se hace hasta el final).
II. PROPIEDADES ACID
CONSISTENCIA
Una transacción T transforma un estado consistente de Cualquier dato que se escriba en la base de datos tiene que
la base de datos en otro estado consistente, aunque T ser válido de acuerdo a todas las reglas definidas,
no tiene por qué preservar la consistencia en todos los incluyendo (pero no limitado a) los constraints, los cascades,
puntos intermedios de su ejecución. Un ejemplo es el los triggers, y cualquier combinación de estos.
de la transferencia de una cantidad de dinero entre dos
cuentas bancarias.
II. PROPIEDADES ACID
AISLAMIENTO (ISOLATION)
DURABILIDAD
ESTADOS
Una transacción debe estar en uno de los siguientes estados:
• Fallida: la transacción pasa a este estado tras descubrir que no puede continuar la
ejecución normal.
Una vez concluida una transacción, sus efectos son permanentes en el sistema. Las
modificaciones persisten aún en el caso de producirse un error del sistema.
III. ESTADOS DE UNA TRANSACCIÓN
NIVELES DE AISLAMIENTO Y
SECUENCIALIDAD
IV. NIVELES DE AISLAMIENTO Y
SECUENCIALIDAD
¿QUÉ ES CONCURRENCIA?
Niveles de bloqueo:
EN ORACLE
• Provee automáticamente una consistencia de lectura un query
para que todos los datos que el query necesite provengan de
un solo lugar al mismo tiempo.
EN ORACLE
EN ORACLE
¿QUÉ ES UN BLOQUEO?
Los bloqueos son los que se utilizan para evitar que dos transacciones
accedan al mismo tiempo al mismo recurso.
Usa automáticamente diferentes tipos de bloqueos para el control del
acceso concurrente a los datos y prevenir la interacción destructiva entre
usuarios.
Bloquea automáticamente los datos fuente durante la transacción para evitar
que otras transacciones hagan algo requiriendo acceso exclusivo de los
mismos datos fuente.
VI. MÉTODOS DE BLOQUEO
¿QUÉ ES UN BLOQUEO?
Se utilizan bloqueos a nivel de fila: Un Interbloqueo ocurre cuando
una transacción espera cuando dos o más usuarios están
intenta modificar una fila esperando datos bloqueados por
modificada por una transacción no los otros.
confirmada. ORACLE no escalona Oracle automáticamente detecta
los bloqueos. situaciones de interbloqueo y los
resuelve abortando una de las
transacciones. Se detectan
mediante grafos de esperas.
VI. MÉTODOS DE BLOQUEO
EN ORACLE
BACKUP
Errores de Usuario
Como por ejemplo un usuario borrando una fila o
eliminando una tabla. Estos errores se solucionan
importando una tabla de una copia lógica anterior. Si no se
dispone de la copia lógica, se puede recuperar la BD en una
instancia auxiliar, exportar la tabla en cuestión de la
instancia auxiliar e importarla en la instancia operativa.
Fallos de Sentencias
RECUPERACIÓN DE LA BASE DE DATOS
Fallos de Sentencias
Se definen como la imposibilidad del SGBD Oracle de
ejecutar alguna sentencia SQL. Un ejemplo de esto se
produce cuando se intenta una selección de una tabla que
no existe. Estos fallos se recuperan automáticamente
mediante un rollback de la transacción que contenta la
sentencia fallida. El usuario necesitará volver a ejecutar otra
vez la transacción cuando se haya solucionado la causa del
problema.
RECUPERACIÓN DE LA BASE DE DATOS
Fallos de Procesos
Es una terminación anormal de un proceso. Si el proceso
era un proceso de usuario, del servidor o de una aplicación
el PMON efectuará la recuperación del proceso. Si el
proceso era alguno de los de background, la instancia debe
de ser parada y arrancada de nuevo, proceso durante el
cual se recupera la caida efectuando un roll forward y
un rollback de las transacciones no confirmadas.
RECUPERACIÓN DE LA BASE DE DATOS