Está en la página 1de 3

Atomicidad en Acción: Garantizando Transacciones

Elaboración de la práctica:

1. Primero debemos de ejecutar el siguiente comando:

alter session set "_ORACLE_SCRIPT"=true;

Con la finalidad de permitir la creación de nuevos usuarios para la base de datos.

2. Creamos un usuario con los siguientes comandos para simular el escenario de


Atomicidad:

Mientras estamos conectado con el usuario System

CREATE USER cliente1 IDENTIFIED BY cliente1;

GRANT "CONNECT" TO cliente1;

3. Iniciamos sesión en SQL developer con cliente 1 para poder hacer la creación de las
tablas correspondiente y añadirle los inserts.

Abrir sql developer con los comandos:

cd /opt/sqldeveloper/

./sqldeveloper.sh

SCRIPTS: https://drive.google.com/drive/folders/1gLsuSrct77iNi_7IH3487Ki2CPA0Suup?
usp=sharing

4. Mire el siguiente ejemplo de atomicidad


Como se puede apreciar, se realizó un rollback debido a que se intentó modificar un dato de un
id que no existe.
5. Con base el ejemplo anterior y usando los scripts proporcionados, realice los siguiente:

a. Realización y Manejo de Excepciones en Transacciones:

Escriba una transacción que simule el envío de dinero de un usuario 1 a un


usuario 2. Implemente un manejo de excepciones que asegure que la
transacción solo se complete si el monto a enviar no supera el saldo disponible
en la cuenta de Juan. En caso contrario, la transacción debe gestionar
adecuadamente la situación para evitar un saldo negativo. Tome en cuenta la
siguiente estructura y tome captura de pantalla del resultado:

https://drive.google.com/file/d/14ag9l6WViwGQutfSfRNhvMFcdU6APeQk/view?usp=sharing

b. Evaluación del Efecto del ROLLBACK:

Realice capturas de pantalla que muestren el estado de los datos antes y


después de ejecutar un ROLLBACK en la transacción realizada. ¿Observa algún
cambio en los datos? Explique por qué sucede esto y cuál es el impacto del
ROLLBACK en la integridad de la base de datos.

c. Confirmación de Cambios con COMMIT:

Capture y compare el estado de los datos antes y después de aplicar un


COMMIT en la transacción. ¿Nota alguna diferencia? Discuta las razones detrás
de estos cambios y el efecto del COMMIT en la persistencia de los datos en la
base de datos.

También podría gustarte